Skip to main content

Contributing

Branch Naming

Prefix personal branches with your username:

git checkout -b cdot65/feature-name

Code Style

Biome handles both linting and formatting. TypeScript strict mode is enabled project-wide.

pnpm run lint # Check for issues
pnpm run lint:fix # Auto-fix
pnpm run format # Format all files
Run all checks before committing
pnpm run lint && pnpm tsc --noEmit && pnpm test

Development Workflow

  1. Fork and clone the repo
  2. pnpm install
  3. Create a feature branch (cdot65/your-feature)
  4. Make changes
  5. Run checks: pnpm run lint && pnpm tsc --noEmit && pnpm test
  6. Commit and push
  7. Open a PR against main

PR Guidelines

  • Keep PRs focused — one logical change per PR
  • Include tests for new functionality
  • Ensure all CI checks pass
  • Update docs if behavior changes
CI must pass

All of these are required before merge:

  • pnpm run lint — Biome lint
  • pnpm run format:check — Biome format
  • pnpm tsc --noEmit — TypeScript type-check
  • pnpm test — Full test suite
  • Docs build (if docs changed)

Commit Messages

Use concise messages starting with a verb:

PrefixWhen to use
addNew feature or file
fixBug fix
updateEnhancement to existing feature
refactorCode restructuring, no behavior change
docsDocumentation only
testTest additions or fixes