Contributing
Find the right part of the monorepo, run focused checks and submit a reviewable change.
Find the right code
apps/web/— Angular recovery interface.apps/api/— localhost Fastify API.packages/contracts/— validated schemas and shared domain rules.workspace/— job-search interface and server.engine/— job-search scripts and source adapters.marketing-website/— this static website and documentation.
Run checks for your change
npm ci
npm test
npm run build:web
npm run test:e2e
npm run audit:releaseEnd-to-end tests require installed Playwright browsers. For website-only edits, use the marketing checks:
node marketing-website/build.mjs
node marketing-website/check.mjs
node --test marketing-website/tests/*.test.mjsLocal website builds label bundled screenshots as fallback captures. Production CI requires fresh screenshots from the current application commit.
Make a focused contribution
Read the contribution guide ↗ and the nearest repository instructions before editing. Discuss major behavior changes in an issue, describe the concrete problem in your PR and include relevant validation. Use unmistakably fictional fixtures. Keep persisted schema changes compatible through the documented migration process.
Frontend components use the session store rather than calling HTTP directly. Preserve explicit AI consent, source integrity and manual control of applications. Preserve applicable license notices when reusing code.
Report issues safely
For a public bug report, include the OS, Node version, steps to reproduce and redacted errors. Exclude keys, résumés, correspondence and session backups. Follow the security policy ↗ for vulnerabilities. The roadmap ↗ is the single source for future work; these guides describe current behavior.
Documentation lives with the code. Suggest a correction ↗.