{"_id":"@dreampunchboy/scuad-cli","name":"@dreampunchboy/scuad-cli","dist-tags":{"latest":"0.9.1"},"versions":{"0.9.1":{"name":"@dreampunchboy/scuad-cli","version":"0.9.1","description":"Squad CLI — Command-line interface for the Squad multi-agent runtime","type":"module","bin":{"squad":"dist/cli-entry.js","squad-cli":"dist/cli-entry.js"},"exports":{".":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"},"./upgrade":{"types":"./dist/cli/upgrade.d.ts","import":"./dist/cli/upgrade.js"},"./copilot-install":{"types":"./dist/cli/copilot-install.d.ts","import":"./dist/cli/copilot-install.js"},"./shell/sessions":{"types":"./dist/cli/shell/sessions.d.ts","import":"./dist/cli/shell/sessions.js"},"./shell/spawn":{"types":"./dist/cli/shell/spawn.d.ts","import":"./dist/cli/shell/spawn.js"},"./shell/coordinator":{"types":"./dist/cli/shell/coordinator.d.ts","import":"./dist/cli/shell/coordinator.js"},"./shell/lifecycle":{"types":"./dist/cli/shell/lifecycle.d.ts","import":"./dist/cli/shell/lifecycle.js"},"./shell/stream-bridge":{"types":"./dist/cli/shell/stream-bridge.d.ts","import":"./dist/cli/shell/stream-bridge.js"},"./shell/sdk-bridge":{"types":"./dist/cli/shell/sdk-bridge.d.ts","import":"./dist/cli/shell/sdk-bridge.js"},"./shell/router":{"types":"./dist/cli/shell/router.d.ts","import":"./dist/cli/shell/router.js"},"./shell/commands":{"types":"./dist/cli/shell/commands.d.ts","import":"./dist/cli/shell/commands.js"},"./shell/render":{"types":"./dist/cli/shell/render.d.ts","import":"./dist/cli/shell/render.js"},"./shell/types":{"types":"./dist/cli/shell/types.d.ts","import":"./dist/cli/shell/types.js"},"./shell/session-store":{"types":"./dist/cli/shell/session-store.d.ts","import":"./dist/cli/shell/session-store.js"},"./shell/error-messages":{"types":"./dist/cli/shell/error-messages.d.ts","import":"./dist/cli/shell/error-messages.js"},"./shell/shell-metrics":{"types":"./dist/cli/shell/shell-metrics.d.ts","import":"./dist/cli/shell/shell-metrics.js"},"./shell/agent-name-parser":{"types":"./dist/cli/shell/agent-name-parser.d.ts","import":"./dist/cli/shell/agent-name-parser.js"},"./core/detect-squad-dir":{"types":"./dist/cli/core/detect-squad-dir.d.ts","import":"./dist/cli/core/detect-squad-dir.js"},"./core/init":{"types":"./dist/cli/core/init.d.ts","import":"./dist/cli/core/init.js"},"./core/email-scrub":{"types":"./dist/cli/core/email-scrub.d.ts","import":"./dist/cli/core/email-scrub.js"},"./core/upgrade":{"types":"./dist/cli/core/upgrade.d.ts","import":"./dist/cli/core/upgrade.js"},"./core/version":{"types":"./dist/cli/core/version.d.ts","import":"./dist/cli/core/version.js"},"./commands/export":{"types":"./dist/cli/commands/export.d.ts","import":"./dist/cli/commands/export.js"},"./commands/import":{"types":"./dist/cli/commands/import.d.ts","import":"./dist/cli/commands/import.js"},"./commands/doctor":{"types":"./dist/cli/commands/doctor.d.ts","import":"./dist/cli/commands/doctor.js"},"./commands/aspire":{"types":"./dist/cli/commands/aspire.d.ts","import":"./dist/cli/commands/aspire.js"},"./commands/link":{"types":"./dist/cli/commands/link.d.ts","import":"./dist/cli/commands/link.js"},"./commands/init-remote":{"types":"./dist/cli/commands/init-remote.d.ts","import":"./dist/cli/commands/init-remote.js"},"./commands/watch":{"types":"./dist/cli/commands/watch/index.d.ts","import":"./dist/cli/commands/watch/index.js"},"./commands/watch/health":{"types":"./dist/cli/commands/watch/health.d.ts","import":"./dist/cli/commands/watch/health.js"},"./commands/start":{"types":"./dist/cli/commands/start.d.ts","import":"./dist/cli/commands/start.js"},"./commands/rc-tunnel":{"types":"./dist/cli/commands/rc-tunnel.d.ts","import":"./dist/cli/commands/rc-tunnel.js"},"./commands/rc":{"types":"./dist/cli/commands/rc.d.ts","import":"./dist/cli/commands/rc.js"},"./commands/extract":{"types":"./dist/cli/commands/extract.d.ts","import":"./dist/cli/commands/extract.js"},"./commands/copilot":{"types":"./dist/cli/commands/copilot.d.ts","import":"./dist/cli/commands/copilot.js"},"./commands/cost":{"types":"./dist/cli/commands/cost.d.ts","import":"./dist/cli/commands/cost.js"},"./commands/copilot-bridge":{"types":"./dist/cli/commands/copilot-bridge.d.ts","import":"./dist/cli/commands/copilot-bridge.js"},"./commands/personal":{"types":"./dist/cli/commands/personal.d.ts","import":"./dist/cli/commands/personal.js"},"./commands/cast":{"types":"./dist/cli/commands/cast.d.ts","import":"./dist/cli/commands/cast.js"}},"scripts":{"postinstall":"node scripts/patch-esm-imports.mjs && node scripts/patch-ink-rendering.mjs","prepublishOnly":"npm run build","build":"tsc -p tsconfig.json && npm run postbuild","postbuild":"node -e \"require('fs').cpSync('src/remote-ui', 'dist/remote-ui', {recursive: true})\""},"engines":{"node":">=22.5.0"},"dependencies":{"@dreampunchboy/scuad-sdk":">=0.9.0","ink":"^6.8.0","react":"^19.2.4","vscode-jsonrpc":"^8.2.1"},"devDependencies":{"@types/node":"^22.0.0","@types/react":"^19.2.14","esbuild":"^0.25.0","typescript":"^5.7.0","ink-testing-library":"^4.0.0"},"keywords":["copilot","multi-agent","squad","cli"],"license":"MIT","homepage":"https://github.com/Dreampunch/scuad#readme","bugs":{"url":"https://github.com/Dreampunch/scuad/issues"},"repository":{"type":"git","url":"git+https://github.com/Dreampunch/scuad.git","directory":"packages/squad-cli"},"optionalDependencies":{"node-pty":"^1.1.0","qrcode-terminal":"^0.12.0"},"_id":"@dreampunchboy/scuad-cli@0.9.1","gitHead":"b846c1d631b4a832a19affce864d3b0d8658770a","_nodeVersion":"24.4.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-qUzrSSEgAuUBap4cvGF+E1ob4HDqZji2Bi3rBRw/RVFGM2wZAPE34avbrsQtIAx9GreIL5kBHYkD6TVw3i8KTQ==","shasum":"bc09453fb9d2eabd9b958d2ee161c367779f7569","tarball":"https://registry.npmjs.org/@dreampunchboy/scuad-cli/-/scuad-cli-0.9.1.tgz","fileCount":474,"unpackedSize":1930557,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDmOqTzfprdqrEDHoZneKtAgMiUa74HOS2uHge2a8zqMwIgPIvbTSBPt1+ORFhzcI1n+vT38OV6ccIPNGdxjzTjMCw="}]},"_npmUser":{"name":"dreampunchboy","email":"phillip@vancoller.com"},"directories":{},"maintainers":[{"name":"dreampunchboy","email":"phillip@vancoller.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/scuad-cli_0.9.1_1775885272910_0.9990765460790141"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-11T05:27:52.784Z","0.9.1":"2026-04-11T05:27:53.118Z","modified":"2026-04-11T05:27:53.598Z"},"maintainers":[{"name":"dreampunchboy","email":"phillip@vancoller.com"}],"description":"Squad CLI — Command-line interface for the Squad multi-agent runtime","homepage":"https://github.com/Dreampunch/scuad#readme","keywords":["copilot","multi-agent","squad","cli"],"repository":{"type":"git","url":"git+https://github.com/Dreampunch/scuad.git","directory":"packages/squad-cli"},"bugs":{"url":"https://github.com/Dreampunch/scuad/issues"},"license":"MIT","readme":"# @dreampunchboy/scuad-cli\n\nThe programmable multi-agent CLI for GitHub Copilot. Build an AI team, assign roles, and let them work your repo—automating issue triage, code review, documentation, and more through orchestrated AI agents.\n\n> ⚠️ **Experimental** — Squad is alpha software. APIs, commands, and behavior may change between releases.\n\n## Installation\n\n### Prerequisites\n\n- **Node.js ≥ 20** — Squad requires modern JavaScript runtime features\n- **GitHub Copilot** — provides the AI backend for agent orchestration and code analysis\n- **GitHub CLI** (`gh`) — required for issue/PR operations and the work loop\n\n### Install from npm\n\n```bash\n# Global (recommended)\nnpm install -g @dreampunchboy/scuad-cli@latest\n\n# Project-local\nnpm install --save-dev @dreampunchboy/scuad-cli\n\n# One-shot (no install)\nnpx @dreampunchboy/scuad-cli\n\n# Insider channel (pre-release builds)\nnpm install -g @dreampunchboy/scuad-cli@insider\n```\n\n### Verify Installation\n\n```bash\nsquad --version\nsquad doctor    # Validate setup\n```\n\n## Quick Start\n\nGet a working AI team in three steps:\n\n```bash\n# 1. Initialize Squad in your repo\nsquad init\n\n# 2. Launch the interactive shell and talk to your team\nsquad\n```\n\nThe `init` command creates a `.squad/` directory with default agents and configuration. Then `squad` opens a REPL where you can chat with agents, assign work, and monitor progress.\n\n**Example:**\n\n```\nsquad > @Neo, review the authentication module\nsquad > Trinity, add unit tests for the login page\nsquad > /status    # See what's in progress\n```\n\n## Commands Reference\n\nFor detailed documentation on each command, see the [CLI Reference](https://docs.squad.ai/reference/cli) on the docs site.\n\n### Core Commands\n\n| Command | Purpose |\n|---------|---------|\n| `squad` | Enter interactive shell (no arguments) |\n| `squad init` | Initialize Squad in current repo (idempotent) |\n| `squad init --global` | Create a personal squad in your home directory |\n| `squad status` | Show which squad is active and why |\n| `squad doctor` | Validate setup integrity and diagnose issues |\n| `squad upgrade` | Update Squad-owned files to latest version |\n\n### Team Management\n\n| Command | Purpose |\n|---------|---------|\n| `squad hire --name <name> --role <role>` | Add a new agent to your team |\n| `squad copilot` | Add the @copilot coding agent |\n| `squad copilot --off` | Remove @copilot from the team |\n| `squad copilot --auto-assign` | Enable auto-assignment for @copilot |\n\n### Work & Automation\n\n| Command | Purpose |\n|---------|---------|\n| `squad triage` | Auto-triage issues and assign to agents |\n| `squad triage --interval <min>` | Run triage continuously (default: 10 min) |\n| `squad plugin` | Manage plugin marketplaces (add/remove/list/browse) |\n\n### Export & Import\n\n| Command | Purpose |\n|---------|---------|\n| `squad export` | Export team to a portable JSON snapshot |\n| `squad export --out <path>` | Export to custom path |\n| `squad import <file>` | Import team from snapshot (or existing squad) |\n| `squad import <file> --force` | Replace existing team (archives old one) |\n\n### Utilities\n\n| Command | Purpose |\n|---------|---------|\n| `squad scrub-emails [directory]` | Remove email addresses from `.squad/` state files |\n| `squad --version` | Print installed version |\n| `squad help` | Show command help |\n\n## Interactive Shell\n\nRun `squad` with no arguments to enter the REPL. You'll see:\n\n```\nsquad >\n```\n\n### Shell Commands\n\nAll shell commands start with `/`.\n\n| Command | Purpose |\n|---------|---------|\n| `/status` | Show active agents, sessions, recent decisions |\n| `/history` | View session log — tasks, decisions, agent work |\n| `/agents` | List team members with roles and expertise |\n| `/sessions` | List saved sessions |\n| `/resume <id>` | Restore a past session |\n| `/clear` | Clear terminal output |\n| `/help` | Show all commands |\n| `/quit` | Exit the shell (also: `Ctrl+C`) |\n\n### Addressing Agents\n\nUse agent names to route messages. Name matching is **case-insensitive**:\n\n```\nsquad > @Neo, review the architecture\nsquad > @trinity fix the login bug\nsquad > Summarize the latest decisions\n```\n\nOmit the agent name and the coordinator routes to the best fit.\n\n### Keyboard Shortcuts\n\n| Shortcut | Action |\n|----------|--------|\n| `↑` / `↓` | Scroll command history |\n| `Ctrl+A` | Jump to start of line |\n| `Ctrl+E` | Jump to end of line |\n| `Ctrl+U` | Clear to start of line |\n| `Ctrl+K` | Clear to end of line |\n| `Ctrl+W` | Delete previous word |\n| `Ctrl+C` | Exit shell |\n\n## .squad/ Directory Structure\n\nWhen you run `squad init`, Squad creates a `.squad/` directory with this structure:\n\n```\n.squad/\n├── team.md                # Roster — agent names, roles, human members\n├── routing.md             # Work routing rules (which agent handles what)\n├── decisions.md           # Architectural decisions log (append-only)\n├── directives.md          # Permanent team rules and conventions\n├── ceremonies.md          # Team ceremonies and rituals\n├── casting-state.json     # Agent names, universe theme\n├── model-config.json      # Per-agent model overrides\n├── manifest.json          # Squad metadata and version\n├── config.json            # Local config (teamRoot, etc.)\n├── agents/                # Agent knowledge files\n│   ├── neo/\n│   │   ├── charter.md     # Role definition, expertise\n│   │   └── history.md     # Accumulated knowledge\n│   └── ...\n├── skills/                # Reusable knowledge (markdown files)\n│   ├── auth-rate-limiting.md\n│   └── ...\n└── sessions/              # Saved REPL sessions\n```\n\n### Key Files\n\n**`team.md`** — Defines your roster:\n\n```markdown\n## Team\n\n🏗️  Neo       — Lead        Scope, decisions, code review\n⚛️  Trinity   — Frontend    React, TypeScript, UI\n🔧  Morpheus — Backend     Node.js, Express, databases\n🧪  Tank     — Tester      Jest, integration tests\n```\n\n**`routing.md`** — Controls work assignment:\n\n```markdown\n# Routing Rules\n\n**Frontend changes** → Trinity\n**Backend API work** → Morpheus\n**Database migrations** → Morpheus\n**Test writing** → Tank\n**Architecture** → Neo\n```\n\n**`decisions.md`** — Append-only architectural log (agents read this before every task):\n\n```markdown\n### 2025-03-20: Use Zod for API validation\n**By:** Morpheus\n**What:** All API input validation uses Zod schemas\n**Why:** Type-safe, composable, generates TypeScript types\n```\n\n**`directives.md`** — Permanent rules agents always follow:\n\n```markdown\n- Always use TypeScript strict mode\n- No any/unknown casts\n- All database queries through Prisma, no raw SQL\n```\n\n## Built-in Skills\n\nWhen you run `squad init`, Squad installs **8 curated skills** into `.copilot/skills/`. These skills teach your agents best practices and conventions:\n\n| Skill | Purpose |\n|-------|---------|\n| `squad-conventions` | Squad behavioral conventions |\n| `error-recovery` | Graceful error recovery patterns |\n| `secret-handling` | Secrets management and credential safety |\n| `git-workflow` | Git workflow conventions and branch management |\n| `session-recovery` | Session checkpoint and recovery patterns |\n| `reviewer-protocol` | Code review protocol and reviewer gate patterns |\n| `test-discipline` | Test-first discipline and coverage expectations |\n| `agent-collaboration` | Multi-agent collaboration and handoff patterns |\n\nEach skill is a `SKILL.md` file inside `.copilot/skills/<skill-name>/`.\n\n### Skill lifecycle\n\n- **`squad init`** — Installs the 8 manifest skills on first run. If `.copilot/skills/` already has content, init skips skill installation (idempotent).\n- **`squad upgrade`** — Refreshes manifest skills to their latest versions. Skills marked `overwriteOnUpgrade: true` (all built-in skills) are always updated to pick up fixes and improvements.\n\n### Adding custom skills\n\nYou can add your own skills by creating a new directory under `.copilot/skills/`:\n\n```\n.copilot/skills/my-custom-skill/\n└── SKILL.md\n```\n\nCustom skills are not overwritten during upgrade because they are not part of the built-in manifest.\n\n## Configuration\n\n### .squadrc / config.json\n\nSquad looks for `.squad/config.json` to customize behavior:\n\n```json\n{\n  \"teamRoot\": \"./team-config\",\n  \"maxAgents\": 10,\n  \"modelDefaults\": {\n    \"temperature\": 0.7\n  }\n}\n```\n\n### Environment Variables\n\n| Variable | Purpose | Example |\n|----------|---------|---------|\n| `SQUAD_CLIENT` | Detected platform | `cli`, `vscode` |\n| `COPILOT_TOKEN` | Copilot auth token (SDK usage) | `gho_...` |\n\n### Squad Resolution Order\n\nWhen Squad starts, it looks for `.squad/` in this order:\n\n1. Current directory (`./.squad/`)\n2. Parent directories (walk up to project root)\n3. Personal squad directory (platform-specific: `~/.config/squad/` on Linux, `~/Library/Application Support/squad/` on macOS, `%APPDATA%\\squad\\` on Windows)\n4. Global CLI default (fallback only)\n\nFirst match wins.\n\n## Troubleshooting\n\n### Run `squad doctor`\n\nWhen something isn't working, run:\n\n```bash\nsquad doctor\n```\n\nThis performs a comprehensive diagnostic check:\n\n- `.squad/` directory structure\n- Required files: `team.md`, `routing.md`, `decisions.md`\n- Agent directory and count\n- Configuration validity\n- Team root resolution (remote mode)\n\n**Example output:**\n\n```\n🩺 Squad Doctor\n═══════════════\n\nMode: local\n\n✅  .squad/ directory exists — directory present\n✅  team.md found — file present\n✅  routing.md found — file present\n✅  agents/ directory exists (4 agents)\n✅  decisions.md exists — file present\n\nSummary: 5 passed, 0 failed\n```\n\n### Common Issues\n\n**Missing `.squad/` directory**\n\nRun `squad init` to create it.\n\n**Authentication errors**\n\nEnsure GitHub Copilot is installed and you're authenticated. Check your token:\n\n```bash\ngh auth status\n```\n\n**Node.js version mismatch**\n\nSquad requires Node.js ≥ 20. Check your version:\n\n```bash\nnode --version\n```\n\n**ESM import errors**\n\nSquad is an ESM-only module. If you see import errors, ensure your Node.js version is 20+.\n\n## Links\n\n- **Documentation:** [docs.squad.ai](https://docs.squad.ai)\n- **CLI Reference:** [docs.squad.ai/reference/cli](https://docs.squad.ai/reference/cli) — detailed command docs\n- **SDK:** [@dreampunchboy/scuad-sdk](https://www.npmjs.com/package/@dreampunchboy/scuad-sdk) — programmatic API\n- **GitHub:** [github.com/bradygaster/squad](https://github.com/bradygaster/squad)\n- **Issues:** [github.com/bradygaster/squad/issues](https://github.com/bradygaster/squad/issues)\n\n## License\n\nMIT. See [LICENSE](https://github.com/bradygaster/squad/blob/main/LICENSE) in the repository root.\n","readmeFilename":"README.md","_rev":"1-e6c41dce3edf78d8ff37a8e209469f3f"}