Contributing¶
Thank you for your interest in contributing to Agent Board!
Guidelines¶
Code Quality¶
- Use TypeScript strict mode — no
anytypes - Follow existing patterns and conventions
- Keep functions under 50 lines where possible
- Use descriptive variable and function names
- Add JSDoc comments for public APIs
Commits¶
Use conventional commit messages:
feat: add new backend support for Ollama
fix: resolve path traversal in file write handler
docs: update backend selection guide
refactor: extract agent orchestration from main.ts
test: add YAML parser edge case tests
Pull Requests¶
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes
- Run tests:
npm test - Build:
npm run build:all - Submit a pull request with a clear description
Security¶
- Never use
execSync— always useexecFileSyncfor subprocess calls - Validate all file paths against workspace boundaries
- Use crypto-grade nonces for CSP
- Don't trust user input or agent output without validation
Architecture Decisions¶
When proposing architectural changes:
- Describe the problem clearly
- Propose at least two alternatives
- Explain trade-offs
- Document the decision in
/docs/
Reporting Issues¶
- Use GitHub Issues
- Include VS Code version, OS, and extension version
- Provide reproduction steps
- Attach relevant logs from the "Agent Board" output channel