Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 1.37 KB

File metadata and controls

33 lines (23 loc) · 1.37 KB

Contributing

Contributor License Agreement

First-time contributors are asked to sign our CLA — a bot comments on your first pull request and signing is a single reply (I have read the CLA Document and I hereby sign the CLA). In short: you keep the copyright to your work and grant the maintainer the right to distribute it under other terms too (e.g. a commercial license). The released code stays AGPL-3.0; the CLA is what keeps dual-licensing possible without chasing every past contributor. Unsigned PRs can't be merged.

Commit messages

Commits follow Conventional Commits, enforced by commitlint via a git hook:

feat: add frame snap guides
fix(server): close stale websocket rooms
chore: bump dependencies

Common types: feat, fix, chore, refactor, style, docs, test, ci, perf.

Code style

  • Prettier formats everything (npm run format); no semicolons, single quotes, 120 columns.
  • ESLint (npm run lint) covers TS + React hooks. Warnings are tolerated tech debt; errors block.
  • npm run typecheck must pass.

A pre-commit hook (husky + lint-staged) runs ESLint and Prettier on staged files, and a commit-msg hook validates the message. Hooks install automatically via npm install (the prepare script).

CI runs typecheck, lint, format check, and build on every push and PR.