Skip to content

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.

Add Features

Have an idea? Check the roadmap or propose a new feature in discussions.

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


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.

Roadmap

See planned features and how to propose new ones.