2026-03-24 00:01:58 -04:00
|
|
|
# Contributing
|
|
|
|
|
|
|
|
|
|
Thanks for your interest in Agent Kanban! Here's how to get involved.
|
|
|
|
|
|
|
|
|
|
## Getting Started
|
|
|
|
|
|
|
|
|
|
1. Fork the repo and clone it locally
|
|
|
|
|
2. Install dependencies: `pnpm install`
|
2026-09-02 00:17:52 -04:00
|
|
|
3. Run migrations: `pnpm db:migrate`
|
|
|
|
|
4. Start dev server: `pnpm dev`
|
|
|
|
|
5. Run the exact tests selected for your changed behaviour
|
2026-03-24 00:01:58 -04:00
|
|
|
|
|
|
|
|
## Making Changes
|
|
|
|
|
|
2026-03-24 23:46:01 -04:00
|
|
|
- Create a feature branch from `main`
|
2026-03-24 00:01:58 -04:00
|
|
|
- Keep changes focused — one concern per PR
|
2026-09-02 00:17:52 -04:00
|
|
|
- Change or add the scenario in `spec/*.feature` first
|
|
|
|
|
- Add `[spec: capability/scenario]` to the cheapest proving test
|
|
|
|
|
- Run `pnpm lint:spec` and the exact changed test cases before submitting
|
2026-03-24 00:01:58 -04:00
|
|
|
|
|
|
|
|
## Code Style
|
|
|
|
|
|
|
|
|
|
- TypeScript throughout
|
|
|
|
|
- Thin repo layer for data access — no raw SQL in route handlers
|
|
|
|
|
- Centralized error handling via `HTTPException`
|
|
|
|
|
- Short functions (< 30 lines), small files (< 300 lines)
|
|
|
|
|
- Name things clearly — if it needs a comment to explain *what*, rename it
|
|
|
|
|
|
|
|
|
|
## Commit Messages
|
|
|
|
|
|
|
|
|
|
Use [Conventional Commits](https://www.conventionalcommits.org/):
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
feat(api): add task dependency cycle detection
|
|
|
|
|
fix(cli): handle missing config file on first run
|
|
|
|
|
refactor(web): extract activity log into standalone component
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Database Migrations
|
|
|
|
|
|
|
|
|
|
If your change modifies the D1 schema:
|
|
|
|
|
|
2026-09-02 00:17:52 -04:00
|
|
|
1. Create a new SQL file in `migrations/`
|
2026-03-24 00:01:58 -04:00
|
|
|
2. Name it `NNNN_description.sql` (sequential number)
|
|
|
|
|
3. Include both the schema change and any data backfill
|
2026-09-02 00:17:52 -04:00
|
|
|
4. Test with `pnpm db:migrate`
|
2026-03-24 00:01:58 -04:00
|
|
|
|
|
|
|
|
## Reporting Issues
|
|
|
|
|
|
|
|
|
|
Open an issue with:
|
|
|
|
|
- What you expected vs. what happened
|
|
|
|
|
- Steps to reproduce
|
|
|
|
|
- Environment (OS, Node version, browser)
|
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
2026-03-24 00:09:45 -04:00
|
|
|
By contributing, you agree that your contributions will be licensed under the [FSL-1.1-ALv2](LICENSE) license.
|