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
- Fork and clone the repo
pnpm install- Create a feature branch (
cdot65/your-feature) - Make changes
- Run checks:
pnpm run lint && pnpm tsc --noEmit && pnpm test - Commit and push
- 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 lintpnpm run format:check— Biome formatpnpm tsc --noEmit— TypeScript type-checkpnpm test— Full test suite- Docs build (if docs changed)
Commit Messages
Use concise messages starting with a verb:
| Prefix | When to use |
|---|---|
add | New feature or file |
fix | Bug fix |
update | Enhancement to existing feature |
refactor | Code restructuring, no behavior change |
docs | Documentation only |
test | Test additions or fixes |