Thanks for contributing.
This repository is intentionally governance-first. The fastest way to contribute successfully is to understand the supported architecture and then work through the scaffold, contracts, tests, and docs instead of bypassing them.
Read these files in order before proposing structural changes:
README.mddocs/BLUEPRINT.mddocs/QUALITY_GATES.mddocs/ADD_MODULE.mddocs/RULE_TO_GATE_CATALOG.mdAGENTS.mdif you are using AI coding tools in this repo
Prerequisites:
- .NET 10 SDK
- Node.js with Corepack and pnpm
- PostgreSQL
mkcertfor local HTTPS frontend development if you use Vite dev mode
Install frontend dependencies:
Set-Location web
corepack enable
pnpm install
Pop-LocationSet the database connection string for local work:
$env:ConnectionStrings__BaselineDatabase = "Host=localhost;Database=baseline;Username=postgres;Password=postgres"Start the application through the supported path:
pwsh ./scripts/Start-ApiHost.ps1Add a new module shell:
pwsh ./scripts/New-Module.ps1 -SpecFile templates/module/module-spec.example.jsonBefore adding a new cross-module *.PublicContracts reference, check headroom against the per-module cap (BP-033):
pwsh ./scripts/Report-ModuleDependencies.ps1Refresh OpenAPI and generated TypeScript contracts after API changes:
pwsh ./scripts/Generate-Contracts.ps1 -Configuration ReleaseRun the supported validation wall:
pwsh ./scripts/Invoke-LocalGates.ps1When you need a targeted rerun after a fix, use the canonical gate dispatcher instead of reassembling raw command lists by hand:
pwsh ./scripts/Invoke-CiGate.ps1 -Id <id>Use -IncludeSkipped when your local environment can satisfy heavyweight gates that default to skipLocally.
- Fix root causes instead of adding compatibility shims.
- Add or update tests for the behavior you changed.
- Update docs in the same review when workflow, architecture, setup, or supported scope changes.
- Keep the governed documentation set synchronized when a governed rule or enforcement path changes.
- Use the scaffold for structural onboarding. Do not create a new module by copying
SampleFeatureorKnowledgeBase. - Regenerate contracts when browser-consumed HTTP surface changes.
- Architecture or rule changes must keep
docs/BLUEPRINT.md,docs/QUALITY_GATES.md,docs/RULE_TO_GATE_CATALOG.md,README.md, andAGENTS.mdin sync when affected. - Module-add workflow changes must continue to flow through
scripts/New-Module.ps1anddocs/ADD_MODULE.md. - Security-sensitive behavior should be reviewed against
docs/SECRET_MANAGEMENT.mdandSECURITY.md.
By participating, you agree to follow CODE_OF_CONDUCT.md.
For vulnerability reporting, use the process in SECURITY.md instead of opening a public issue.