Contribute to dmsforall
The full guide is CONTRIBUTING.md in the repository. This page gives the short version and the links that matter for the documentation.
Set up a development environment
Section titled “Set up a development environment”cp .env.example .envpnpm installpnpm docker:uppnpm db:migratepnpm db:seedpnpm devpnpm docker:* drives docker-compose.dev.yml, which uses the Compose project name dmsforall-dev. It starts PostgreSQL and Redis only. Add --profile containers to run the whole development stack in containers.
The API runs on port 3000 and the web interface on port 5173. The demo accounts are listed in the contributing guide.
Before you open a pull request
Section titled “Before you open a pull request”Run these checks in this order:
pnpm --filter @dfa/shared buildpnpm typecheckpnpm lintpnpm format:checkpnpm --filter @dfa/web i18n:checkpnpm testSend a change
Section titled “Send a change”- Branch from
dev, with a name such asfeat/name,fix/nameordocs/name. - Write Conventional Commits, and sign off each commit with
git commit -s. - Open a pull request against
dev. Keep one topic per pull request.
Keep the documentation right
Section titled “Keep the documentation right”The documentation is part of the change. When you change a behaviour, update the page that describes it, and read the whole page again, not only the paragraph you edited.
Documentation pages are in English. Interface strings are in French first, and then in German and Italian.
Architecture and decisions
Section titled “Architecture and decisions”- Architecture: components, domains and conventions.
- Design: colours, typography, density and accessibility rules. In French.
- Decision records: the decisions that shape the code.