{"_id":"@adnrii/agentcrew","_rev":"3-6e966e1b22aacd8b814e6ca09019ccd3","name":"@adnrii/agentcrew","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@adnrii/agentcrew","version":"0.1.0","keywords":["claude","claude-code","ai-agents","multi-agent","tmux","scaffolding","cli","orchestration","subagents"],"author":{"name":"Andrii Popovych"},"license":"MIT","_id":"@adnrii/agentcrew@0.1.0","maintainers":[{"name":"adnrii","email":"gunter0104@gmail.com"}],"homepage":"https://github.com/AndriiPopovych/agent-crew#readme","bugs":{"url":"https://github.com/AndriiPopovych/agent-crew/issues"},"bin":{"agentcrew":"bin/cli.mjs"},"dist":{"shasum":"3f8380c7d82ce93fb7be99d7706198e7d4ff3947","tarball":"https://registry.npmjs.org/@adnrii/agentcrew/-/agentcrew-0.1.0.tgz","fileCount":24,"integrity":"sha512-rkzSdjVnwpsMwDQD3ixd1iE8Up/iJqDIjMOUBAVZrGd24RW5rfs59b3jfWexrbae62c6hJlDHTKdJu1sZqfKvg==","signatures":[{"sig":"MEUCID8uBaB8lVn8ovosXPHsxh2mBKRn5VMnbrpKLjk8nKHcAiEAgnLZq6W12SP5Ai2t0TcCQEZ7hc/4soAdxLtqP32E62k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177519},"type":"module","engines":{"node":">=20"},"gitHead":"4ab4bd2862fe366ee7daae13412b293317582b81","scripts":{"test":"node --test"},"_npmUser":{"name":"adnrii","email":"gunter0104@gmail.com"},"repository":{"url":"git+https://github.com/AndriiPopovych/agent-crew.git","type":"git"},"_npmVersion":"11.12.1","description":"Pluggable tmux-based multi-agent crew for Claude Code — drop into any repo.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"yaml":"^2.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agentcrew_0.1.0_1783802446299_0.30474953617378087","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@adnrii/agentcrew","version":"0.1.1","keywords":["claude","claude-code","ai-agents","multi-agent","tmux","scaffolding","cli","orchestration","subagents"],"author":{"name":"Andrii Popovych"},"license":"MIT","_id":"@adnrii/agentcrew@0.1.1","maintainers":[{"name":"adnrii","email":"gunter0104@gmail.com"}],"homepage":"https://github.com/AndriiPopovych/agent-crew#readme","bugs":{"url":"https://github.com/AndriiPopovych/agent-crew/issues"},"bin":{"agentcrew":"bin/cli.mjs"},"dist":{"shasum":"1bb44ae0aa4ca607cd0f05b530df10ab849024bf","tarball":"https://registry.npmjs.org/@adnrii/agentcrew/-/agentcrew-0.1.1.tgz","fileCount":24,"integrity":"sha512-jAroIe7uaChKL5ofFLmQwKU5hv8sYItXwFYm9AVX5eQyPByXkTvkhKIdQaU9+sSuuvapG3TJngjhqudgFvni0Q==","signatures":[{"sig":"MEQCIAJgMXMcS42ww949U8l8+JpHKWn+QUeUv8VX6ufWqORAAiBM8QnVkG2BJ9P5Q7JzIPUjKHSBUIfcNuUVYvhs6RISZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177609},"type":"module","engines":{"node":">=20"},"gitHead":"703fe199ffb4d5e30cb1b44374c48b1a9cbf8fe2","scripts":{"test":"node --test"},"_npmUser":{"name":"adnrii","email":"gunter0104@gmail.com"},"repository":{"url":"git+https://github.com/AndriiPopovych/agent-crew.git","type":"git"},"_npmVersion":"11.12.1","description":"Pluggable tmux-based multi-agent crew for Claude Code — drop into any repo.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"yaml":"^2.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agentcrew_0.1.1_1783802821877_0.9444251908201053","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@adnrii/agentcrew","publishConfig":{"access":"public"},"version":"0.1.2","description":"Pluggable tmux-based multi-agent crew for Claude Code — drop into any repo.","author":{"name":"Andrii Popovych"},"homepage":"https://github.com/AndriiPopovych/agent-crew#readme","repository":{"type":"git","url":"git+https://github.com/AndriiPopovych/agent-crew.git"},"bugs":{"url":"https://github.com/AndriiPopovych/agent-crew/issues"},"keywords":["claude","claude-code","ai-agents","multi-agent","tmux","scaffolding","cli","orchestration","subagents"],"type":"module","bin":{"agentcrew":"bin/cli.mjs"},"engines":{"node":">=20"},"scripts":{"test":"node --test"},"dependencies":{"yaml":"^2.5.0"},"license":"MIT","gitHead":"dec8f92b9f2f43adb7a593fab9ee3c994da45ae4","_id":"@adnrii/agentcrew@0.1.2","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-+fbCDFVZa5qjayrkvvIigLAqCU/3qgefa+4mTut1lQdCrcgZ0EcQN1xCupwm4wHRbyFgGkXtPLb4d/O8HzN01g==","shasum":"cd6fc160fe2bde54f410a53043d897135ca41d9d","tarball":"https://registry.npmjs.org/@adnrii/agentcrew/-/agentcrew-0.1.2.tgz","fileCount":24,"unpackedSize":179162,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDAUZzGyyxe2Mdo/2ESsYyTursupsdz6tpmWB98RMbXTAiAuuaQyw4OoR9lPPUf5V2rIbrLaxisqOCc7kFJ8Sg3r9g=="}]},"_npmUser":{"name":"adnrii","email":"gunter0104@gmail.com"},"directories":{},"maintainers":[{"name":"adnrii","email":"gunter0104@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agentcrew_0.1.2_1784033704094_0.5034037666720625"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-11T20:40:46.114Z","modified":"2026-07-14T12:55:04.380Z","0.1.0":"2026-07-11T20:40:46.434Z","0.1.1":"2026-07-11T20:47:02.009Z","0.1.2":"2026-07-14T12:55:04.263Z"},"bugs":{"url":"https://github.com/AndriiPopovych/agent-crew/issues"},"author":{"name":"Andrii Popovych"},"license":"MIT","homepage":"https://github.com/AndriiPopovych/agent-crew#readme","keywords":["claude","claude-code","ai-agents","multi-agent","tmux","scaffolding","cli","orchestration","subagents"],"repository":{"type":"git","url":"git+https://github.com/AndriiPopovych/agent-crew.git"},"description":"Pluggable tmux-based multi-agent crew for Claude Code — drop into any repo.","maintainers":[{"name":"adnrii","email":"gunter0104@gmail.com"}],"readme":"# agent-crew\n\nDrop a proven multi-agent Claude Code crew into any repo with one command.\n\n![npm](https://img.shields.io/npm/v/@adnrii/agentcrew)\n![license](https://img.shields.io/npm/l/@adnrii/agentcrew)\n\n> npm package: `@adnrii/agentcrew` — installs the `agentcrew` command (the brand/repo is `agent-crew`)\n\n---\n\n## What it is\n\n`agent-crew` scaffolds a **6-role, tmux-based Claude Code crew** into any repository. Each role is a persistent Claude Code process running in its own tmux session:\n\n| Role | Always on | Responsibility |\n|---|---|---|\n| **teamlead** | yes | Requirements elicitation, task decomposition, orchestration, memory |\n| **dev** | yes | Implementation, code changes |\n| **qa** | yes | Functional testing, QA reports |\n| **architect** | optional | Architecture review, tech-debt scanning |\n| **ux** | optional | UX briefs, accessibility, interaction patterns |\n| **techwriter** | optional | Documentation, release notes |\n\nRoles coordinate through a `.agent-crew/.inbox/` **file protocol**: a `status.md` state machine, versioned artifacts (`result-v1.md`, `result-v2.md`, ...), and atomic writes via POSIX `mv`. No message broker, no daemon -- just files and tmux.\n\nExtracted and generalized from a real production project ([sync-matrix](examples/sync-matrix/)), where this crew has been running in production.\n\n---\n\n## Why tmux and not native subagents\n\nNative Claude Code subagents are ephemeral -- they spin up, do one thing, and exit. `agent-crew` runs **persistent, parallel agents with isolated context windows** that live for hours. Each agent accumulates context about its role across the full session. The teamlead keeps a persistent memory (`knowledge/`) across relaunches. This is the core value -- tmux is not an implementation detail, it is the architecture.\n\n---\n\n## Quickstart\n\nTo get started run these commands in your project directory:\n\n    npm i -g @adnrii/agentcrew   # install the agentcrew command\n    cd your-project\n    agentcrew init          # autodetect stack, confirm commands/port, scaffold .agent-crew/\n    agentcrew doctor        # check tmux, package manager, port\n    agentcrew launch        # start the teamlead; it self-onboards on first run\n\nThen talk only to the teamlead. Give it a task in plain language. It clarifies any ambiguities, decomposes the work, and delegates through the pipeline: dev -> code review -> QA -> commit. You get a report when it is done; push to remote when you have confirmed.\n\n---\n\n## Commands\n\n| Command | What it does |\n|---|---|\n| `init` | Scan repo, scaffold `.agent-crew/` into the current project |\n| `launch` | Start the teamlead tmux session (self-onboards on first run) |\n| `onboard` | Run/refresh the deep project onboarding |\n| `sync` | Regenerate generated files from `team.config.yaml` |\n| `doctor` | Check preconditions (tmux, package manager, port, env) |\n\n---\n\n## How it works\n\nThe crew is split into three layers:\n\n**1. Engine protocol** (`templates/agents/_shared/protocol.md`) -- project-agnostic. Defines the `.inbox/` file contract, `status.md` state machine, atomic write rules, tmux bootstrap pattern (polling, not `sleep`), and memory protocol. Shared by all roles; copied verbatim into `.agent-crew/`.\n\n**2. Role definitions** (`templates/agents/<role>/CLAUDE.md`) -- the behavioral spec for each role. Describes philosophy, responsibilities, the review cycle, and escalation paths. Kept clean of any project-specific detail.\n\n**3. `team.config.yaml`** -- single source of truth about *your* project. The CLI generates two things from it: `agents/_shared/project.md` (what every agent reads at bootstrap -- stack, commands, paths, gotchas, language) and `_bin/*.sh` (the launch/doctor/ensure-role scripts with your actual session prefix and commands).\n\nTo reconfigure a project: edit `team.config.yaml`, run `agentcrew sync`. Role `CLAUDE.md` files stay clean.\n\n**Pipeline:**\n\n    teamlead -> [architect] -> [ux] -> dev -> review -> qa -> commit -> [techwriter]\n\nBracketed roles are optional and lazy -- the teamlead boots them on demand, only when a task needs them.\n\n---\n\n## What lands in your repo\n\n`init` creates a single self-contained directory:\n\n    .agent-crew/\n    team.config.yaml              # single source of truth (CLI generates, you edit)\n    agents/\n      _shared/\n        protocol.md               # engine -- copied verbatim, project-agnostic\n        project.md                # GENERATED from config (commands, paths, gotchas, language)\n      teamlead/CLAUDE.md\n      dev/CLAUDE.md\n      qa/CLAUDE.md\n      {ux,architect,techwriter}/CLAUDE.md   # only selected optional roles\n    knowledge/                    # structured project knowledge (onboarding output)\n      onboarding.md               # brief: domain, architecture, conventions, active zones\n      architecture.md             # module map, entry points, key paths\n    _bin/                         # GENERATED: launch.sh, doctor.sh, ensure-role.sh\n    .inbox/                       # runtime state -- gitignored automatically\n\n`.inbox/` is added to `.gitignore` by `init`. The rest of `.agent-crew/` is yours to commit, review, and edit. Delete the whole directory with `rm -rf .agent-crew` to remove the crew entirely.\n\n---\n\n## Onboarding\n\n`init` runs a **static seed** (no LLM): it scans the file tree, `package.json`/lockfile, `git log`, README, and any existing `CLAUDE.md`/`AGENTS.md`, then writes `agents/_shared/project.md` and a default `sources_of_truth` list. No hardcoded assumptions -- everything comes from what is actually in the repo.\n\nOn the first `launch`, the teamlead runs a **deep self-onboarding** before accepting any task: it reads key modules, entry points, tests, and conventions, then writes `knowledge/onboarding.md` and `knowledge/architecture.md`. It shows you a summary of what it understands about your project (stack, architecture, active zones, risks) and asks what to work on.\n\nThis is a one-time step. The onboarding files are committed and reused across sessions. If the codebase drifts significantly, run `agentcrew onboard --refresh` to regenerate.\n\n---\n\n## Requirements\n\n- Node >= 20\n- tmux (https://github.com/tmux/tmux)\n- Claude Code CLI (`claude` on PATH)\n- git\n- **gstack** (optional, recommended) — QA uses gstack's `/qa-only` skill by default; `init` offers to install it if not found. Configurable via the `qa_command` field in `team.config.yaml`.\n\n---\n\n## Limitations\n\nCI tests the scaffolder -- `detect`, `render`, `config` validation, and `sync` idempotency against fixture repos. It does **not** test live agents: those require a real Claude Code session and tmux, which CI cannot provide. Manual dogfooding on `examples/sync-matrix/` covers that path.\n\n`init` is interactive. It shows detected values (package manager, commands, port) and asks for confirmation before writing anything.\n\n---\n\n## Docs\n\n- `docs/how-it-works.md` -- engine architecture: `.inbox/`, tmux, lazy bootstrap, atomic writes\n- `docs/config-reference.md` -- full `team.config.yaml` schema\n- `docs/customizing.md` -- editing role definitions, adding custom roles\n- `CONTRIBUTING.md` -- engine vs roles vs CLI separation, test conventions\n- `examples/sync-matrix/` -- a real worked example with config and walkthrough\n\n---\n\n## License\n\nMIT -- see LICENSE.\n","readmeFilename":"README.md"}