- Fork the repository
- Clone your fork:
git clone https://github.com/reaatech/agent-runbook-generator.git - Install dependencies:
npm install - Create a branch:
git checkout -b feature/your-feature
# Start development mode
npm run dev
# Run tests
npm run test
# Run tests in watch mode
npm run test:watch
# Lint and type check
npm run lint
npm run typecheck
# Format code
npm run format- Ensure all tests pass:
npm run test:ci - Ensure linting passes:
npm run lint - Ensure type checking passes:
npm run typecheck - Update documentation if needed
- Add tests for new functionality
- Update the CHANGELOG.md with your changes
- Use TypeScript strict mode
- Follow ESLint rules (flat config)
- Use Prettier for formatting
- Write meaningful commit messages
- Unit tests go in
tests/unit/ - Integration tests go in
tests/integration/ - Test files should end with
.test.ts - Aim for 80%+ code coverage
- Create generator in
src/<section>/ - Add section type to
src/types/domain.ts - Register in
src/runbook/runbook-builder.ts - Add tests
- Add tool definition in
src/mcp-server/tools/ - Implement handler in
src/mcp-server/mcp-server.ts - Add tests
- Add provider adapter in
src/agent/provider-adapter.ts - Add configuration options
- Add tests
Follow conventional commits:
feat: add new featurefix: fix bug in moduledocs: update documentationtest: add tests for featurerefactor: refactor codechore: update dependencies
- Be respectful and inclusive
- Provide constructive feedback
- Accept constructive criticism
- Focus on what's best for the community
By contributing, you agree that your contributions will be licensed under the MIT License.