{
  "markdown": "# quintet\n\n**One orchestrator for five coding-agent CLIs.** Quintet drives **Claude Code**, **OpenAI Codex**, **Google Gemini**, **GitHub Copilot**, and **Qwen Code** through a single entry point, in two complementary modes:\n\n- **Team mode** — persistent worker processes in tmux panes that autonomously edit files and coordinate (the [oh-my-claudecode `omc-teams`](https://github.com/Yeachan-Heo/oh-my-claudecode) model, extended to Copilot and Qwen).\n- **Fleet mode** — one-shot dispatch of a single prompt to many CLIs in parallel, with a circuit-breaker + fallback reliability layer and `consult` / `debate` / `review` flows (the [claude-octopus](https://github.com/nyldn/claude-octopus) model).\n\nIt is **self-contained**: no runtime dependency on omc or octo. The two upstream projects each covered one half — quintet unifies persistent tmux teams *and* multi-provider one-shot dispatch across the full set of five CLIs.\n\n## Why\n\n| | omc-teams | claude-octopus | **quintet** |\n| --- | --- | --- | --- |\n| Persistent tmux worker teams | ✅ | ❌ | ✅ |\n| One-shot multi-AI fleet / debate / review | ❌ | ✅ | ✅ |\n| claude / codex / gemini | ✅ | ✅ | ✅ |\n| **copilot / qwen** | ❌ | ✅ (one-shot) | ✅ (**teams + one-shot**) |\n\nThe novel capability quintet adds: running **Copilot and Qwen as persistent coordinating tmux team workers**, alongside Claude/Codex/Gemini, under one CLI.\n\n## Install\n\nQuintet ships as a **plugin/extension for all four major coding-agent CLIs** from one repo, distributed via the `vdw-claude-plugins` marketplace where supported.\n\n**Claude Code** (marketplace):\n```bash\n/plugin marketplace add salemaziel/omc-octo-quintet\n/plugin install quintet@vdw-claude-plugins\n```\n\n**OpenAI Codex** (marketplace): the repo ships `.agents/plugins/marketplace.json`. In Codex, run `/plugins`, switch to the `vdw-claude-plugins` marketplace tab, and install **quintet**.\n\n**Gemini CLI** (extension):\n```bash\ngemini extensions install https://github.com/salemaziel/omc-octo-quintet\n```\n\n**GitHub Copilot CLI** (plugin): point Copilot at the repo's root `plugin.json` (it loads `skills/` and the `.copilot/agents/` conductor). Verify with `/skills list` and `/agent`.\n\n### The `quintet` binary — no PATH changes needed\n\nEvery ecosystem shells out to the same CLI at `bin/quintet`, **bundled inside the installed plugin** — quintet never touches your shell PATH. Each host locates it on its own:\n\n- **Claude Code** runs it via the absolute `${CLAUDE_PLUGIN_ROOT}/bin/quintet`, and also exposes the plugin's `bin/` on the Bash tool's PATH only while the plugin is enabled (it does not modify your login shell).\n- **Codex** sets `CLAUDE_PLUGIN_ROOT` for plugin compatibility, so the same skills resolve the binary there.\n- **Gemini** finds it at `~/.gemini/extensions/quintet/bin/quintet`.\n- **Copilot** finds it under `~/.copilot/installed-plugins/.../quintet/bin/quintet`.\n\nOptional — only if you also want to run `quintet` by hand in a normal terminal:\n\n```bash\nln -s \"$PWD/bin/quintet\" ~/.local/bin/quintet   # standalone CLI use, not required by any plugin\nquintet doctor\n```\n\nRequirements: `tmux` (team mode only), `jq` (optional), and at least one of the agent CLIs installed and authenticated:\n\n```bash\nnpm install -g @anthropic-ai/claude-code   # claude\nnpm install -g @openai/codex               # codex\nnpm install -g @google/gemini-cli          # gemini\nnpm install -g @github/copilot             # copilot   (or: brew install copilot-cli)\nnpm install -g @qwen-code/qwen-code        # qwen      (free OAuth tier)\n```\n\n## Usage\n\n```bash\n# Team mode — persistent tmux workers\nquintet team 2:codex,1:gemini,1:qwen \"build the export feature\" \\\n    --name export --cwd ./repo \\\n    --tasks \"implement serializer||add tests||write docs||audit edge cases\"\nquintet team status export\nquintet team capture export w1-codex 80\nquintet team send export w2-gemini \"focus on the v2 API\"\nquintet team shutdown export --force\n\n# Fleet mode — one-shot across many models\nquintet consult \"best way to dedupe a 10M-row stream?\" claude,codex,gemini\nquintet debate  \"gRPC or REST for this internal service?\"\nquintet review  \"$(git diff HEAD~1)\" claude,gemini,copilot\n\nquintet doctor       # provider/tmux/jq readiness\nquintet providers    # per-provider install/auth/ready\n```\n\n### Slash commands (inside Claude Code)\n\n`/quintet:team` · `/quintet:fleet` · `/quintet:consult` · `/quintet:debate` · `/quintet:review` · `/quintet:doctor`\n\n### Agent\n\n`quintet-conductor` — decomposes a task, picks providers, launches/monitors a team or fleet, and synthesizes results.\n\n## Configuration (env vars)\n\n| Var | Purpose | Default |\n| --- | --- | --- |\n| `QUINTET_TIMEOUT` | global one-shot timeout (s) | 120 |\n| `QUINTET_<P>_TIMEOUT` | per-provider one-shot timeout | 90–120 |\n| `QUINTET_<P>_LAUNCH` | interactive launch command for team workers | per provider |\n| `QUINTET_<P>_WARMUP` | seconds before injecting the task | 5–6 |\n| `QUINTET_STATE_DIR` | team state dir | `$PWD/.quintet` |\n| `QUINTET_HOME` | reliability/circuit-breaker state | `~/.quintet` |\n| `QUINTET_CB_FAILURE_THRESHOLD` / `QUINTET_CB_COOLDOWN_SECS` | circuit breaker tuning | 3 / 300 |\n\n`<P>` ∈ `CLAUDE CODEX GEMINI COPILOT QWEN`.\n\n## Architecture\n\n```\nbin/quintet            CLI entry point + subcommand dispatch\nlib/common.sh          logging, paths, slug/json helpers\nlib/providers.sh       provider registry: detection, auth, one-shot + interactive contracts\nlib/reliability.sh     error classification, circuit breaker, fallback\nlib/tmux.sh            detached-session / window / send-keys / capture helpers\nlib/team.sh            persistent tmux worker-team runtime\nlib/fleet.sh           one-shot parallel / consult / debate / review\nskills/                quintet-orchestration, quintet-team-runtime, quintet-fleet-dispatch\nagents/                quintet-conductor\ncommands/              /quintet:{team,fleet,consult,debate,review,doctor}\n```\n\nAdding a provider (e.g. ollama, cursor-agent) = one entry in `QUINTET_PROVIDERS` plus its cases in `lib/providers.sh`. Nothing else hardcodes a CLI name.\n\n## License\n\nMIT.\n",
  "bytes": 6080,
  "sha": "700859b5ee07c165f853f30555090a5bb1f7486b199149604e26ca8b3f160b25",
  "repo_slug": "salemaziel/omc-octo-quintet",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_salemaziel_omc_octo_quintet_d056ecf6/readme"
}