Contributing
Contributions are welcome. CaptureFlow is AGPL-3.0-only.
Sign the CLA
Contributions require signing the Contributor License Agreement. The CLA check runs automatically on pull requests.
Workflow
- Fork & branch off
main. - Make your change. Match the style of the surrounding code.
- Verify locally before opening a PR:bashNx caches results, so re-runs are fast.
pnpm lint pnpm typecheck pnpm build - Open a pull request. CI runs lint, typecheck, and build; the CLA bot checks your signature.
Project conventions
- Formatting: Prettier —
pnpm format(*.{ts,tsx,md,json,jsonc,css}). - Monorepo: put cross-app code in a
packages/*workspace (shared,ui, orquota) rather than duplicating it. - Commits: keep them focused; reference the area you touched.
- Docs: user-facing changes should update these docs (
apps/docs). Use the "Edit this page on GitHub" link at the bottom of any page.
Reporting bugs & ideas
Open an issue on GitHub with steps to reproduce, your OS/version, and — for the recorder — whether macOS permissions are granted (see Troubleshooting).
Where things live
See Architecture for the full repo map. Quick pointers:
- Recorder UI & capture →
apps/desktop/src - Dashboard, share/snap pages, API →
apps/web/app - Backend libs (auth, db, r2, quota) →
apps/web/lib - Shared types/UI/quota →
packages/*
