Contributing
Local Workflow
npm install
npm run check
npm test
npm run dashboard:buildUse rg for search and keep changes scoped to the active task.
CLI Checks
npm run cli -- --help
npm run cli -- pull --dry-run --demoFor real Postgres dry-run work, use a temporary project with proofmark.json and a disposable Postgres database.
Test Expectations
Add focused tests when changing:
- config loading
- Prisma schema parsing
- SQL construction
- masking behavior
- evidence/certificate output
- dashboard server function behavior
Run these before handing off:
npm run check
npm test
npm run dashboard:buildDocs Site Freshness
The VitePress docs are built into site/docs/, which is committed because the Cloudflare deploy serves ./site directly with no build step. After editing any source under docs/, rebuild and commit the output:
npm run docs:build
git add site/docsnpm run docs:check rebuilds and fails if site/docs/ has drifted from source. A pre-push hook runs it automatically — enable it once per clone with:
git config core.hooksPath scripts/hooksDocs Boundary
Repo docs are for contributors and maintainers. Keep private stakeholder decks, customer discovery notes, pricing, positioning, and market strategy out of this repo.
The root DECK.md is the exception: it is a public forwarding deck for the current product story, and it should link back to canonical docs instead of copying implementation details.
Use /home/watthem/Vaults/projects/proofmark for internal business material.
Review Priorities
- Does the change preserve local-first behavior?
- Does dry-run remain read-only?
- Are demo paths explicit?
- Are source values and credentials kept out of logs?
- Are tests scoped to the changed behavior?