Guidelines for contributing to this project, including both human and AI-assisted development workflows.
- Getting Started
- Development Workflow
- Commit Conventions
- Pull Request Process
- AI Agent Contributions
- Code Standards
- Fork and clone the repository
- Install dependencies for your stack (see
agentkit discoveroutput) - Run
retort syncto generate AI tool configurations - Create a feature branch from
main
This project follows a 5-phase lifecycle model:
- Discovery — Understand the problem, review existing docs
- Planning — Design the solution, write ADRs for significant decisions
- Implementation — Write code, add tests, run
/checklocally - Validation — Create PR, pass CI, get code review
- Ship — Merge, update changelog, monitor deployment
See UNIFIED_AGENT_TEAMS.md for full details.
Use Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types: feat, fix, docs, style, refactor, test, chore, ci, perf
Examples:
feat(api): add user registration endpointfix(auth): handle expired token refreshdocs(readme): update setup instructionschore(deps): update vitest to v2.1
- Ensure your branch is up to date with
main - Run all quality gates locally:
retort validate - If you changed
.agentkit/spec/*.yaml, runpnpm --dir .agentkit retort:syncand commit the regenerated outputs - Create a PR — title MUST use Conventional Commits format:
type(scope): description- Example:
feat(auth): add OAuth2 login flow— NOTPlan: Add OAuth2 login flow - CI enforces this and will reject non-conforming titles
- Example:
- All CI checks must pass (including drift check for generated files)
- Request review from the relevant team (see UNIFIED_AGENT_TEAMS.md)
- Address review feedback
- Squash-merge when approved
When using AI agents (Claude Code, Cursor, Copilot, etc.):
- Generated configuration files (marked
GENERATED by Retort) should not be edited directly — modify the spec and runretort syncinstead - Use
/orchestratefor multi-team coordination tasks - Use
/checkto validate changes before committing - AI agents operate within the permission model defined in
.claude/settings.json - Hook scripts provide guardrails against destructive actions
Code standards are defined per tech stack in .agentkit/spec/rules.yaml.
Key conventions:
- Follow the linting and formatting rules for your language
- Write tests for new functionality
- Document public APIs
- Keep changes small and focused
- No hardcoded secrets or credentials
This guide is maintained by Retort. Run pnpm --dir .agentkit retort:sync to regenerate.