|
| 1 | +# Contributing to ClawTeam-OpenClaw |
| 2 | + |
| 3 | +Thanks for your interest in contributing! This guide helps you get started quickly. |
| 4 | + |
| 5 | +## Setup |
| 6 | + |
| 7 | +```bash |
| 8 | +git clone https://github.com/win4r/ClawTeam-OpenClaw.git |
| 9 | +cd ClawTeam-OpenClaw |
| 10 | +pip install -e ".[dev]" |
| 11 | +``` |
| 12 | + |
| 13 | +## Development workflow |
| 14 | + |
| 15 | +1. **Create a branch** from `main`: |
| 16 | + ```bash |
| 17 | + git checkout -b feat/your-feature main |
| 18 | + ``` |
| 19 | + |
| 20 | +2. **Make your changes** — keep PRs focused on one thing. |
| 21 | + |
| 22 | +3. **Run checks** before committing: |
| 23 | + ```bash |
| 24 | + ruff check clawteam/ tests/ |
| 25 | + pytest tests/ |
| 26 | + ``` |
| 27 | + |
| 28 | +4. **Submit a PR** against `main`. Fill in the PR template. |
| 29 | + |
| 30 | +## Code style |
| 31 | + |
| 32 | +- **Linter**: [ruff](https://docs.astral.sh/ruff/) — `ruff check` must pass with zero warnings. |
| 33 | +- **Line length**: 100 characters (configured in `pyproject.toml`). |
| 34 | +- **Imports**: sorted by ruff (`I` rules). Run `ruff check --fix` to auto-sort. |
| 35 | +- **Python**: 3.10+ — use `from __future__ import annotations` if needed. |
| 36 | + |
| 37 | +## PR guidelines |
| 38 | + |
| 39 | +- **One PR = one feature/fix.** Don't bundle unrelated changes. |
| 40 | +- **Add tests** for new functionality. We have 450+ tests — keep the bar high. |
| 41 | +- **Keep diffs small.** PRs over 500 lines are hard to review. If your feature is large, split it into sequential PRs. |
| 42 | +- **Update CHANGELOG.md** under `[Unreleased]` for user-facing changes. |
| 43 | + |
| 44 | +## Testing |
| 45 | + |
| 46 | +```bash |
| 47 | +pytest tests/ # full suite |
| 48 | +pytest tests/test_foo.py -v # single file |
| 49 | +pytest -k "test_name" # single test |
| 50 | +``` |
| 51 | + |
| 52 | +## Project structure |
| 53 | + |
| 54 | +``` |
| 55 | +clawteam/ |
| 56 | +├── cli/ # CLI commands (typer) |
| 57 | +├── spawn/ # Agent spawn backends (tmux, subprocess) |
| 58 | +├── team/ # Team lifecycle, mailbox, tasks |
| 59 | +├── templates/ # Team templates |
| 60 | +├── transport/ # File-based message transport |
| 61 | +└── workspace/ # Workspace overlay management |
| 62 | +``` |
| 63 | + |
| 64 | +## Need help? |
| 65 | + |
| 66 | +Open an issue or check existing ones — we're happy to guide first-time contributors. |
0 commit comments