Thank you for your interest in contributing to Automagik Forge! We welcome contributions from the community and are excited to have you as part of our journey to make AI-assisted development more structured and reliable.
- Code of Conduct
- Getting Started
- How to Contribute
- Development Guidelines
- Pull Request Process
- Issue Guidelines
- Communication
We are committed to providing a welcoming and inclusive environment for everyone. By participating in this project, you agree to:
- Be respectful and considerate in your communications
- Accept constructive criticism gracefully
- Focus on what is best for the community and project
- Show empathy towards other community members
Unacceptable behavior includes harassment, trolling, or any form of discriminatory language or actions. Violations may result in temporary or permanent exclusion from the project.
-
Read the Documentation
- README.md - Project overview and features
- DEVELOPER.md - Development setup and architecture
- Roadmap - Current initiatives and planned features
-
Set Up Your Development Environment
- Follow the instructions in DEVELOPER.md
- Ensure all tests pass before making changes
- Familiarize yourself with the codebase structure
-
Join the Community
- Discord - Ask questions and discuss ideas
- GitHub Issues - Report bugs and request features
We welcome various types of contributions:
Found a bug? Please report it! Include:
- Clear description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Node version, etc.)
- Screenshots or error logs if applicable
Have an idea? We'd love to hear it! Before requesting:
- Check if it aligns with our roadmap
- Search existing issues to avoid duplicates
- Explain the use case and why it would benefit users
- Fix typos or clarify existing docs
- Add examples or tutorials
- Improve API documentation
- Translate documentation (future)
- Bug fixes
- Feature implementations
- Performance improvements
- Test coverage improvements
- Refactoring (with clear justification)
- UI/UX improvements
- Icon or logo designs
- Mockups for new features
Before starting work, please ensure your contribution aligns with:
-
Vibe Coding++™ Philosophy
- Human orchestration, not AI automation
- Structured task management over chat-based workflows
- Code understanding over code generation
-
Project Roadmap
- Check our public roadmap
- Discuss larger features in an issue first
- Ensure your work doesn't conflict with planned initiatives
-
Simplicity and Maintainability
- Prefer simple solutions over complex ones
- Follow existing code patterns
- Write self-documenting code with clear naming
- Format: Run
cargo fmt --allbefore committing - Lint: Ensure
cargo clippy --all --all-targets --all-features -- -D warningspasses - Tests: Add tests for new functionality
- Documentation: Add rustdoc comments for public APIs
- Error Handling: Use
Resultand?operator appropriately
- Format: Run
npm run format:checkbefore committing - Lint: Ensure
npm run lintpasses - Types: No
anytypes (use proper TypeScript types) - Components: Follow existing component patterns
- Hooks: Use React hooks appropriately
- Accessibility: Ensure components are accessible (ARIA labels, keyboard navigation)
- Commits: Write clear, descriptive commit messages
feat: add task filtering by executor fix: resolve worktree cleanup race condition docs: update MCP integration guide refactor: simplify event streaming logic - Comments: Explain "why", not "what" (code should be self-documenting)
- Dependencies: Minimize new dependencies; justify any additions
- Security: Never commit secrets, API keys, or sensitive data
For significant changes:
- Open an issue describing the problem and proposed solution
- Wait for feedback from maintainers
- Get approval before starting implementation
This prevents wasted effort on changes that might not align with project direction.
# Start from dev branch
git checkout dev
git pull origin dev
# Create feature branch
git checkout -b feature/your-feature-name
# or
git checkout -b fix/bug-description- Follow the Development Guidelines
- Write tests for new functionality
- Update documentation as needed
- Ensure all tests pass locally
# Run all checks
npm run check
# Test specific areas
cargo test --workspace # Backend tests
cd frontend && npm run check # Frontend testsgit add .
git commit -m "feat: add your feature description"Use conventional commit types:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasks
git push origin feature/your-feature-nameThen create a Pull Request on GitHub:
- Target branch:
dev(notmain) - Title: Clear, concise description
- Description: Include:
- What changes were made
- Why these changes were needed
- Any breaking changes
- Screenshots/GIFs for UI changes
- Link to related issues
- Respond to feedback promptly and professionally
- Make requested changes in new commits
- Update your PR description if scope changes
- Be patient - reviews may take time
Once approved and all checks pass:
- Maintainers will merge your PR
- Your contribution will be included in the next release
- You'll be credited in release notes
- Search existing issues to avoid duplicates
- Check the roadmap to see if it's already planned
- Try the latest version - your issue may be fixed
Use the bug report template (if available) and include:
**Description**
Clear description of the bug
**To Reproduce**
1. Go to '...'
2. Click on '...'
3. See error
**Expected Behavior**
What you expected to happen
**Actual Behavior**
What actually happened
**Environment**
- OS: [e.g., macOS 13.0, Ubuntu 22.04, Windows 11]
- Node.js version: [e.g., 18.17.0]
- pnpm version: [e.g., 8.6.0]
- Forge version: [e.g., 0.1.0]
**Logs/Screenshots**
Any relevant error messages or screenshots**Problem**
What problem does this feature solve?
**Proposed Solution**
How would you like this to work?
**Alternatives Considered**
What other approaches did you consider?
**Additional Context**
Any mockups, examples, or additional information- GitHub Issues: Bug reports, feature requests, and discussions
- Discord: Real-time chat, questions, and community discussion
- Pull Requests: Code review and implementation details
- Email: security@namastex.ai for security vulnerabilities (DO NOT open public issues for security issues)
- Be respectful: Treat everyone with kindness and respect
- Be patient: Maintainers are often volunteers with limited time
- Be clear: Provide context and details in your communications
- Be constructive: Focus on solutions, not just problems
- Stay on topic: Keep discussions relevant to the issue/PR at hand
We value all contributions! Contributors will be:
- Listed in release notes
- Credited in the repository
- Acknowledged in our community
Significant contributors may be invited to join the core team.
If you have questions not covered in this guide:
- Check DEVELOPER.md for technical questions
- Search GitHub Issues
- Ask in Discord
- Open a new issue with the "question" label
By contributing to Automagik Forge, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to Automagik Forge! Together, we're building a better way for humans and AI to collaborate on code. 🚀