First off, thank you for considering contributing to this project! 🎉
This framework was built by developers, for developers, and we welcome contributions from the community.
Before creating bug reports, please check existing issues. When creating a bug report, include:
- Clear title and description
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Your environment (OS, AI assistant, versions)
- Screenshots if applicable
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide detailed description of the suggested enhancement
- Explain why this enhancement would be useful
- Include examples of how it would work
- Fork the repository
- Create a branch from
main - Make your changes
- Test your changes thoroughly
- Update documentation if needed
- Submit a pull request
If you're adding a new agent:
-
Place in appropriate phase directory
agents/00-planning/- Planning phase agentsagents/01-documentation/- Documentation phase agentsagents/02-implementation/- Implementation phase agentsagents/03-validation/- Validation phase agents
-
Follow agent template structure:
# Agent Name **Role**: Brief description **Phase**: Planning/Documentation/Implementation/Validation ## Agent Metadata ```yaml name: agent-name description: What this agent does version: 1.0 category: planning|documentation|implementation|validation tags: [tag1, tag2]
[Detailed description]
[Triggers and conditions]
-
Update agents/README.md with new agent
-
Update .cursorrules with routing logic if needed
If you're adding templates:
- Place in
templates/new-project/or appropriate subdirectory - Use clear variable names:
[VARIABLE_NAME] - Include usage instructions at the top
- Update
templates/README.md
If you're adding scripts:
- Place in
scripts/directory - Make executable:
chmod +x scripts/your-script.sh - Include help text:
your-script.sh --help - Add error handling and validation
- Use consistent style (follow existing scripts)
- Update documentation
- Keep documentation clear and concise
- Use examples where helpful
- Update INDEX.md if adding new docs
- Check for broken links
- Use ATX-style headers (
#,##,###) - Use fenced code blocks with language identifiers
- Keep lines under 120 characters where possible
- Use tables for structured data
- Use bash shebangs:
#!/usr/bin/env bash - Set error handling:
set -e - Include comments for complex logic
- Use functions for reusability
- Validate inputs
- Use 2-space indentation
- Quote strings with special characters
- Keep structure consistent with existing files
Before submitting a PR:
- Test scripts in clean environment
- Validate templates can be instantiated
- Check agents work with AI assistant
- Run prerequisites check script
- Verify documentation accuracy
- Clear role description
- Specific invocation triggers
- Input/output specifications
- Examples of usage
- Integration with other agents
- Purpose and use case
- Variable descriptions
- Usage instructions
- Examples
- Purpose and functionality
- Usage examples
- Command-line options
- Exit codes
Use conventional commit format:
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Examples:
feat(agents): add Python backend engineer agent
Add specialized agent for Python/FastAPI backend development.
Includes SQLAlchemy and Pydantic support.
Closes #42
docs(readme): update quick start instructions
Clarify prerequisites checking step and add troubleshooting section.
- Automated checks must pass
- Maintainer review required
- Changes requested addressed
- Approved by at least one maintainer
- Merged to main
Releases follow semantic versioning (MAJOR.MINOR.PATCH):
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes
- Check existing documentation
- Search existing issues
- Ask in discussions
We pledge to make participation in our project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
Positive behavior:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Unacceptable behavior:
- Trolling, insulting/derogatory comments, and personal attacks
- Public or private harassment
- Publishing others' private information without permission
- Other conduct which could reasonably be considered inappropriate
Project maintainers will remove, edit, or reject comments, commits, code, issues, and other contributions that are not aligned with this Code of Conduct.
Your contributions help make this framework better for everyone. We appreciate your time and effort!
Happy Contributing! 🚀