Pull requests
Open the pull request against main after the tests for the repository you touched are passing.
Before you start
Section titled “Before you start”The branch exists. Engine tests or app tests have been run for the code you changed.
Shared
Section titled “Shared”- Target
main. Use Conventional Commits.featis a minor release,fixis a patch, andfeat!orBREAKING CHANGEis a major release. Other types do not release. - There is no commitlint hook. Releases still depend on the message. Husky and lint-staged format staged files.
- Do not commit
.envor real credentials. Do not editLICENSE. - Report security issues through
SECURITY.mdin that repository, not a public issue. Other questions: info@hisptanzania.org. - Search existing issues first. Use the bug and feature templates.
fix(worker): ack step results oncefeat(api): list dead lettersfix(pipelines): reset form errors on editfeat(settings): persist route URL| Engine | App | |
|---|---|---|
| Default branch | main |
main |
| Release | semantic-release | semantic-release, zip attached |
| Commit types that release | feat, fix, breaking |
same |
| Hook | Husky, lint-staged | Husky, lint-staged, ESLint --max-warnings=0 |
| commitlint | none | none |
Engine changes that touch a handler, a queue, or the API need tests. Handler keys stay aligned with app forms. See Pipeline steps.
App changes keep HashRouter, send CAPS HTTP only through src/capsApi, put strings through i18n.t(), and build forms with React Hook Form and Zod.
This documentation site
Section titled “This documentation site”Edit src/content/docs/. Preview with pnpm dev at http://localhost:4321. A new folder with an index page directly under that directory becomes a header tab. A folder inside a guide becomes a sidebar group. When a command or label changes in caps-engine or caps-app, update the matching page in the same change.
The pull request says what changed and how you ran it. CI on the pull request is the definition of done.