Contributing to Cub¶
Thank you for your interest in contributing to Cub! This guide will help you get started, whether you're fixing a bug, improving documentation, or adding a new feature.
Ways to Contribute¶
Report Bugs¶
Found something broken? Open an issue with steps to reproduce.
Improve Documentation¶
Spotted a typo or unclear explanation? Documentation improvements are always welcome.
Build Integrations¶
Create new harnesses or task backends to extend Cub's capabilities.
Quick Start¶
Ready to dive in? Here's how to get started:
# Fork and clone the repository
git clone https://github.com/YOUR-USERNAME/cub.git
cd cub
# Install dependencies with uv (recommended)
uv sync
# Or with pip
pip install -e ".[dev]"
# Run tests to verify setup
pytest tests/ -v
See the Development Setup guide for detailed instructions.
Contribution Areas¶
| Area | Guide | Difficulty |
|---|---|---|
| Bug fixes | Fix issues and submit PRs | Beginner |
| Documentation | Improve docs and examples | Beginner |
| Test coverage | Add missing tests | Beginner |
| New harness | Add AI coding assistant support | Intermediate |
| New backend | Add task storage system | Intermediate |
| Core features | Implement roadmap items | Advanced |
Code of Conduct¶
We are committed to providing a welcoming and inclusive environment. Please:
- Be respectful and constructive in discussions
- Focus on the code, not the person
- Help others learn and grow
- Report unacceptable behavior to the maintainers
Getting Help¶
-
GitHub Issues
For bugs and feature requests.
-
Discussions
For questions and ideas.
Documentation Sections¶
Architecture¶
Understand Cub's hybrid Python/Bash architecture and module structure.
Development Setup¶
Set up your development environment with all required tools.
Adding Harnesses¶
Learn how to add support for new AI coding assistants.
Adding Backends¶
Create new task storage backends for different systems.