Contributing to nanobot
Description
Thank you for being here. nanobot is built with a simple belief: good tools should feel calm, clear, and humane. We care deeply about useful features, but we also believe in achieving more with less:
Installation
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open the source below and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
README
Contributing to nanobot
Thank you for being here.
nanobot is built with a simple belief: good tools should feel calm, clear, and humane. We care deeply about useful features, but we also believe in achieving more with less: solutions should be powerful without becoming heavy, and ambitious without becoming needlessly complicated.
This guide is not only about how to open a PR. It is also about how we hope to build software together: with care, clarity, and respect for the next person reading the code.
Maintainers
| Maintainer | Focus |
|---|---|
| @re-bin | Project lead, main branch |
| @chengyongru | nightly branch, experimental features |
Branching Strategy
We use a two-branch model to balance stability and exploration:
| Branch | Purpose | Stability |
|---|---|---|
main |
Stable releases | Production-ready |
nightly |
Experimental features | May have bugs or breaking changes |
Which Branch Should I Target?
**Target `nightly` if your PR includes:**
- New features or functionality
- Refactoring that may affect existing behavior
- Changes to APIs or configuration
**Target `main` if your PR includes:**
- Bug fixes with no behavior changes
- Documentation improvements
- Minor tweaks that don't affect functionality
**When in doubt, target `nightly`.** It is easier to move a stable idea from `nightly` to `main` than to undo a risky change after it lands in the stable branch.
How Does Nightly Get Merged to Main?
We don't merge the entire `nightly` branch. Instead, stable features are **cherry-picked** from `nightly` into individual PRs targeting `main`:
nightly ──┬── feature A (stable) ──► PR ──► main
├── feature B (testing)
└── feature C (stable) ──► PR ──► main
This happens approximately **once a week**, but the timing depends on when features become stable enough.
Quick Summary
| Your Change | Target Branch |
|---|---|
| New feature | nightly |
| Bug fix | main |
| Documentation | main |
| Refactoring | nightly |
| Unsure | nightly |
Development Setup
Keep setup boring and reliable. The goal is to get you into the code quickly:
# Clone the repository
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Lint code
ruff check nanobot/
# Format code
ruff format nanobot/
Code Style
We care about more than passing lint. We want nanobot to stay small, calm, and readable.
When contributing, please aim for code that feels:
- Simple: prefer the smallest change that solves the real problem
- Clear: optimize for the next reader, not for cleverness
- Decoupled: keep boundaries clean and avoid unnecessary new abstractions
- Honest: do not hide complexity, but do not create extra complexity either
- Durable: choose solutions that are easy to maintai
Related Agents
Django Build Resolver
Django/Python build, migration, and dependency error resolution specialist. Fixes pip/Poetry errors, migration
Development Openai Codex CLI
(55.8k ⭐) - Lightweight coding agent that runs in your terminal.
Development src/agents/ — 11 Agent Definitions
**Generated:** 2026-04-11
Development Cavecrew Builder
>
Development Cavecrew Investigator
>
Development Cavecrew Reviewer
>
Development Related Skills
Auto Update
Pull the latest ECC repo changes and reinstall the current managed targets.
Ecc Guide
Navigate ECC's current agents, skills, commands, hooks, install profiles, and docs from the live repository su
Epic Claim
Claim an epic issue, stamp coordination state, and sync local ownership.