squads-cli 0.1.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +551 -177
- package/dist/auth-YW3UPFSB.js +23 -0
- package/dist/auth-YW3UPFSB.js.map +1 -0
- package/dist/autonomy-PSVZVX7A.js +105 -0
- package/dist/autonomy-PSVZVX7A.js.map +1 -0
- package/dist/chunk-67RO2HKR.js +174 -0
- package/dist/chunk-67RO2HKR.js.map +1 -0
- package/dist/chunk-7OCVIDC7.js +12 -0
- package/dist/chunk-7OCVIDC7.js.map +1 -0
- package/dist/chunk-BODLDQY7.js +452 -0
- package/dist/chunk-BODLDQY7.js.map +1 -0
- package/dist/chunk-EHQJHRIW.js +103 -0
- package/dist/chunk-EHQJHRIW.js.map +1 -0
- package/dist/chunk-FFFCFZ6A.js +121 -0
- package/dist/chunk-FFFCFZ6A.js.map +1 -0
- package/dist/chunk-FIWT2NMM.js +165 -0
- package/dist/chunk-FIWT2NMM.js.map +1 -0
- package/dist/chunk-HF4WR7RA.js +154 -0
- package/dist/chunk-HF4WR7RA.js.map +1 -0
- package/dist/chunk-J6QF4ZQX.js +230 -0
- package/dist/chunk-J6QF4ZQX.js.map +1 -0
- package/dist/chunk-LOA3KWYJ.js +294 -0
- package/dist/chunk-LOA3KWYJ.js.map +1 -0
- package/dist/chunk-M5FXNY6Y.js +384 -0
- package/dist/chunk-M5FXNY6Y.js.map +1 -0
- package/dist/chunk-QHNUMM4V.js +87 -0
- package/dist/chunk-QHNUMM4V.js.map +1 -0
- package/dist/chunk-QJ7C7CMB.js +223 -0
- package/dist/chunk-QJ7C7CMB.js.map +1 -0
- package/dist/chunk-RM6BWILN.js +74 -0
- package/dist/chunk-RM6BWILN.js.map +1 -0
- package/dist/chunk-TYFTF53O.js +613 -0
- package/dist/chunk-TYFTF53O.js.map +1 -0
- package/dist/chunk-TZXD6WFN.js +420 -0
- package/dist/chunk-TZXD6WFN.js.map +1 -0
- package/dist/chunk-WVOIY5GW.js +621 -0
- package/dist/chunk-WVOIY5GW.js.map +1 -0
- package/dist/chunk-Z2UKDBNL.js +162 -0
- package/dist/chunk-Z2UKDBNL.js.map +1 -0
- package/dist/chunk-ZTQ7ISUR.js +338 -0
- package/dist/chunk-ZTQ7ISUR.js.map +1 -0
- package/dist/cli.js +2506 -4475
- package/dist/cli.js.map +1 -1
- package/dist/context-GWPF4SEY.js +291 -0
- package/dist/context-GWPF4SEY.js.map +1 -0
- package/dist/context-feed-AJGVAR6H.js +394 -0
- package/dist/context-feed-AJGVAR6H.js.map +1 -0
- package/dist/cost-XBCDJ7XC.js +275 -0
- package/dist/cost-XBCDJ7XC.js.map +1 -0
- package/dist/create-BLFGG6PF.js +286 -0
- package/dist/create-BLFGG6PF.js.map +1 -0
- package/dist/dashboard-LGT2B2BL.js +951 -0
- package/dist/dashboard-LGT2B2BL.js.map +1 -0
- package/dist/dashboard-RMK2BOD2.js +794 -0
- package/dist/dashboard-RMK2BOD2.js.map +1 -0
- package/dist/doctor-XPUIIBHJ.js +374 -0
- package/dist/doctor-XPUIIBHJ.js.map +1 -0
- package/dist/env-config-SQEI3Y7Y.js +21 -0
- package/dist/env-config-SQEI3Y7Y.js.map +1 -0
- package/dist/exec-OUXM7JBF.js +223 -0
- package/dist/exec-OUXM7JBF.js.map +1 -0
- package/dist/feedback-KNAOG5QK.js +229 -0
- package/dist/feedback-KNAOG5QK.js.map +1 -0
- package/dist/github-UQTM5KMS.js +23 -0
- package/dist/github-UQTM5KMS.js.map +1 -0
- package/dist/goal-BVHV5573.js +168 -0
- package/dist/goal-BVHV5573.js.map +1 -0
- package/dist/health-4UXN44PF.js +218 -0
- package/dist/health-4UXN44PF.js.map +1 -0
- package/dist/history-ILH3SWHB.js +232 -0
- package/dist/history-ILH3SWHB.js.map +1 -0
- package/dist/index.d.ts +736 -8
- package/dist/index.js +1312 -6
- package/dist/index.js.map +1 -1
- package/dist/init-XQZ7BOGT.js +812 -0
- package/dist/init-XQZ7BOGT.js.map +1 -0
- package/dist/kpi-RQIU7WGK.js +413 -0
- package/dist/kpi-RQIU7WGK.js.map +1 -0
- package/dist/learn-OIFUVZAS.js +269 -0
- package/dist/learn-OIFUVZAS.js.map +1 -0
- package/dist/login-DXZANWZY.js +155 -0
- package/dist/login-DXZANWZY.js.map +1 -0
- package/dist/memory-T3ACCS7E.js +560 -0
- package/dist/memory-T3ACCS7E.js.map +1 -0
- package/dist/memory-VNF2VFRB.js +23 -0
- package/dist/memory-VNF2VFRB.js.map +1 -0
- package/dist/progress-DAUZMT3N.js +202 -0
- package/dist/progress-DAUZMT3N.js.map +1 -0
- package/dist/providers-3P5D2XL5.js +65 -0
- package/dist/providers-3P5D2XL5.js.map +1 -0
- package/dist/results-UECWGLTB.js +224 -0
- package/dist/results-UECWGLTB.js.map +1 -0
- package/dist/run-I6KAXU6U.js +4049 -0
- package/dist/run-I6KAXU6U.js.map +1 -0
- package/dist/session-HBU6KZOD.js +64 -0
- package/dist/session-HBU6KZOD.js.map +1 -0
- package/dist/sessions-CK25VGPL.js +333 -0
- package/dist/sessions-CK25VGPL.js.map +1 -0
- package/dist/squad-parser-DCG65BJS.js +35 -0
- package/dist/squad-parser-DCG65BJS.js.map +1 -0
- package/dist/stats-G6NAU5BD.js +334 -0
- package/dist/stats-G6NAU5BD.js.map +1 -0
- package/dist/status-AQNLDZVN.js +352 -0
- package/dist/status-AQNLDZVN.js.map +1 -0
- package/dist/sync-ZI3MHA4G.js +836 -0
- package/dist/sync-ZI3MHA4G.js.map +1 -0
- package/dist/templates/core/AGENTS.md.template +51 -0
- package/dist/templates/core/BUSINESS_BRIEF.md.template +29 -0
- package/dist/templates/core/CLAUDE.md.template +48 -0
- package/dist/templates/core/provider.yaml.template +5 -0
- package/dist/templates/first-squad/SQUAD.md.template +23 -0
- package/dist/templates/first-squad/lead.md.template +44 -0
- package/dist/templates/memory/getting-started/state.md.template +19 -0
- package/dist/templates/seed/BUSINESS_BRIEF.md.template +27 -0
- package/dist/templates/seed/CLAUDE.md.template +119 -0
- package/dist/templates/seed/README.md.template +42 -0
- package/dist/templates/seed/config/SYSTEM.md +52 -0
- package/dist/templates/seed/config/provider.yaml +4 -0
- package/dist/templates/seed/hooks/settings.json.template +31 -0
- package/dist/templates/seed/memory/company/directives.md +37 -0
- package/dist/templates/seed/memory/company/manager/state.md +16 -0
- package/dist/templates/seed/memory/engineering/issue-solver/state.md +12 -0
- package/dist/templates/seed/memory/intelligence/intel-lead/state.md +9 -0
- package/dist/templates/seed/memory/marketing/content-drafter/state.md +12 -0
- package/dist/templates/seed/memory/operations/ops-lead/state.md +12 -0
- package/dist/templates/seed/memory/product/lead/state.md +14 -0
- package/dist/templates/seed/memory/research/lead/state.md +14 -0
- package/dist/templates/seed/skills/gh/SKILL.md +57 -0
- package/dist/templates/seed/skills/squads-cli/SKILL.md +84 -0
- package/dist/templates/seed/squads/company/SQUAD.md +51 -0
- package/dist/templates/seed/squads/company/company-critic.md +49 -0
- package/dist/templates/seed/squads/company/company-eval.md +49 -0
- package/dist/templates/seed/squads/company/event-dispatcher.md +43 -0
- package/dist/templates/seed/squads/company/goal-tracker.md +43 -0
- package/dist/templates/seed/squads/company/manager.md +54 -0
- package/dist/templates/seed/squads/engineering/SQUAD.md +48 -0
- package/dist/templates/seed/squads/engineering/code-reviewer.md +57 -0
- package/dist/templates/seed/squads/engineering/issue-solver.md +58 -0
- package/dist/templates/seed/squads/engineering/test-writer.md +50 -0
- package/dist/templates/seed/squads/intelligence/SQUAD.md +38 -0
- package/dist/templates/seed/squads/intelligence/intel-critic.md +36 -0
- package/dist/templates/seed/squads/intelligence/intel-eval.md +31 -0
- package/dist/templates/seed/squads/intelligence/intel-lead.md +71 -0
- package/dist/templates/seed/squads/marketing/SQUAD.md +47 -0
- package/dist/templates/seed/squads/marketing/content-drafter.md +71 -0
- package/dist/templates/seed/squads/marketing/growth-analyst.md +49 -0
- package/dist/templates/seed/squads/marketing/social-poster.md +44 -0
- package/dist/templates/seed/squads/operations/SQUAD.md +45 -0
- package/dist/templates/seed/squads/operations/finance-tracker.md +47 -0
- package/dist/templates/seed/squads/operations/goal-tracker.md +48 -0
- package/dist/templates/seed/squads/operations/ops-lead.md +58 -0
- package/dist/templates/seed/squads/product/SQUAD.md +41 -0
- package/dist/templates/seed/squads/product/lead.md +56 -0
- package/dist/templates/seed/squads/product/scanner.md +50 -0
- package/dist/templates/seed/squads/product/worker.md +55 -0
- package/dist/templates/seed/squads/research/SQUAD.md +38 -0
- package/dist/templates/seed/squads/research/analyst.md +50 -0
- package/dist/templates/seed/squads/research/lead.md +52 -0
- package/dist/templates/seed/squads/research/synthesizer.md +59 -0
- package/dist/templates/skills/squads-learn/SKILL.md +86 -0
- package/dist/templates/skills/squads-workflow/instruction.md +70 -0
- package/dist/terminal-FBQFQTKZ.js +55 -0
- package/dist/terminal-FBQFQTKZ.js.map +1 -0
- package/dist/update-D7CGIZ3M.js +18 -0
- package/dist/update-D7CGIZ3M.js.map +1 -0
- package/dist/update-STU276HR.js +83 -0
- package/dist/update-STU276HR.js.map +1 -0
- package/package.json +31 -13
- package/templates/core/AGENTS.md.template +51 -0
- package/templates/core/BUSINESS_BRIEF.md.template +29 -0
- package/templates/core/CLAUDE.md.template +48 -0
- package/templates/core/provider.yaml.template +5 -0
- package/templates/first-squad/SQUAD.md.template +23 -0
- package/templates/first-squad/lead.md.template +44 -0
- package/templates/memory/getting-started/state.md.template +19 -0
- package/templates/seed/BUSINESS_BRIEF.md.template +27 -0
- package/templates/seed/CLAUDE.md.template +119 -0
- package/templates/seed/README.md.template +42 -0
- package/templates/seed/config/SYSTEM.md +52 -0
- package/templates/seed/config/provider.yaml +4 -0
- package/templates/seed/hooks/settings.json.template +31 -0
- package/templates/seed/memory/company/directives.md +37 -0
- package/templates/seed/memory/company/manager/state.md +16 -0
- package/templates/seed/memory/engineering/issue-solver/state.md +12 -0
- package/templates/seed/memory/intelligence/intel-lead/state.md +9 -0
- package/templates/seed/memory/marketing/content-drafter/state.md +12 -0
- package/templates/seed/memory/operations/ops-lead/state.md +12 -0
- package/templates/seed/memory/product/lead/state.md +14 -0
- package/templates/seed/memory/research/lead/state.md +14 -0
- package/templates/seed/skills/gh/SKILL.md +57 -0
- package/templates/seed/skills/squads-cli/SKILL.md +84 -0
- package/templates/seed/squads/company/SQUAD.md +51 -0
- package/templates/seed/squads/company/company-critic.md +49 -0
- package/templates/seed/squads/company/company-eval.md +49 -0
- package/templates/seed/squads/company/event-dispatcher.md +43 -0
- package/templates/seed/squads/company/goal-tracker.md +43 -0
- package/templates/seed/squads/company/manager.md +54 -0
- package/templates/seed/squads/engineering/SQUAD.md +48 -0
- package/templates/seed/squads/engineering/code-reviewer.md +57 -0
- package/templates/seed/squads/engineering/issue-solver.md +58 -0
- package/templates/seed/squads/engineering/test-writer.md +50 -0
- package/templates/seed/squads/intelligence/SQUAD.md +38 -0
- package/templates/seed/squads/intelligence/intel-critic.md +36 -0
- package/templates/seed/squads/intelligence/intel-eval.md +31 -0
- package/templates/seed/squads/intelligence/intel-lead.md +71 -0
- package/templates/seed/squads/marketing/SQUAD.md +47 -0
- package/templates/seed/squads/marketing/content-drafter.md +71 -0
- package/templates/seed/squads/marketing/growth-analyst.md +49 -0
- package/templates/seed/squads/marketing/social-poster.md +44 -0
- package/templates/seed/squads/operations/SQUAD.md +45 -0
- package/templates/seed/squads/operations/finance-tracker.md +47 -0
- package/templates/seed/squads/operations/goal-tracker.md +48 -0
- package/templates/seed/squads/operations/ops-lead.md +58 -0
- package/templates/seed/squads/product/SQUAD.md +41 -0
- package/templates/seed/squads/product/lead.md +56 -0
- package/templates/seed/squads/product/scanner.md +50 -0
- package/templates/seed/squads/product/worker.md +55 -0
- package/templates/seed/squads/research/SQUAD.md +38 -0
- package/templates/seed/squads/research/analyst.md +50 -0
- package/templates/seed/squads/research/lead.md +52 -0
- package/templates/seed/squads/research/synthesizer.md +59 -0
- package/templates/skills/squads-learn/SKILL.md +86 -0
- package/templates/skills/squads-workflow/instruction.md +70 -0
package/README.md
CHANGED
|
@@ -1,266 +1,640 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# Agents Squads
|
|
4
|
+
|
|
5
|
+
**Your AI ops teams.**
|
|
6
|
+
|
|
7
|
+
Autonomous AI agents for engineering, marketing, finance, and operations.
|
|
8
|
+
You make the decisions. They do the work.
|
|
9
|
+
|
|
10
|
+
[](https://www.npmjs.com/package/squads-cli)
|
|
11
|
+
[](https://www.npmjs.com/package/squads-cli)
|
|
4
12
|
[](LICENSE)
|
|
5
|
-
[](https://nodejs.org)
|
|
13
|
+
[](https://nodejs.org)
|
|
14
|
+
[](https://github.com/agents-squads/squads-cli)
|
|
6
15
|
|
|
7
|
-
|
|
16
|
+
</div>
|
|
8
17
|
|
|
9
|
-
|
|
10
|
-
$ squads dash
|
|
11
|
-
|
|
12
|
-
┌────────────────────────────────────────────────────────────┐
|
|
13
|
-
│ SQUAD AGENTS MEMORY LAST ACTIVITY │
|
|
14
|
-
├────────────────────────────────────────────────────────────┤
|
|
15
|
-
│ intelligence 16 12 entries today │
|
|
16
|
-
│ engineering 5 8 entries today │
|
|
17
|
-
│ research 6 3 entries yesterday │
|
|
18
|
-
│ website 9 5 entries 2d ago │
|
|
19
|
-
└────────────────────────────────────────────────────────────┘
|
|
20
|
-
|
|
21
|
-
Active Goals: 3 | Memory Entries: 28 | Total Agents: 36
|
|
22
|
-
```
|
|
18
|
+
## Why Squads?
|
|
23
19
|
|
|
24
|
-
|
|
20
|
+
Agents Squads is an experimental framework that replicates how businesses
|
|
21
|
+
have been organized and built over decades of evolution — different
|
|
22
|
+
domains, specialized teams, shared goals, prioritization, pivoting, and
|
|
23
|
+
accumulated knowledge. The same structure that makes human organizations
|
|
24
|
+
effective can make AI operations effective.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
LLMs are not learners. Their limitations around self-learning and memory
|
|
27
|
+
are well known. But this framework engineers around those limitations —
|
|
28
|
+
using structured context injection, persistent filesystem memory, and
|
|
29
|
+
feedback loops to extract the best outputs from repetitive tasks and
|
|
30
|
+
accumulate organizational knowledge across cycles.
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
AI agents from different providers — Claude, Gemini, Codex, Grok — each
|
|
33
|
+
have distinct strengths. Claude reasons deeply. Gemini is fast and cheap.
|
|
34
|
+
GPT has broad knowledge. But individually, each one hits a ceiling: no
|
|
35
|
+
shared context, no coordination, no way to evaluate its own output.
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
A **squad** puts multiple AI agents together as a team — different models,
|
|
38
|
+
different roles — working toward a shared goal. A Gemini scanner finds
|
|
39
|
+
opportunities. A Claude worker executes deep reasoning. A fast model
|
|
40
|
+
verifies quality. A lead coordinates and prioritizes. The synergy between
|
|
41
|
+
models and roles produces output no individual agent achieves alone.
|
|
34
42
|
|
|
35
|
-
|
|
43
|
+
Agents within a squad don't just run in parallel — they **converse**.
|
|
44
|
+
A lead briefs the team, workers iterate on the task, the lead reviews
|
|
45
|
+
and redirects, the verifier checks the output. This local conversation
|
|
46
|
+
loop — happening entirely on your machine through shared transcript
|
|
47
|
+
files — lets agents discuss, debate, and converge on a solution before
|
|
48
|
+
shipping anything.
|
|
36
49
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
50
|
+
This is the difference between "AI that helps" and "AI that operates."
|
|
51
|
+
|
|
52
|
+
### Who uses this CLI
|
|
53
|
+
|
|
54
|
+
`squads run` is called by an orchestrating agent — Claude Code, Gemini,
|
|
55
|
+
or any supported CLI. After dispatch, **agents are the primary users of
|
|
56
|
+
this CLI**. They call `squads memory read` to recall what they know,
|
|
57
|
+
`squads env show --json` to understand their execution context, and
|
|
58
|
+
`squads status --json` to see what's happening across the org.
|
|
59
|
+
|
|
60
|
+
The CLI is designed for both human operators and machine consumers —
|
|
61
|
+
every command supports `--json` for programmatic access. Human-facing
|
|
62
|
+
commands (like `squads dash`) prioritize readability. Agent-facing
|
|
63
|
+
commands (like `squads env prompt`) prioritize composability.
|
|
64
|
+
|
|
65
|
+
### Context is the moat
|
|
66
|
+
|
|
67
|
+
Most agent frameworks focus on tool calling. Squads focuses on **what the
|
|
68
|
+
agent knows before it starts working**.
|
|
69
|
+
|
|
70
|
+
Every agent execution loads a layered context cascade — squad identity,
|
|
71
|
+
current priorities, feedback from last cycle, active work across the team —
|
|
72
|
+
tuned by role so scanners stay lightweight and leads get the full picture.
|
|
73
|
+
|
|
74
|
+
The desired result: agents that don't duplicate work, don't ignore
|
|
75
|
+
feedback, and improve with every cycle.
|
|
40
76
|
|
|
41
77
|
## Quick Start
|
|
42
78
|
|
|
43
79
|
```bash
|
|
44
|
-
|
|
80
|
+
npm install -g squads-cli
|
|
45
81
|
squads init
|
|
46
|
-
|
|
47
|
-
# See what you have
|
|
48
82
|
squads status
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`squads init` creates a `.agents/` directory with 4 starter squads and
|
|
86
|
+
configures your environment.
|
|
87
|
+
|
|
88
|
+
## How It Works
|
|
89
|
+
|
|
90
|
+
Everything in Squads is a file. There's no database, no server, no
|
|
91
|
+
runtime to manage. Your entire AI workforce lives in a single `.agents/`
|
|
92
|
+
directory that you commit to git like any other code. This means you get
|
|
93
|
+
version history, code review, branching, and merge — applied to your
|
|
94
|
+
agent definitions and organizational memory.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
.agents/
|
|
98
|
+
├── BUSINESS_BRIEF.md # Business context (primary source)
|
|
99
|
+
├── config/
|
|
100
|
+
│ └── SYSTEM.md # Base behavior (shared across all agents)
|
|
101
|
+
├── squads/
|
|
102
|
+
│ ├── intelligence/
|
|
103
|
+
│ │ ├── SQUAD.md # Squad identity, goals, KPIs
|
|
104
|
+
│ │ ├── scanner.md # Agent definition
|
|
105
|
+
│ │ └── analyst.md # Agent definition
|
|
106
|
+
│ ├── research/
|
|
107
|
+
│ │ ├── SQUAD.md
|
|
108
|
+
│ │ └── analyst.md
|
|
109
|
+
│ ├── product/
|
|
110
|
+
│ │ ├── SQUAD.md
|
|
111
|
+
│ │ └── scanner.md
|
|
112
|
+
│ └── company/
|
|
113
|
+
│ ├── SQUAD.md
|
|
114
|
+
│ └── evaluator.md # COO — evaluates all squad outputs
|
|
115
|
+
└── memory/ # Persistent state (auto-managed)
|
|
116
|
+
├── intelligence/
|
|
117
|
+
├── research/
|
|
118
|
+
├── product/
|
|
119
|
+
└── company/
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
A squad is a directory. An agent is a markdown file. Edit in vim, review in
|
|
123
|
+
a PR, diff in git. No YAML pipelines, no JSON schemas, no DSLs.
|
|
124
|
+
|
|
125
|
+
The three top-level directories serve distinct purposes: `config/` holds
|
|
126
|
+
immutable rules that every agent follows regardless of squad. `squads/`
|
|
127
|
+
holds identity — who each agent is, what it produces, how it behaves.
|
|
128
|
+
`memory/` holds state — what agents have learned, what they're working on,
|
|
129
|
+
what feedback they've received. Identity is stable. Memory evolves.
|
|
130
|
+
|
|
131
|
+
### Context Cascade
|
|
132
|
+
|
|
133
|
+
The biggest problem with autonomous agents isn't capability — it's
|
|
134
|
+
context. An agent that doesn't know what's already been done will
|
|
135
|
+
duplicate work. An agent that doesn't know the company strategy will
|
|
136
|
+
optimize for the wrong thing. An agent that doesn't know its own last
|
|
137
|
+
output was rated as noise will keep producing noise.
|
|
138
|
+
|
|
139
|
+
Squads solves this by loading a layered context cascade before every
|
|
140
|
+
execution, in strict priority order:
|
|
141
|
+
|
|
142
|
+
| # | Layer | Source | Purpose |
|
|
143
|
+
|---|-------|--------|---------|
|
|
144
|
+
| 0 | System Protocol | `config/SYSTEM.md` | Immutable rules every agent follows |
|
|
145
|
+
| 1 | Squad Identity | `squads/{squad}/SQUAD.md` | Mission, goals, output format |
|
|
146
|
+
| 2 | Priorities | `memory/{squad}/priorities.md` | Current operational focus |
|
|
147
|
+
| 3 | Directives | `memory/company/directives.md` | Company-wide strategic overlay |
|
|
148
|
+
| 4 | Active Work | `memory/{squad}/active-work.md` | Open PRs and issues — prevent duplication |
|
|
149
|
+
| 5 | Agent State | `memory/{squad}/{agent}/state.md` | What the agent already knows |
|
|
150
|
+
| 6 | Feedback | `memory/{squad}/feedback.md` | Last cycle evaluation |
|
|
151
|
+
| 7 | Briefings | `memory/daily-briefing.md` | Cross-squad context |
|
|
152
|
+
|
|
153
|
+
The order matters. When the token budget runs out, lower layers drop
|
|
154
|
+
first. An agent that loses briefings still knows its mission and what
|
|
155
|
+
work exists. An agent that loses its identity is useless. The cascade
|
|
156
|
+
ensures graceful degradation — the most critical context always loads.
|
|
157
|
+
|
|
158
|
+
### Role-Based Depth
|
|
159
|
+
|
|
160
|
+
Not every agent needs the same depth of context. A scanner looking for
|
|
161
|
+
new opportunities doesn't need to know the company's strategic directives
|
|
162
|
+
or what feedback other agents received. A lead coordinating across squads
|
|
163
|
+
needs everything. Loading unnecessary context wastes tokens and can
|
|
164
|
+
confuse the agent with irrelevant information.
|
|
49
165
|
|
|
50
|
-
|
|
51
|
-
|
|
166
|
+
- **Scanners** get identity, priorities, and their own state — they discover, don't decide
|
|
167
|
+
- **Workers** add directives, feedback, and active work — they execute with awareness of what exists
|
|
168
|
+
- **Leads** get all layers including cross-squad briefings — they orchestrate with full visibility
|
|
169
|
+
- **Evaluators** get all layers with org-wide summaries — they assess and generate feedback
|
|
52
170
|
|
|
53
|
-
|
|
54
|
-
squads memory query "authentication"
|
|
171
|
+
### Goals vs Priorities
|
|
55
172
|
|
|
56
|
-
|
|
57
|
-
|
|
173
|
+
A common failure mode in autonomous systems is conflating direction with
|
|
174
|
+
execution. An agent that only sees "Fix #461 this week" doesn't know
|
|
175
|
+
*why* that matters or what the bigger picture is. An agent that only sees
|
|
176
|
+
"Build the best developer experience" has no idea what to work on today.
|
|
177
|
+
|
|
178
|
+
Squads separates aspiration from execution:
|
|
179
|
+
|
|
180
|
+
- **Goals** live in `SQUAD.md` — atemporal, aspirational ("Zero friction first-run experience")
|
|
181
|
+
- **Priorities** live in `priorities.md` — temporal, operational ("Fix #461 this week")
|
|
182
|
+
|
|
183
|
+
Goals give agents purpose and judgment. Priorities give them focus. Both
|
|
184
|
+
are injected — goals as identity context that shapes decision-making,
|
|
185
|
+
priorities as immediate operational focus. `squads goal set` writes
|
|
186
|
+
aspirational goals. Priorities are updated between cycles by the human
|
|
187
|
+
operator or the evaluator agent.
|
|
188
|
+
|
|
189
|
+
### Phase Ordering
|
|
190
|
+
|
|
191
|
+
In a real organization, the research team finishes their analysis before
|
|
192
|
+
the product team writes the roadmap. The finance team closes the books
|
|
193
|
+
before the CEO reviews performance. Order matters — and when agents
|
|
194
|
+
execute in the wrong order, they work with stale or missing information.
|
|
195
|
+
|
|
196
|
+
Squads declare dependencies in their SQUAD.md frontmatter:
|
|
197
|
+
|
|
198
|
+
```yaml
|
|
199
|
+
---
|
|
200
|
+
name: product
|
|
201
|
+
depends_on: [intelligence, research]
|
|
202
|
+
---
|
|
58
203
|
```
|
|
59
204
|
|
|
60
|
-
|
|
205
|
+
The CLI computes execution phases via topological sort. Squads with no
|
|
206
|
+
dependencies run first. Squads with `depends_on: ["*"]` run last
|
|
207
|
+
(evaluation). Within each phase, squads run in parallel.
|
|
61
208
|
|
|
62
|
-
###
|
|
209
|
+
### The Feedback Loop
|
|
210
|
+
|
|
211
|
+
This is the core of Squads — a closed loop where agents improve autonomously:
|
|
63
212
|
|
|
64
213
|
```
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
│
|
|
68
|
-
│
|
|
69
|
-
|
|
70
|
-
│
|
|
71
|
-
│
|
|
72
|
-
|
|
73
|
-
|
|
214
|
+
┌─────────────────────────────────────────────────────┐
|
|
215
|
+
│ │
|
|
216
|
+
│ autopilot ──→ squads run │
|
|
217
|
+
│ ▲ │ │
|
|
218
|
+
│ │ ▼ │
|
|
219
|
+
│ │ intelligence ──┐ │
|
|
220
|
+
│ │ research ──────┼──→ product │
|
|
221
|
+
│ │ │ │ │
|
|
222
|
+
│ │ │ ▼ │
|
|
223
|
+
│ │ │ company (COO) │
|
|
224
|
+
│ │ │ │ │
|
|
225
|
+
│ │ │ feedback.md │
|
|
226
|
+
│ │ │ │ │
|
|
227
|
+
│ │ └────────┘ │
|
|
228
|
+
│ │ (injected next cycle) │
|
|
229
|
+
│ └─────────────────────┘ │
|
|
230
|
+
│ │
|
|
231
|
+
└─────────────────────────────────────────────────────┘
|
|
74
232
|
```
|
|
75
233
|
|
|
76
|
-
|
|
234
|
+
After each cycle, the company evaluator assesses all squad outputs:
|
|
235
|
+
what was valuable, what was noise, what to prioritize next. Written to
|
|
236
|
+
`feedback.md` per squad and injected into the next cycle — closing the
|
|
237
|
+
loop so agents learn from their own output quality.
|
|
77
238
|
|
|
78
|
-
|
|
79
|
-
|
|
239
|
+
`squads autopilot` uses these evaluations to determine which squads to
|
|
240
|
+
run next, in what order, with what budget. The full loop: autopilot
|
|
241
|
+
dispatches → agents execute → evaluator writes feedback → autopilot
|
|
242
|
+
reads feedback → dispatches again.
|
|
80
243
|
|
|
81
|
-
##
|
|
82
|
-
Reduce build times and optimize CI/CD pipelines.
|
|
244
|
+
## Running Agents
|
|
83
245
|
|
|
84
|
-
|
|
85
|
-
claude-sonnet-4
|
|
246
|
+
There are three ways to run agents, each suited for different situations.
|
|
86
247
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
- Edit
|
|
248
|
+
**Single agent** — run one agent for a focused task. The agent gets its
|
|
249
|
+
context cascade, executes autonomously, and writes results to GitHub
|
|
250
|
+
and memory. This is the building block.
|
|
91
251
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
3. Implement caching strategies
|
|
96
|
-
4. Verify improvements
|
|
252
|
+
```bash
|
|
253
|
+
squads run research/analyst
|
|
254
|
+
squads run intelligence --task "Scan competitor pricing changes"
|
|
97
255
|
```
|
|
98
256
|
|
|
99
|
-
|
|
257
|
+
**Squad conversation** — run an entire squad as a coordinated team. The
|
|
258
|
+
lead briefs first, workers execute in parallel, the lead reviews outputs,
|
|
259
|
+
and the cycle repeats until the team converges on a result. This is where
|
|
260
|
+
multi-agent synergy happens.
|
|
100
261
|
|
|
101
262
|
```bash
|
|
102
|
-
|
|
103
|
-
squads memory show engineering
|
|
104
|
-
# → "Switched to pnpm for faster installs"
|
|
105
|
-
# → "Build cache reduced CI time by 40%"
|
|
106
|
-
# → "Team prefers explicit over implicit configs"
|
|
107
|
-
|
|
108
|
-
# Search across all squads
|
|
109
|
-
squads memory query "performance"
|
|
263
|
+
squads run research --parallel
|
|
110
264
|
```
|
|
111
265
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
266
|
+
**Autonomous dispatch** — let Squads decide what to run, when, and in
|
|
267
|
+
what order. Autopilot reads priorities and feedback, respects phase
|
|
268
|
+
ordering, and manages budget constraints. This is the hands-off mode for
|
|
269
|
+
continuous operations.
|
|
115
270
|
|
|
116
271
|
```bash
|
|
117
|
-
squads
|
|
118
|
-
squads status engineering # Single squad details
|
|
119
|
-
squads status -v # Verbose with agent list
|
|
120
|
-
squads dash # Full dashboard with goals
|
|
272
|
+
squads autopilot --interval 30 --budget 50
|
|
121
273
|
```
|
|
122
274
|
|
|
123
|
-
|
|
275
|
+
## Starter Squads
|
|
276
|
+
|
|
277
|
+
The first experience matters. Rather than shipping an empty framework and
|
|
278
|
+
asking you to figure out what to build, `squads init` ships with 4 squads
|
|
279
|
+
designed to deliver visible output from the very first run. These aren't
|
|
280
|
+
demo squads — they're the foundation of an operational AI workforce.
|
|
281
|
+
|
|
282
|
+
| Squad | What It Does | Agents |
|
|
283
|
+
|-------|-------------|--------|
|
|
284
|
+
| **intelligence** | Strategic synthesis — Know / Don't Know / Playbook briefs | intel-lead, intel-eval, intel-critic |
|
|
285
|
+
| **research** | Market, competitor, and trend research with sourced findings | lead, analyst, synthesizer |
|
|
286
|
+
| **product** | Roadmap, specs, user feedback synthesis | lead, scanner, worker |
|
|
287
|
+
| **company** | Orchestrates squads, evaluates outputs, closes the feedback loop | manager, evaluator, goal-tracker, event-dispatcher, critic |
|
|
288
|
+
|
|
289
|
+
**Intelligence + research** produce insights. **Product** turns insights
|
|
290
|
+
into roadmap. **Company** evaluates everything and writes feedback — which
|
|
291
|
+
agents read next cycle. The loop closes automatically.
|
|
292
|
+
|
|
293
|
+
Additional squads available as packs:
|
|
124
294
|
|
|
125
295
|
```bash
|
|
126
|
-
squads
|
|
127
|
-
squads
|
|
128
|
-
squads
|
|
296
|
+
squads init --pack engineering # Add engineering squad
|
|
297
|
+
squads init --pack marketing # Add marketing squad
|
|
298
|
+
squads init --pack all # All available squads
|
|
129
299
|
```
|
|
130
300
|
|
|
131
|
-
###
|
|
301
|
+
### Build Your Own
|
|
302
|
+
|
|
303
|
+
Squads are directories. Agents are markdown files. Bring your own skills,
|
|
304
|
+
tools, and CLIs — anything your agents can run in a terminal becomes part
|
|
305
|
+
of the squad.
|
|
132
306
|
|
|
133
307
|
```bash
|
|
134
|
-
squads
|
|
135
|
-
squads memory show research # View squad memory
|
|
136
|
-
squads memory update research # Add to memory
|
|
137
|
-
squads memory list # List all entries
|
|
308
|
+
squads add devops -d "Infrastructure and deployment automation"
|
|
138
309
|
```
|
|
139
310
|
|
|
140
|
-
|
|
311
|
+
This creates `squads/devops/SQUAD.md` and a lead agent. Add more agents
|
|
312
|
+
as `.md` files, define their roles, give them access to your CLIs
|
|
313
|
+
(`terraform`, `kubectl`, `aws`, `docker` — whatever they need), and run:
|
|
141
314
|
|
|
142
315
|
```bash
|
|
143
|
-
squads
|
|
144
|
-
squads goal list # View all goals
|
|
145
|
-
squads goal progress finance 75 # Update progress
|
|
146
|
-
squads goal complete finance # Mark done
|
|
316
|
+
squads run devops --parallel
|
|
147
317
|
```
|
|
148
318
|
|
|
149
|
-
###
|
|
319
|
+
### Customizing Your Squads
|
|
150
320
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
321
|
+
Agents read context in layers — higher layers are stable, lower layers
|
|
322
|
+
change often. Update them in this order:
|
|
323
|
+
|
|
324
|
+
#### 1. Business Brief (what you do)
|
|
325
|
+
|
|
326
|
+
Edit `.agents/BUSINESS_BRIEF.md` — every agent reads this before every run.
|
|
327
|
+
The more specific you are, the better agents perform.
|
|
328
|
+
|
|
329
|
+
```markdown
|
|
330
|
+
What does your business do? Who are your customers? What market?
|
|
331
|
+
What should agents research first? Who are your competitors?
|
|
155
332
|
```
|
|
156
333
|
|
|
157
|
-
|
|
334
|
+
#### 2. Directives (what matters now)
|
|
335
|
+
|
|
336
|
+
Edit `.agents/memory/company/directives.md` — strategic overlay that
|
|
337
|
+
overrides squad-level goals when there's a conflict.
|
|
158
338
|
|
|
159
|
-
|
|
339
|
+
```markdown
|
|
340
|
+
What is the #1 priority right now? What metric are you optimizing?
|
|
341
|
+
What constraints apply? What should agents NOT do?
|
|
342
|
+
```
|
|
160
343
|
|
|
161
|
-
|
|
344
|
+
#### 3. Squad Goals (what each team does)
|
|
162
345
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}]
|
|
172
|
-
}]
|
|
173
|
-
}
|
|
174
|
-
}
|
|
346
|
+
Replace the generic goals in each `SQUAD.md` with goals specific to your
|
|
347
|
+
business:
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
# Or use the CLI:
|
|
351
|
+
squads goal set intelligence "Monitor competitor X's pricing weekly"
|
|
352
|
+
squads goal set research "Deep dive on Y market segment"
|
|
353
|
+
squads goal set product "Write spec for Z feature"
|
|
175
354
|
```
|
|
176
355
|
|
|
177
|
-
|
|
356
|
+
#### 4. Priorities (what to do this week)
|
|
178
357
|
|
|
179
|
-
|
|
358
|
+
Create or edit `.agents/memory/{squad}/priorities.md` — operational focus
|
|
359
|
+
that changes frequently:
|
|
180
360
|
|
|
181
361
|
```markdown
|
|
182
|
-
|
|
362
|
+
- Fix issue #123 (blocking users)
|
|
363
|
+
- Research competitor's new feature launch
|
|
364
|
+
- Update roadmap based on last cycle's feedback
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
**Rule**: Goals are aspirational (stable). Priorities are operational
|
|
368
|
+
(updated frequently). Directives are strategic (updated less frequently).
|
|
369
|
+
|
|
370
|
+
#### Agent Instructions
|
|
371
|
+
|
|
372
|
+
Each `.md` file in a squad defines an agent's behavior, output format,
|
|
373
|
+
and quality rules. The starter agents come with structured output formats
|
|
374
|
+
(tables, scoring rubrics, required sections) — modify these to match what
|
|
375
|
+
you actually need.
|
|
183
376
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
377
|
+
#### System Protocol
|
|
378
|
+
|
|
379
|
+
`.agents/config/SYSTEM.md` contains immutable rules all agents follow —
|
|
380
|
+
git workflow, memory protocol, output standards. You rarely need to change
|
|
381
|
+
this, but you can customize it for your team's conventions.
|
|
382
|
+
|
|
383
|
+
## Why CLI-First?
|
|
384
|
+
|
|
385
|
+
AI agents already live in the terminal. Wrapping them in a web UI or
|
|
386
|
+
Python runtime adds latency, complexity, and failure modes. A CLI
|
|
387
|
+
orchestrating CLIs is zero-overhead — and it means your agents can use
|
|
388
|
+
**any tool you can run in a shell**.
|
|
389
|
+
|
|
390
|
+
The more CLIs your agents have access to, the more capable your squads
|
|
391
|
+
become. Squads itself is just the orchestrator — the real power comes
|
|
392
|
+
from the tools you give your agents.
|
|
393
|
+
|
|
394
|
+
### Required
|
|
395
|
+
|
|
396
|
+
| Tool | Purpose |
|
|
397
|
+
|------|---------|
|
|
398
|
+
| [Node.js](https://nodejs.org) >= 18 | Runtime |
|
|
399
|
+
| [Git](https://git-scm.com) | Memory sync, version control |
|
|
400
|
+
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (`claude`) | Default agent execution |
|
|
401
|
+
|
|
402
|
+
### Recommended
|
|
403
|
+
|
|
404
|
+
| Tool | Purpose |
|
|
405
|
+
|------|---------|
|
|
406
|
+
| [GitHub CLI](https://cli.github.com) (`gh`) | Issue tracking, PRs, project management |
|
|
407
|
+
| [Google Cloud CLI](https://cloud.google.com/sdk) (`gcloud`) | GCP deployments, secrets, infrastructure |
|
|
408
|
+
| [Wrangler](https://developers.cloudflare.com/workers/wrangler/) (`wrangler`) | Cloudflare Workers, Pages, DNS |
|
|
409
|
+
| [Google Workspace CLI](https://github.com/nicholasgasior/gws) (`gws`) | Drive, Gmail, Calendar, Sheets |
|
|
410
|
+
|
|
411
|
+
### Any CLI Your Agents Need
|
|
412
|
+
|
|
413
|
+
```bash
|
|
414
|
+
terraform, kubectl, docker, aws, vercel, stripe, twilio,
|
|
415
|
+
psql, redis-cli, curl, jq, ffmpeg, imagemagick...
|
|
188
416
|
```
|
|
189
417
|
|
|
190
|
-
|
|
418
|
+
If it runs in a terminal, your agents can use it.
|
|
419
|
+
|
|
420
|
+
### Skills + CLIs
|
|
421
|
+
|
|
422
|
+
Agents get capabilities through two layers:
|
|
423
|
+
|
|
424
|
+
- **CLIs** are the tools — `gh`, `gcloud`, `curl`, `psql`. They execute
|
|
425
|
+
actions in the real world.
|
|
426
|
+
- **Skills** are the knowledge — markdown files that teach agents *how*
|
|
427
|
+
to use those tools effectively. A BigQuery skill teaches query
|
|
428
|
+
optimization patterns. A GitHub skill teaches your PR workflow. A
|
|
429
|
+
deployment skill codifies your staging-to-prod pipeline.
|
|
191
430
|
|
|
192
431
|
```
|
|
193
|
-
|
|
194
|
-
├── .
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
│ │ │ └── *.md # Agent definitions
|
|
199
|
-
│ │ └── research/
|
|
200
|
-
│ ├── memory/ # Persistent state
|
|
201
|
-
│ │ ├── engineering/
|
|
202
|
-
│ │ │ └── state.md
|
|
203
|
-
│ │ └── research/
|
|
204
|
-
│ └── outputs/ # Agent outputs
|
|
205
|
-
├── .claude/
|
|
206
|
-
│ └── settings.json # Hooks config
|
|
207
|
-
└── CLAUDE.md # Project instructions
|
|
432
|
+
.claude/skills/
|
|
433
|
+
├── bq/SKILL.md # BigQuery patterns + cost optimization
|
|
434
|
+
├── gh/SKILL.md # GitHub workflow + PR conventions
|
|
435
|
+
├── gcloud/SKILL.md # GCP deployment procedures
|
|
436
|
+
└── e2e-test/SKILL.md # Browser testing with Chrome CDP
|
|
208
437
|
```
|
|
209
438
|
|
|
210
|
-
|
|
439
|
+
Skills are injected into agent context alongside squad identity and
|
|
440
|
+
memory. The combination of CLI tools + domain knowledge in skills is
|
|
441
|
+
what turns a generic LLM into a specialized operator.
|
|
442
|
+
|
|
443
|
+
No MCP servers, no custom tool registries, no adapter layers. A skill
|
|
444
|
+
file + a CLI installed on your machine is all an agent needs to operate
|
|
445
|
+
in any domain.
|
|
211
446
|
|
|
447
|
+
`squads doctor` checks which CLIs are available on your machine.
|
|
448
|
+
|
|
449
|
+
## Commands
|
|
450
|
+
|
|
451
|
+
The command surface is split into two audiences. Human operators manage
|
|
452
|
+
the workforce — they set goals, monitor progress, and control budgets.
|
|
453
|
+
Agents consume the CLI programmatically during execution — they read
|
|
454
|
+
their own context, persist learnings, and record metrics. Every command
|
|
455
|
+
supports `--json` so agents can parse outputs reliably.
|
|
456
|
+
|
|
457
|
+
### For Humans
|
|
458
|
+
|
|
459
|
+
```bash
|
|
460
|
+
# Setup
|
|
461
|
+
squads init # Bootstrap .agents/ directory
|
|
462
|
+
squads add <name> # Add a new squad
|
|
463
|
+
squads doctor # Check tools and readiness
|
|
464
|
+
|
|
465
|
+
# Execute
|
|
466
|
+
squads run <squad/agent> # Run an agent or full squad
|
|
467
|
+
squads autopilot # Autonomous scheduling with budget control
|
|
468
|
+
|
|
469
|
+
# Monitor
|
|
470
|
+
squads status [squad] # Overview of all squads
|
|
471
|
+
squads sessions # Active agent sessions on your machine
|
|
472
|
+
squads dash # Dashboard with goals, metrics, activity
|
|
473
|
+
|
|
474
|
+
# Goals & Tracking
|
|
475
|
+
squads goal set squad "goal" # Set a squad objective
|
|
476
|
+
squads goal list # View all goals
|
|
477
|
+
squads results [squad] # Git activity + KPI actuals
|
|
478
|
+
squads stats [squad] # Workforce scorecard + ROI
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
### For Agents
|
|
482
|
+
|
|
483
|
+
Agents are the primary consumers of this CLI. After `squads run`
|
|
484
|
+
dispatches an agent, it uses these commands to understand its context,
|
|
485
|
+
persist knowledge, and evaluate its own work.
|
|
486
|
+
|
|
487
|
+
```bash
|
|
488
|
+
# Context
|
|
489
|
+
squads env show <squad> --json # Execution context (MCP, model, budget)
|
|
490
|
+
squads env prompt <squad> -a <agent> # Generate sub-agent prompt
|
|
491
|
+
squads status --json # Org-wide state for coordination
|
|
492
|
+
|
|
493
|
+
# Memory
|
|
494
|
+
squads memory read <squad> # Recall squad knowledge
|
|
495
|
+
squads memory write <squad> "x"# Persist a learning
|
|
496
|
+
squads memory query "topic" # Search across all memory
|
|
497
|
+
|
|
498
|
+
# Feedback loop
|
|
499
|
+
squads feedback show <squad> # Last cycle evaluation
|
|
500
|
+
squads feedback add <squad> <rating> "text" # Write evaluation
|
|
501
|
+
squads exec list # Own execution history
|
|
502
|
+
squads kpi record <squad> <kpi> <value> # Record a metric
|
|
212
503
|
```
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
squads goal set <squad> <goal>
|
|
232
|
-
squads goal list [squad]
|
|
233
|
-
squads goal progress <squad> <pct>
|
|
234
|
-
squads goal complete <squad>
|
|
235
|
-
|
|
236
|
-
squads feedback add <squad> <rating> <text>
|
|
237
|
-
squads feedback show <squad>
|
|
238
|
-
squads feedback stats
|
|
239
|
-
|
|
240
|
-
squads dashboard Full dashboard
|
|
241
|
-
squads init Initialize project
|
|
242
|
-
squads login/logout/whoami Authentication (Pro)
|
|
504
|
+
|
|
505
|
+
Everything above works locally — no login, no cloud, no API.
|
|
506
|
+
Every command supports `--json` for machine consumption.
|
|
507
|
+
|
|
508
|
+
## Configuration
|
|
509
|
+
|
|
510
|
+
Agents need API keys to execute. Squads reads secrets from a `.env` file
|
|
511
|
+
in your project root — the same pattern used by most Node.js and Python
|
|
512
|
+
projects. Each provider's CLI uses its own environment variable, so you
|
|
513
|
+
only need keys for the providers you actually use.
|
|
514
|
+
|
|
515
|
+
```bash
|
|
516
|
+
# .env — never commit this file
|
|
517
|
+
ANTHROPIC_API_KEY=sk-ant-... # Required for Claude Code (default provider)
|
|
518
|
+
GEMINI_API_KEY=... # Required for Gemini CLI
|
|
519
|
+
OPENAI_API_KEY=sk-... # Required for Codex
|
|
520
|
+
GITHUB_TOKEN=ghp_... # Recommended for gh CLI operations
|
|
243
521
|
```
|
|
244
522
|
|
|
523
|
+
`squads run` loads `.env` automatically before dispatching any agent.
|
|
524
|
+
If a required key is missing, the provider's CLI will report the error —
|
|
525
|
+
Squads doesn't mask or intercept auth failures. Add `.env` to your
|
|
526
|
+
`.gitignore` to keep secrets out of version control.
|
|
527
|
+
|
|
528
|
+
## Providers
|
|
529
|
+
|
|
530
|
+
Multi-provider support isn't just a feature — it's central to how squads
|
|
531
|
+
work. Different models have different strengths, costs, and speed
|
|
532
|
+
profiles. A squad can route its scanner to a fast, cheap model (Gemini
|
|
533
|
+
Flash) for high-volume monitoring, its worker to a deep reasoning model
|
|
534
|
+
(Claude Opus) for complex analysis, and its verifier to a mid-tier model
|
|
535
|
+
for cost-effective quality checks.
|
|
536
|
+
|
|
537
|
+
Squads shells out to native AI CLIs. Each provider's CLI handles auth,
|
|
538
|
+
context, and tool use independently — Squads just orchestrates.
|
|
539
|
+
|
|
540
|
+
| Provider | CLI | Status |
|
|
541
|
+
|----------|-----|--------|
|
|
542
|
+
| Anthropic | `claude` | Stable — primary provider |
|
|
543
|
+
| Google | `gemini` | Stable |
|
|
544
|
+
| OpenAI | `codex` | Experimental |
|
|
545
|
+
| Mistral | `vibe` | Experimental |
|
|
546
|
+
| xAI | `grok` | Experimental |
|
|
547
|
+
| Ollama | `ollama` | Experimental |
|
|
548
|
+
|
|
549
|
+
Experimental providers have CLI integration but haven't been extensively
|
|
550
|
+
tested in production. Contributions welcome — especially from teams
|
|
551
|
+
already using these CLIs for autonomous work.
|
|
552
|
+
|
|
553
|
+
```bash
|
|
554
|
+
squads run research --provider=google --model=gemini-2.5-flash
|
|
555
|
+
squads providers # List available providers and install status
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
## Local Execution and Scaling
|
|
559
|
+
|
|
560
|
+
Squads runs locally by default — your machine, your API keys, your
|
|
561
|
+
control. There's no cloud dependency for core functionality. Each agent
|
|
562
|
+
execution spawns a CLI process (`claude`, `gemini`, etc.) that runs
|
|
563
|
+
until completion. Your data never leaves your machine unless the agent
|
|
564
|
+
explicitly pushes to GitHub or another service you've configured.
|
|
565
|
+
|
|
566
|
+
### Local limits
|
|
567
|
+
|
|
568
|
+
| Parallel squads | Machine |
|
|
569
|
+
|----------------|---------|
|
|
570
|
+
| 2–3 | 8 GB RAM, 4 cores (laptop) |
|
|
571
|
+
| 4–6 | 16 GB RAM, 8 cores (workstation) |
|
|
572
|
+
| 8–12 | 32 GB+ RAM, 10+ cores (M-series Mac / desktop) |
|
|
573
|
+
|
|
574
|
+
*Actual capacity depends on your CPU, memory, and which providers you
|
|
575
|
+
use. `squads autopilot --max-parallel 3` controls concurrent executions.
|
|
576
|
+
Monitor with `squads sessions`.*
|
|
577
|
+
|
|
578
|
+
### Cloud scaling
|
|
579
|
+
|
|
580
|
+
Local execution works well for individuals and small teams, but it has
|
|
581
|
+
natural limits — your machine needs to stay running, parallel execution
|
|
582
|
+
is bounded by hardware, and there's no shared visibility across team
|
|
583
|
+
members. When you're ready to scale autonomous operations across teams,
|
|
584
|
+
cloud execution runs the same agents, same memory, same commands — but
|
|
585
|
+
on managed infrastructure instead of your laptop.
|
|
586
|
+
|
|
245
587
|
## Development
|
|
246
588
|
|
|
247
589
|
```bash
|
|
248
|
-
git clone https://github.com/agents-squads/squads-cli
|
|
590
|
+
git clone https://github.com/agents-squads/squads-cli.git
|
|
249
591
|
cd squads-cli
|
|
250
592
|
npm install
|
|
251
593
|
npm run build
|
|
252
|
-
npm link
|
|
594
|
+
npm link # Makes 'squads' available globally
|
|
595
|
+
npm test
|
|
253
596
|
```
|
|
254
597
|
|
|
598
|
+
TypeScript (strict mode), Commander.js, Vitest, tsup.
|
|
599
|
+
|
|
600
|
+
## Contributing
|
|
601
|
+
|
|
602
|
+
Contributions welcome. Open an issue first to discuss changes.
|
|
603
|
+
|
|
604
|
+
1. Fork the repository
|
|
605
|
+
2. Create your branch (`git checkout -b feature/my-feature`)
|
|
606
|
+
3. Commit your changes
|
|
607
|
+
4. Open a Pull Request
|
|
608
|
+
|
|
609
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
610
|
+
|
|
611
|
+
## Community
|
|
612
|
+
|
|
613
|
+
- [GitHub Issues](https://github.com/agents-squads/squads-cli/issues) — Bug reports and feature requests
|
|
614
|
+
- [GitHub Discussions](https://github.com/agents-squads/squads-cli/discussions) — Questions and ideas
|
|
615
|
+
- [Website](https://agents-squads.com) — Documentation and guides
|
|
616
|
+
|
|
255
617
|
## Related
|
|
256
618
|
|
|
257
|
-
- [agents-squads](https://github.com/agents-squads/agents-squads) —
|
|
258
|
-
- [engram](https://github.com/agents-squads/engram) — Persistent memory for AI agents
|
|
619
|
+
- [agents-squads](https://github.com/agents-squads/agents-squads) — The framework
|
|
259
620
|
|
|
260
|
-
##
|
|
621
|
+
## Get Started
|
|
261
622
|
|
|
262
|
-
|
|
623
|
+
```bash
|
|
624
|
+
npm install -g squads-cli
|
|
625
|
+
squads init
|
|
626
|
+
squads run research/analyst
|
|
627
|
+
```
|
|
263
628
|
|
|
264
|
-
|
|
629
|
+
Build your own squads. Write your own skills. Optimize for your desired
|
|
630
|
+
outputs. Every organization is different — Squads gives you the structure,
|
|
631
|
+
you bring the domain knowledge. Start with the starter squads, observe
|
|
632
|
+
what works, tune the context, and iterate. The agents get better as your
|
|
633
|
+
skills and memory accumulate.
|
|
265
634
|
|
|
266
|
-
|
|
635
|
+
We'd love to see what you build. Share your squads and skills in
|
|
636
|
+
[GitHub Discussions](https://github.com/agents-squads/squads-cli/discussions).
|
|
637
|
+
|
|
638
|
+
## License
|
|
639
|
+
|
|
640
|
+
[MIT](LICENSE)
|