Thanks for your interest in contributing! This guide helps you get started quickly.
git clone https://github.com/win4r/ClawTeam-OpenClaw.git
cd ClawTeam-OpenClaw
pip install -e ".[dev]"-
Create a branch from
main:git checkout -b feat/your-feature main
-
Make your changes — keep PRs focused on one thing.
-
Run checks before committing:
ruff check clawteam/ tests/ pytest tests/
-
Submit a PR against
main. Fill in the PR template.
- Linter: ruff —
ruff checkmust pass with zero warnings. - Line length: 100 characters (configured in
pyproject.toml). - Imports: sorted by ruff (
Irules). Runruff check --fixto auto-sort. - Python: 3.10+ — use
from __future__ import annotationsif needed.
- One PR = one feature/fix. Don't bundle unrelated changes.
- Add tests for new functionality. We have 450+ tests — keep the bar high.
- Keep diffs small. PRs over 500 lines are hard to review. If your feature is large, split it into sequential PRs.
- Update CHANGELOG.md under
[Unreleased]for user-facing changes.
pytest tests/ # full suite
pytest tests/test_foo.py -v # single file
pytest -k "test_name" # single testclawteam/
├── cli/ # CLI commands (typer)
├── spawn/ # Agent spawn backends (tmux, subprocess)
├── team/ # Team lifecycle, mailbox, tasks
├── templates/ # Team templates
├── transport/ # File-based message transport
└── workspace/ # Workspace overlay management
Open an issue or check existing ones — we're happy to guide first-time contributors.