diff --git a/AGENTS.md b/AGENTS.md index 7a1478f..a1b736c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,10 +4,12 @@ This file provides guidance to coding agents when working with code in this repo ## What this is -`crew` is a local coordination CLI for terminal coding agents (Claude Code, Codex CLI, -Gemini CLI, Copilot CLI, Antigravity CLI, Pi CLI, opencode CLI). It gives independently running sessions a shared inbox, a -reviewed task workflow, and an optional tmux launcher. **crew never calls a model -provider itself** — it only coordinates via a workspace-local SQLite database. +`crew` is a local coordination CLI for terminal coding agents — the eight Participant CLIs +listed in `src/participants.ts` (Claude Code, Codex CLI, Gemini CLI, Copilot CLI, +Antigravity CLI, Pi CLI, Little Coder, opencode CLI). It gives independently running +sessions a shared inbox, a reviewed task workflow, and an optional tmux launcher. **crew +never calls a model provider itself** — it only coordinates via a workspace-local SQLite +database. The package publishes as `@dichovsky/crew` but the installed executable is `crew` (the unscoped npm name was unavailable — see DEC-7 in `docs/design/decisions.md`). diff --git a/CLAUDE.md b/CLAUDE.md index fa355c3..1ff3cf9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,10 +4,12 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## What this is -`crew` is a local coordination CLI for terminal coding agents (Claude Code, Codex CLI, -Gemini CLI, Copilot CLI, Antigravity CLI, Pi CLI, opencode CLI). It gives independently running sessions a shared inbox, a -reviewed task workflow, and an optional tmux launcher. **crew never calls a model -provider itself** — it only coordinates via a workspace-local SQLite database. +`crew` is a local coordination CLI for terminal coding agents — the eight Participant CLIs +listed in `src/participants.ts` (Claude Code, Codex CLI, Gemini CLI, Copilot CLI, +Antigravity CLI, Pi CLI, Little Coder, opencode CLI). It gives independently running +sessions a shared inbox, a reviewed task workflow, and an optional tmux launcher. **crew +never calls a model provider itself** — it only coordinates via a workspace-local SQLite +database. The package publishes as `@dichovsky/crew` but the installed executable is `crew` (the unscoped npm name was unavailable — see DEC-7 in `docs/design/decisions.md`). diff --git a/README.md b/README.md index ca69788..b665508 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,12 @@ [![Node](https://img.shields.io/badge/node-%3E%3D24.15-brightgreen.svg)](https://nodejs.org) crew is a command-line tool that coordinates AI coding assistants running in a terminal. -Tools such as Claude Code, Codex CLI, Gemini CLI, GitHub Copilot CLI, and Little Coder each -run as their own independent terminal session; crew gives those sessions a shared inbox for -notes, a task workflow where finished work must pass a separate review, and an optional -launcher that opens all of them side by side. crew never contacts an AI model provider -itself — it only passes coordination data between the sessions. +The eight supported tools — Claude Code, Codex CLI, Gemini CLI, GitHub Copilot CLI, +Antigravity CLI, Pi CLI, Little Coder, and opencode CLI — each run as their own independent +terminal session; crew gives those sessions a shared inbox for notes, a task workflow where +finished work must pass a separate review, and an optional launcher that opens all of them +side by side. crew never contacts an AI model provider itself — it only passes coordination +data between the sessions. **[Interactive documentation →](https://dichovsky.github.io/crew/)** — how crew works, what it is built from, and where its limits are, explained with diagrams you can step through. @@ -22,9 +23,10 @@ built from, and where its limits are, explained with diagrams you can step throu - **A task isn't done because the agent says so.** The Worker (the agent assigned the work) finishing and the reviewer accepting the result are two separate, enforced steps (`submitted` then `completed`), so a Worker can't mark its own work accepted. -- **Not locked to one vendor.** Claude Code, Codex CLI, Gemini CLI, Copilot CLI, Little - Coder, and locally hosted models can all join the same Crew — the group of agents sharing - one project's state. crew coordinates them; it doesn't replace them. +- **Not locked to one vendor.** Claude Code, Codex CLI, Gemini CLI, Copilot CLI, Antigravity + CLI, Pi CLI, Little Coder, opencode CLI, and locally hosted models can all join the same + Crew — the group of agents sharing one project's state. crew coordinates them; it doesn't + replace them. - **Both a human and a script can drive it.** Every command has a plain-text form for reading and a `--json` form that prints one complete JSON object per line for scripts to parse — there is no separate API to learn. @@ -188,7 +190,10 @@ flowchart TB A2["Codex CLI"] A3["Gemini CLI"] A4["Copilot CLI"] - A5["Little Coder"] + A5["Antigravity CLI"] + A6["Pi CLI"] + A7["Little Coder"] + A8["opencode CLI"] end subgraph crewcli["crew CLI - one-shot process, exits after every command"] @@ -208,7 +213,7 @@ flowchart TB TMUX["tmux session
one pane per Agent + Relay window"] BROWSER["Browser dashboard
127.0.0.1 - token-auth - SSE"] - A1 & A2 & A3 & A4 -- "crew join / send / receive / task ..." --> BIN + A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8 -- "crew join / send / receive / task ..." --> BIN BIN --> RUN --> CMD CMD --> FMT CMD --> WS diff --git a/docs/design/product-spec.md b/docs/design/product-spec.md index 7e34d1d..83e5fde 100644 --- a/docs/design/product-spec.md +++ b/docs/design/product-spec.md @@ -67,7 +67,8 @@ requires one process that stays alive for as long as the tmux session does. - Built-in Manager, Worker, and Inspector Roles, plus per-project overrides. - Team definitions and manual command rendering. - An optional tmux launch (all panes running the same Participant CLI) and a session Relay. -- Explicit setup generators for Claude Code, Codex CLI, Gemini CLI, and Copilot CLI. +- Explicit setup generators for each of the eight Participant CLIs (Claude Code, Codex CLI, + Gemini CLI, Copilot CLI, Antigravity CLI, Pi CLI, Little Coder, and opencode CLI). - Checked setup recipes for Ollama and LM Studio as Model Backends (inference servers that a Participant CLI may use; crew itself never contacts them). - Human-readable output and JSON output where each line is one complete JSON object, stable diff --git a/docs/design/srs.md b/docs/design/srs.md index b172bee..57beef8 100644 --- a/docs/design/srs.md +++ b/docs/design/srs.md @@ -49,12 +49,14 @@ is expanded here into consecutive ids, tracked in ### 1.1 Purpose (§9.5.1) crew is a command-line tool that runs on your own machine and coordinates terminal coding -agents (Claude Code, Codex CLI, Gemini CLI, Copilot CLI). This SRS specifies **all v1 software -requirements**, plus the post-v1 additions for the Console and for stopping and resuming a Team — -functional and non-functional — in enough detail to design and test against. crew coordinates -Participant CLIs (the AI command-line apps that act as Agents) that are already running; they -share one State Store, an SQLite database file inside the project's Workspace. crew **never -calls a model provider** and runs no AI model itself. +agents (the eight Participant CLIs named in +[Appendix A](#appendix-a--assumptions-dependencies-and-tbd-items), as recorded in the platform +registry). This SRS specifies **all v1 software requirements**, plus the post-v1 additions for +the Console and for stopping and resuming a Team — functional and non-functional — in enough +detail to design and test against. crew coordinates Participant CLIs (the AI command-line apps +that act as Agents) that are already running; they share one State Store, an SQLite database +file inside the project's Workspace. crew **never calls a model provider** and runs no AI model +itself. ### 1.2 Scope (§9.5.2) @@ -82,7 +84,8 @@ calls a model provider** and runs no AI model itself. crew is a standalone command-line program that other software (Participant CLIs) and a human operator invoke. Its boundaries with the outside world: -- **System interface** — Participant CLIs (Claude Code, Codex CLI, Gemini CLI, Copilot CLI) +- **System interface** — Participant CLIs (the eight named in + [Appendix A](#appendix-a--assumptions-dependencies-and-tbd-items)) invoke `crew` subcommands; crew never invokes a model provider. - **User interface** — a text CLI with two equally supported output formats (a human table/line format, and `--json` output where each line is one complete JSON object — @@ -508,8 +511,8 @@ rather than restating them. or that someone edited since crew wrote it, shall require `--force` and a backup. *Verify: automated test — `tests/integration/commands/setup.test.ts`, `tests/unit/setup-fs.test.ts`.* - **FR-G07 — Actual invocation.** Setup output shall state the real invocation (Claude, - Gemini, Pi, Little Coder, and opencode `/crew`; Codex `$crew`; Copilot `/agent` selection - plus prompt). *Verify: automated test — `tests/unit/platforms.test.ts`.* + Gemini, Antigravity, Pi, Little Coder, and opencode `/crew`; Codex `$crew`; Copilot + `/agent` selection plus prompt). *Verify: automated test — `tests/unit/platforms.test.ts`.* - **FR-G08 — Scoped permission guidance.** Setup guidance shall prefer permission limited to the `crew` command. *Verify: inspection — setup-integration.md; `src/platforms/shared.ts`.* - **FR-G09 — No automatic bypass flags.** Blunt permission-bypass flags shall never be enabled diff --git a/package.json b/package.json index 85fb94e..73a46b9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@dichovsky/crew", "version": "0.1.1", - "description": "Local coordination for terminal coding agents (Claude Code, Codex, Gemini, Copilot, Little Coder) via a workspace-local SQLite inbox and reviewed task workflow — no daemon, no model provider.", + "description": "Local coordination for terminal coding agents (Claude Code, Codex, Gemini, Copilot, Antigravity, Pi, Little Coder, opencode) via a workspace-local SQLite inbox and reviewed task workflow — no daemon, no model provider.", "type": "module", "license": "MIT", "publishConfig": { @@ -17,7 +17,10 @@ "codex", "gemini-cli", "copilot-cli", + "antigravity", + "pi", "little-coder", + "opencode", "inbox", "agents" ],