Development
Branch Names
Use short-lived, descriptive branches. Branch names must begin with one of these prefixes:
feature/fix/hotfix/chore/docs/refactor/test/ci/
For example: docs/branch-name-policy.
PowerShell Checks
Test-ModuleManifest ./src/gly.psd1
npm test
npm run test:coveragenpm test creates JUnit XML, CTRF JSON, and a self-contained HTML report in artifacts/tests/local. The coverage command also creates a Cobertura report. CI publishes each test and coverage format as a separate artifact, including HTML and Markdown coverage reports, plus the ZIP and NuGet module packages. It rejects line-coverage regressions larger than one percentage point from the latest successful master run.
Performance Benchmarks
npm run bench
npm run bench:startup
npm run bench:renderingThe combined command runs the independent startup and rendering suites concurrently while each suite keeps its own timed measurements sequential. The startup benchmark uses isolated PowerShell processes. The rendering benchmark covers display-name, standard-table, and renderer paths against generated file-system data. Each rendering scenario runs with the PSStyle, Ansi, and PlainText style backends, and reports the backend in the StyleRenderer column for direct comparison.
Pass -- --OutputPath ./artifacts/benchmarks/local to the combined command to write startup.json and rendering.json to that directory.
CI runs both benchmark suites on ubuntu-latest, publishes their median timings in the workflow summary, and stores the JSON results as the benchmark-results artifact. Each run compares matching scenarios with the latest successful master push. A scenario fails the regression gate when its median time is more than 20% slower; the first run and newly added scenarios establish a baseline instead.
Documentation Site
npm ci
npm run docs:dev
npm run docs:build
npm run docs:previewThe VitePress source root is docs.
Repository Maintenance
GitHub repository metadata documents the contribution, support, and security processes:
Issue forms and the pull request template live in .github. Dependabot checks npm dependencies and GitHub Actions weekly. Repository administrators should keep private vulnerability reporting, Dependabot security updates, secret scanning, and push protection enabled.
