Contributing
Kaiord welcomes contributions. This guide covers the development workflow.
Setup
bash
git clone https://github.com/pablo-albaladejo/kaiord.git
cd kaiord
pnpm install
pnpm -r build
pnpm -r testBranch naming
feature/my-feature-- new featuresfix/my-fix-- bug fixesdocs/my-docs-- documentation changes
Commit messages
Follow Conventional Commits:
feat(core): add ZWO round-trip validation
fix(fit): handle empty lap arrays
docs: update architecture guidePR workflow
- Create a feature branch from
main - Implement changes following hexagonal architecture
- Add tests (TDD -- failing test first)
- Run
pnpm -r test && pnpm -r build && pnpm lint:fix - Add changeset:
pnpm exec changeset - Open a PR against
main
Code style
- TypeScript strict mode
- Max 100 lines per file (tests exempt)
- Max 40 lines per function
- Use
typenotinterface - Separate type imports:
import type { X } from "..." - Functions over classes
Next steps
- Architecture -- understand the codebase structure
- Testing -- testing practices
- Quick Start -- try Kaiord before contributing