squad-kit 0.12.4 → 1.0.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/CHANGELOG.md +175 -1
- package/README.md +110 -220
- package/dist/cli.js +14874 -1389
- package/dist/console-ui/assets/ibm-plex-sans-arabic-arabic-400-normal-CyU-ddYS.woff2 +0 -0
- package/dist/console-ui/assets/ibm-plex-sans-arabic-arabic-500-normal-C4MQITzh.woff2 +0 -0
- package/dist/console-ui/assets/ibm-plex-sans-arabic-arabic-600-normal-0pRdybE_.woff2 +0 -0
- package/dist/console-ui/assets/ibm-plex-sans-arabic-arabic-700-normal-DrtBj6UE.woff2 +0 -0
- package/dist/console-ui/assets/index-CSk4SKT_.css +1 -0
- package/dist/console-ui/assets/index-DKFsGYQn.js +500 -0
- package/dist/console-ui/assets/instrument-sans-latin-ext-standard-normal-C5E2Gvlv.woff2 +0 -0
- package/dist/console-ui/assets/instrument-sans-latin-standard-normal-BVScPF0l.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-cyrillic-ext-600-normal-Dj6eZy5f.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2 +0 -0
- package/dist/console-ui/assets/jetbrains-mono-vietnamese-600-normal-Dtizs43-.woff2 +0 -0
- package/dist/console-ui/index.html +5 -5
- package/dist/console-ui/logo.svg +8 -17
- package/package.json +5 -3
- package/templates/demo/proof/sk139-after.png +0 -0
- package/templates/demo/proof/sk139-before.png +0 -0
- package/templates/demo/proof/sk148-dark-b.png +0 -0
- package/templates/demo/proof/sk148-dark.png +0 -0
- package/templates/demo/proof/sk148-light.png +0 -0
- package/dist/console-ui/assets/index-DP-vFdYe.css +0 -1
- package/dist/console-ui/assets/index-DzO_eLUH.js +0 -442
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,178 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.0.1] — 2026-11-03
|
|
11
|
+
|
|
12
|
+
squad-kit 1.0.1 makes the squad steadier and easier to follow, from what we saw in the first trials. To get it
|
|
13
|
+
from 1.0.0, run `squad upgrade` once. From now on the app updates itself with one button.
|
|
14
|
+
|
|
15
|
+
### Easier to follow
|
|
16
|
+
|
|
17
|
+
- **"From an idea or message" works and shows its progress.** The dialog no longer disappears behind a blurred
|
|
18
|
+
board. The Analyst works in the background with three steps and a clock, and you can press Cancel. You can
|
|
19
|
+
close the window: the draft waits for you under New ticket.
|
|
20
|
+
- **Errors stay on screen** until you close them.
|
|
21
|
+
- **The Conversation tab reads in plain words.** "Handed in its answer" replaces the raw answer, and a command
|
|
22
|
+
the step may not run shows in grey as skipped, not in red as a failure.
|
|
23
|
+
- **A ticket waiting for a free place says so**: "Waiting for a free place", with the limit, instead of
|
|
24
|
+
looking as if it runs.
|
|
25
|
+
- **"Resumed after sleep"** shows when the computer slept in the middle of a step.
|
|
26
|
+
|
|
27
|
+
### The Update button
|
|
28
|
+
|
|
29
|
+
- **The app looks for a new version** on start and once a day. When one is out, Home and every project show
|
|
30
|
+
it with what is new. **Update now** waits until no agent is in the middle of a step, installs, and restarts
|
|
31
|
+
the app on the same link. Every ticket carries on where it was.
|
|
32
|
+
- **Settings › About squad-kit** shows your version, when it last checked, and a switch for the daily check.
|
|
33
|
+
Terminal: `squad upgrade`.
|
|
34
|
+
|
|
35
|
+
### Quality
|
|
36
|
+
|
|
37
|
+
- **A new Quality setting** on the Squad and AI page: **Best** (the default), **Balanced** or **Thrifty**.
|
|
38
|
+
On Best, the strongest model builds and reviews at high effort. On Claude Code that is Opus. Terminal:
|
|
39
|
+
`squad config set quality best`.
|
|
40
|
+
- **A new "extra high" effort.** On Best, a Builder run that fails moves the next one up to extra high.
|
|
41
|
+
- **The Reviewer is never weaker than the Builder** on Best and Balanced.
|
|
42
|
+
- **Reading the project after a merge is cheaper.** The project map is only read again when files are added,
|
|
43
|
+
moved or removed, and that read runs on a lighter model.
|
|
44
|
+
|
|
45
|
+
### No silent hangs
|
|
46
|
+
|
|
47
|
+
- **Stop works at every moment**, also between two runs, and it ends the agent with everything it started. A
|
|
48
|
+
step that runs out of time ends the same way.
|
|
49
|
+
- **Git that talks to a remote has a time limit**, and never waits for a password prompt nobody sees.
|
|
50
|
+
- **Starting an agent has a time limit.** If it cannot start, the step says why instead of waiting.
|
|
51
|
+
- **The Builder no longer waits for the "before" screenshots.** They are taken beside it, with their own time
|
|
52
|
+
limit.
|
|
53
|
+
- **A test, lint or build command with no output for 5 minutes is stopped**, and the ticket says which one.
|
|
54
|
+
|
|
55
|
+
### Agents stay in their lane
|
|
56
|
+
|
|
57
|
+
- **Every agent runs with the permissions of its step.** The Tester can run the app but cannot change the code;
|
|
58
|
+
what it changes anyway, squad-kit puts back.
|
|
59
|
+
- **No agent can change the instruction files** the next session would follow, such as `CLAUDE.md`, or
|
|
60
|
+
squad-kit's own `.squad/` folder. Agents read copies of the project's rules, never your own folder.
|
|
61
|
+
- **No agent can rewrite git history.** squad-kit checks after each Builder and Tester step.
|
|
62
|
+
- **Every answer is checked.** An incomplete answer is asked for once more, then the step says so plainly.
|
|
63
|
+
- **Text from outside**, such as a tracker item or a pasted message, reaches the agents as data, never as
|
|
64
|
+
orders.
|
|
65
|
+
- **Test, setup and release commands no longer get the AI and tracker keys.**
|
|
66
|
+
|
|
67
|
+
### No lost work
|
|
68
|
+
|
|
69
|
+
- **A release and a "Looks right" at the same moment** no longer get in each other's way.
|
|
70
|
+
- **Stop keeps the step the ticket was at.**
|
|
71
|
+
- **"Bring in the latest main"** uses the remote's main, not an old local copy.
|
|
72
|
+
- **Only a real clash counts as a clash.** Other git errors say what went wrong. `squad doctor` checks the git
|
|
73
|
+
version.
|
|
74
|
+
- **Tracker updates are kept until they are sent**, and retried when the tracker is down.
|
|
75
|
+
- **A release whose push failed** says "not pushed yet", with **Push again** on the Releases page. Terminal:
|
|
76
|
+
`squad release <version> --push-again`.
|
|
77
|
+
- **Withdraw change** takes back an approved change the squad has not built yet, and puts the spec back to how
|
|
78
|
+
it was. Terminal: `squad propose <ID> --withdraw`.
|
|
79
|
+
|
|
80
|
+
### Fixes
|
|
81
|
+
|
|
82
|
+
- **The Architect writes the stack**, with each part's role, from the code it reads. `stack.md` was empty.
|
|
83
|
+
- **The Reviewer is told the checks already ran**, so it does not run them again.
|
|
84
|
+
|
|
85
|
+
## [1.0.0] — 2026-11-02
|
|
86
|
+
|
|
87
|
+
squad-kit 1.0 is an agent harness for the whole software cycle. You write a ticket in plain words. A squad of
|
|
88
|
+
AI agents (Analyst, Architect, Builder, Tester and Reviewer) takes it from that ask to a release, and you stay
|
|
89
|
+
in control through buttons and approvals. It needs Node.js 22 or newer, git, and an AI tool installed and
|
|
90
|
+
signed in: Claude Code today. Moving an existing project: [Moving to 1.0](docs/migrating-to-1.0.md).
|
|
91
|
+
|
|
92
|
+
### The one app
|
|
93
|
+
|
|
94
|
+
- **Plain `squad` opens one app for all your projects**, from any folder, in your browser at `127.0.0.1:4571`.
|
|
95
|
+
It runs on your computer only, behind a private link.
|
|
96
|
+
- **Home** lists your projects and one **Waiting for you** list across all of them.
|
|
97
|
+
- **Add project** opens a folder browser inside the page. It says what kind of folder you picked, and can make
|
|
98
|
+
a new one.
|
|
99
|
+
- **`squad console`** in a folder adds that project to the app and opens its board, starting the app if needed.
|
|
100
|
+
- Every project has its own board, at its own address. Every button has a terminal command, and commands take
|
|
101
|
+
`--project <name>` from any folder. New: `squad projects`, and `squad inbox` across every project.
|
|
102
|
+
- `squad --restart` and **Restart the board** start a fresh app on the same link. Running work picks up where it
|
|
103
|
+
stopped.
|
|
104
|
+
|
|
105
|
+
### Projects and files
|
|
106
|
+
|
|
107
|
+
- **Any folder can be a project**: an empty folder (a new repo), code with git (kept as it is), code without git
|
|
108
|
+
(a new repo with your files in its first commit, without `node_modules`, `dist` or `.env`), or a folder with
|
|
109
|
+
several code repos.
|
|
110
|
+
- **The project keeps its own memory in `.squad/`**, as Markdown people can read and edit: `config.yaml`, and
|
|
111
|
+
`tickets/<ID>/` with `ticket.md`, `spec.md`, `questions.md`, `design.md`, `notes.md`, `proof.md` and attached
|
|
112
|
+
files, plus `decisions/`, `releases/`, `rules/` and `knowledge/`.
|
|
113
|
+
- **This computer keeps its own part in `~/.squad-kit/projects/<id>/`**: live progress, agent chats,
|
|
114
|
+
screenshots, voice notes, sign-ins and cost. Nothing secret, personal or big goes into the project folder.
|
|
115
|
+
- **Git stays quiet.** `.squad/` goes in git's local ignore list, never in `.gitignore`. For a project whose
|
|
116
|
+
`.squad/` sits in its one repo, squad-kit commits each ticket's documents on the ticket's branch, and the
|
|
117
|
+
release commit carries the rest. `git log .squad/tickets/<ID>` shows each big moment of a ticket.
|
|
118
|
+
|
|
119
|
+
### Tickets and the squad
|
|
120
|
+
|
|
121
|
+
- **Write a ticket on the board** in plain words, with criteria, business rules, edge cases and files. Or paste
|
|
122
|
+
an idea or a chat message and the Analyst fills in the ticket for you to check. Bugs have their own form.
|
|
123
|
+
- **Pull a ticket from your tracker.** Azure DevOps today: the backlog by sprint, comments, states, bugs, pull
|
|
124
|
+
requests on Azure Repos, and items closed with the version on release. Tickets keep the tracker's name, like
|
|
125
|
+
`AB-46`; a project without a tracker names its own (`LR-1`).
|
|
126
|
+
- **The squad's loop**: questions, spec, design, build, checks, review, proof, release. You answer, approve the
|
|
127
|
+
spec, approve the design (a developer can do this part), check the proof and release.
|
|
128
|
+
- **Full and Express tracks.** Express is for small fixes: no questions and the plan approved on its own; the
|
|
129
|
+
build, checks, review and your **Looks right** still run.
|
|
130
|
+
- **squad-kit is the boss.** It runs the tests, lint and build itself, starts a fresh Reviewer, and does the git
|
|
131
|
+
and tracker work. Agents never merge, push or grade their own work. The Builder works in its own copy of the
|
|
132
|
+
code; your folder is never touched while it works.
|
|
133
|
+
- **Decisions are saved and linked**, named by the ticket that made them (`AB-46.1`), or `STACK.1` for what the
|
|
134
|
+
Architect found in the existing code. The Architecture page shows how they build on each other.
|
|
135
|
+
- **Every stop has a way out**: try again, fix it yourself, continue anyway (only you can, with a reason that
|
|
136
|
+
stays on the record), or go back to the plan. Nothing hangs silently.
|
|
137
|
+
- **Model levels per role and step**: strongest, balanced or fast, with an effort. squad-kit sets the defaults;
|
|
138
|
+
the team and each person can change them on the Squad and AI page.
|
|
139
|
+
- **One limit of tickets at once** (2 by default, up to 5), shared by all projects, because they share your AI
|
|
140
|
+
account.
|
|
141
|
+
- AI tools plug in as modules. Claude Code runs every role today; Codex is found but cannot run yet.
|
|
142
|
+
|
|
143
|
+
### Chat
|
|
144
|
+
|
|
145
|
+
- **Talk to any agent** on a ticket, with screenshots, files and voice notes.
|
|
146
|
+
- **Asking never stops the work.** While the squad works, the chat runs beside it and changes nothing.
|
|
147
|
+
- **A change goes through the spec.** **Propose a change**: the Analyst writes the old and new wording and says
|
|
148
|
+
if it is small or big, and you approve. A small change reaches the Builder at the end of its current step. A
|
|
149
|
+
big one pauses it, the Architect updates the design for your approval, and the Builder redoes only what
|
|
150
|
+
changed. One change at a time per ticket. Terminal: `squad propose`.
|
|
151
|
+
- **Released work is for questions only.** A change to it becomes a new linked ticket or a bug report.
|
|
152
|
+
- A new chat window is coming in this release: a side panel with tabs, a full-screen page, a phone layout, and
|
|
153
|
+
Arabic and English shown the right way.
|
|
154
|
+
|
|
155
|
+
### Teams
|
|
156
|
+
|
|
157
|
+
- **An owner on each ticket**, kept in `ticket.md`, so two squads never build the same ticket.
|
|
158
|
+
- **Hand over** (button and `squad hand-over`) pushes the ticket's branch with its code and documents, and names
|
|
159
|
+
the new owner. Their squad carries on from the branch, with a fresh session from the spec, design and code.
|
|
160
|
+
- **A fresh clone shows the same board**: every ticket with its spec, answers, design, stage and owner, and
|
|
161
|
+
every decision. Live progress, chats and screenshots stay on the computer that made them.
|
|
162
|
+
- Hand over and clones work for a project whose `.squad/` sits in its one repo.
|
|
163
|
+
|
|
164
|
+
### Cost
|
|
165
|
+
|
|
166
|
+
- **What each ticket and each role used**: runs, tokens, and the cost at the AI company's API prices, per role
|
|
167
|
+
and step. On the ticket's Cost tab, the Squad and AI page, the board's footer and in `squad show`.
|
|
168
|
+
- Your own AI subscription pays for it. The numbers show where the cost goes, so the team can tune the levels.
|
|
169
|
+
|
|
170
|
+
### Moving from 0.x
|
|
171
|
+
|
|
172
|
+
- **Open a 0.x project** with `squad console` or Add project. Its `stories/`, `plans/` and tracker settings in
|
|
173
|
+
`config.yaml` stay as they are; `config.yaml` gains a `board:` section.
|
|
174
|
+
- **Sign-ins move** from `.squad/secrets.yaml` to `~/.squad-kit/projects/<id>/secrets.yaml`. The 0.x commands
|
|
175
|
+
find them there.
|
|
176
|
+
- **A board from an early 1.0 build** (`.squad/board/`) moves to the new layout on its own, once, with a backup
|
|
177
|
+
in `~/.squad-kit/backups/` and a field-by-field check. Tickets and decisions keep their names. It waits until
|
|
178
|
+
no board runs.
|
|
179
|
+
- The 0.x commands (`new-story`, `new-plan`, `auth`, `config`, `doctor` and others) still ship. The 0.x console
|
|
180
|
+
pages are replaced by the 1.0 app.
|
|
181
|
+
|
|
10
182
|
## [0.12.4] — 2026-08-26
|
|
11
183
|
|
|
12
184
|
### Bug fixes
|
|
@@ -631,7 +803,9 @@ First public release.
|
|
|
631
803
|
- Plan-generation meta-prompt (`generate-plan.md`), intake template (`intake.md`), and plan skeleton reference (`story-skeleton.md`).
|
|
632
804
|
- Documentation: `docs/philosophy.md`, `docs/getting-started.md`, `docs/customization.md`, `docs/vs-spec-kit.md`.
|
|
633
805
|
|
|
634
|
-
[Unreleased]: https://github.com/AzmSquad/squad-kit/compare/
|
|
806
|
+
[Unreleased]: https://github.com/AzmSquad/squad-kit/compare/v1.0.1...HEAD
|
|
807
|
+
[1.0.1]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.0.1
|
|
808
|
+
[1.0.0]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.0.0
|
|
635
809
|
[0.6.0]: https://github.com/AzmSquad/squad-kit/releases/tag/v0.6.0
|
|
636
810
|
[0.5.0]: https://github.com/AzmSquad/squad-kit/releases/tag/v0.5.0
|
|
637
811
|
[0.3.0]: https://github.com/AzmSquad/Squad-Kit/releases/tag/v0.3.0
|
package/README.md
CHANGED
|
@@ -11,274 +11,164 @@
|
|
|
11
11
|
<a href="https://squad-kit.com"><img src="https://img.shields.io/badge/site-squad--kit.com-7cffa0?labelColor=0a0a0c" alt="Website"></a>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Your AI Engineering Squad. One Unified Harness.**
|
|
15
15
|
|
|
16
|
-
-
|
|
16
|
+
squad-kit is an agent harness for the whole software cycle. You describe what you need in plain words. A
|
|
17
|
+
squad of AI agents takes it from that ask to a release: the Analyst, the Architect, the Builder, the Tester
|
|
18
|
+
and the Reviewer. You stay in control. The squad asks you when it needs you, and nothing important moves on
|
|
19
|
+
without your approval.
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
## Who it is for
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## What's new in 0.12.0
|
|
27
|
-
|
|
28
|
-
- **Plan on your Claude subscription.** `squad auth login` signs in with your Anthropic account and `squad new-plan --api` runs on your Claude plan — no API key, no per-token API bill. Usage draws on the same limits as Claude and Claude Code. Full guide: [`docs/auth.md`](docs/auth.md) · [on the site](https://squad-kit.com/docs/auth).
|
|
29
|
-
- **`planner.auth.anthropic`** — `subscription` | `api-key` | `auto` (default `auto`). Existing API-key workspaces keep working; `squad doctor` gained `planner auth mode` and `planner auth vs. runtime` so the resolved mode is never a mystery.
|
|
30
|
-
- **Console auth surface** — an Authentication control on Config, a Claude Account card on Secrets, an auth badge on Generate and on every run record.
|
|
31
|
-
|
|
32
|
-
## What's new in 0.11.0
|
|
33
|
-
|
|
34
|
-
- **Persisted run history** — `--api` runs append to `.squad/runs/<id>.events.jsonl` (thinking text redacted on disk, old files rotated), and the console gained a runs index plus a full run report page.
|
|
35
|
-
- **Richer live telemetry** — tool lifecycle, thinking deltas, and runtime metadata stream to both the CLI and the console; the CLI prints a stage pipeline and budget meters.
|
|
36
|
-
|
|
37
|
-
## What's new in 0.10.0
|
|
38
|
-
|
|
39
|
-
- **Anthropic planning moved to the Claude Agent SDK** by default so Opus 4.7 can use adaptive thinking and effort. OpenAI and Google stay on the Vercel AI SDK.
|
|
40
|
-
- **Thinking, effort, and runtime are configurable** — `planner.runtime.anthropic`, `planner.providerOptions.anthropic`, and the `--anthropic-runtime` / `--effort` / `--scout-effort` / `--no-thinking` flags.
|
|
41
|
-
- **`squad doctor` checks runtime wiring**, model-vs-runtime fit, and the Agent SDK binary.
|
|
42
|
-
|
|
43
|
-
## What's new in 0.9.0
|
|
44
|
-
|
|
45
|
-
- **Scout stage** — a cheap-tier model picks the files worth preloading before your plan model drafts, cutting the expensive model's read loop.
|
|
46
|
-
- **LLM-free validation pass** flags missing paths, line ranges past EOF, and simple symbol problems; `--strict-validation` writes `*.partial.md` when it finds something.
|
|
47
|
-
|
|
48
|
-
## What's new in 0.8.0
|
|
49
|
-
|
|
50
|
-
- **Rate-limit handling you can watch** — the Generate page shows a countdown, auto-retry banner, and rerun control; the planner emits `rate_limit` events distinguishing "retrying" from "aborted".
|
|
51
|
-
|
|
52
|
-
## What's new in 0.7.0
|
|
23
|
+
- **Business analysts and project managers** who want to turn tickets into working software, and always see
|
|
24
|
+
where each ticket is. No terminal skills needed after the first step.
|
|
25
|
+
- **Developers** who want the squad to do the routine work, while they approve designs and read the code.
|
|
26
|
+
- **Teams** who want specs, decisions and releases kept with the project, in files anyone can read.
|
|
53
27
|
|
|
54
|
-
|
|
28
|
+
## How a ticket goes
|
|
55
29
|
|
|
56
|
-
|
|
30
|
+
1. You write a ticket on the board, or pull one from your tracker (the tool where your team keeps its work
|
|
31
|
+
items).
|
|
32
|
+
2. The Analyst asks you questions. You answer with a click.
|
|
33
|
+
3. The Analyst writes the **spec**: the story and a "done when" list. You approve it.
|
|
34
|
+
4. The Architect writes the **design**: the decision and the steps. You, or a developer, approve it.
|
|
35
|
+
5. The Builder writes the code in its own copy of the project. Your own folder stays as it is.
|
|
36
|
+
6. squad-kit runs the tests, lint and build itself. The Reviewer checks the work with fresh eyes. The Tester
|
|
37
|
+
takes a screenshot for each "done when".
|
|
38
|
+
7. You check this **proof** and press **Looks right**.
|
|
39
|
+
8. You press **Release**. squad-kit writes the changelog, sets the version and adds the git tag.
|
|
57
40
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
## What's new in 0.5.0
|
|
61
|
-
|
|
62
|
-
- **`squad console`** — local web UI on `127.0.0.1:4571` for the whole workflow (dashboard with run charts, stories, plans + diff, live Generate SSE, config/secrets editors, tracker search/import, graphical doctor). See [`docs/console.md`](docs/console.md).
|
|
63
|
-
- **Run history** — last 20 planner runs under `.squad/runs/` power dashboard charts; **recent projects** list in `~/.squad/recent-projects.json` for quick handoff between repos.
|
|
64
|
-
- **`pnpm size:guard`** — publish tarball must stay under 2.5 MB unpacked.
|
|
65
|
-
|
|
66
|
-
## What's new in 0.4.0
|
|
67
|
-
|
|
68
|
-
- **`squad new-plan --api` limits UX.** When a budget or cap stops the planner, the CLI asks before more API spend. Stop saves a `*.partial.md` with a clear status flag; exit code **2** when the run did not finish cleanly.
|
|
69
|
-
- **`planner.maxOutputTokens`** in merged config (default **16384** tokens per model round).
|
|
70
|
-
- **Shorter plan filenames** — new plans use the story folder id (`NN-story-<id-slug>.md`), not a long title slug; the overview table still shows the title.
|
|
71
|
-
- **Richer intakes** when `squad new-story` fetches Jira / Azure work items (more fields wired into the template).
|
|
72
|
-
- **`squad list`** reads `<!-- squad-kit: … -->` metadata from the first matching line near the top of a plan file, not only line 1.
|
|
73
|
-
|
|
74
|
-
## What's new in 0.3.0
|
|
75
|
-
|
|
76
|
-
- **Prompt caching** across Anthropic, OpenAI, and Google — ~70% fewer billed input tokens on
|
|
77
|
-
a typical planning run, and Anthropic Tier 1 ITPM pressure roughly 5× lower.
|
|
78
|
-
|
|
79
|
-
## What's new in 0.2.0
|
|
80
|
-
|
|
81
|
-
- **Direct planner.** `squad new-plan --api` runs Anthropic, OpenAI, or Google from your terminal and writes the plan file. Demand-driven context keeps tokens bounded.
|
|
82
|
-
- **Tracker auto-fetch.** `squad new-story --id <ID>` pulls title, description, labels, and attachments (≤ 10 MB each) from Jira Cloud or Azure DevOps Services.
|
|
83
|
-
- **Secrets split.** API tokens live in `.squad/secrets.yaml` (git-ignored, `0600` on POSIX). `.squad/config.yaml` never holds secrets; the loader rejects secret-shaped keys.
|
|
84
|
-
- **Interactive-first UX.** Missing input prompts in a TTY; `-y` / `--yes` or `CI=1` opts out and fails fast.
|
|
85
|
-
- **`squad doctor`.** Full read-only health check; `--fix` for non-destructive repairs, `--json` for scripting.
|
|
86
|
-
- **`squad migrate`.** One-shot 0.1.x → 0.2.0 structural migrations (delete legacy `.squad/prompts/`, permissions, config normalisation). Destructive; use `--dry-run` first.
|
|
87
|
-
- **`squad upgrade`.** Safe npm-backed self-update (`--check` to verify only).
|
|
88
|
-
- **`squad config`.** `show`, `set planner` / `set tracker`, `unset …`, `remove-credential …` — edit config and secrets without hand-editing YAML.
|
|
89
|
-
- **`squad rm`.** `rm story` / `rm plan` / `rm feature` with `--dry-run`, `--trash`, and cascading overview updates.
|
|
90
|
-
- **Bundled prompts.** `generate-plan.md`, `intake.md`, and `story-skeleton.md` ship inside the npm package; upgrade the CLI to update them.
|
|
91
|
-
|
|
92
|
-
Full list in [`CHANGELOG.md`](CHANGELOG.md).
|
|
93
|
-
|
|
94
|
-
## Upgrading from 0.1.x
|
|
95
|
-
|
|
96
|
-
Existing squad-kit users should run two commands, once per repo:
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
pnpm add -g squad-kit # or: npm install -g squad-kit — or: squad upgrade
|
|
100
|
-
cd your-project && squad migrate
|
|
101
|
-
```
|
|
41
|
+
When the squad needs you, a card shows up in **Waiting for you**. Everything else, the squad handles. Every
|
|
42
|
+
button also has a terminal command, so developers can do the same from the terminal.
|
|
102
43
|
|
|
103
|
-
|
|
44
|
+
## What you need
|
|
104
45
|
|
|
105
|
-
|
|
46
|
+
- **Node.js** 22 or newer.
|
|
47
|
+
- **git**.
|
|
48
|
+
- **An AI tool**, installed and signed in once with your own account. Today that is **Claude Code**, the only
|
|
49
|
+
AI tool the squad runs on. squad-kit uses your existing sign-in, so there is nothing new to buy. squad-kit
|
|
50
|
+
also finds Codex, but cannot run it yet.
|
|
106
51
|
|
|
107
52
|
## Install
|
|
108
53
|
|
|
109
54
|
```bash
|
|
110
|
-
npm
|
|
111
|
-
# or
|
|
112
|
-
pnpm add -g squad-kit
|
|
55
|
+
npm i -g squad-kit
|
|
113
56
|
```
|
|
114
57
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
## Quickstart
|
|
58
|
+
## Open squad-kit
|
|
118
59
|
|
|
119
60
|
```bash
|
|
120
|
-
|
|
121
|
-
squad init # interactive: tracker, planner, agents, name
|
|
122
|
-
squad new-story auth --title "SSO support" # or: squad new-story auth --id ENG-42 to auto-fetch
|
|
123
|
-
# → edit .squad/stories/auth/ENG-42/intake.md
|
|
124
|
-
|
|
125
|
-
/squad-plan .squad/stories/auth/ENG-42/intake.md # in your agent (Claude / Cursor / Copilot / Gemini)
|
|
126
|
-
# → .squad/plans/auth/01-story-sso-support.md
|
|
127
|
-
|
|
128
|
-
# new agent chat · attach ONLY the plan file · a cheap model ships it
|
|
61
|
+
squad
|
|
129
62
|
```
|
|
130
63
|
|
|
131
|
-
|
|
64
|
+
This opens squad-kit in your browser. It runs on your computer only, at `127.0.0.1:4571`. It is one app for
|
|
65
|
+
all your projects:
|
|
132
66
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
67
|
+
- **Home** lists your projects, and one **Waiting for you** list for all of them.
|
|
68
|
+
- Each project has its own **board**, with its tickets in columns, from a new ticket to its release.
|
|
69
|
+
|
|
70
|
+
Keep the terminal open while you work. Press Ctrl-C there to stop squad-kit. The squad picks up where it was
|
|
71
|
+
the next time you run `squad`.
|
|
136
72
|
|
|
137
|
-
|
|
73
|
+
## Add a project
|
|
138
74
|
|
|
139
|
-
|
|
75
|
+
On Home, press **Add project** and pick a folder in the folder browser. Or open a terminal in the folder and
|
|
76
|
+
run:
|
|
140
77
|
|
|
141
78
|
```bash
|
|
142
|
-
squad
|
|
143
|
-
squad auth login # browser sign-in; or just run `claude` and use /login
|
|
144
|
-
squad new-plan --api # plans on your Claude plan
|
|
79
|
+
squad console
|
|
145
80
|
```
|
|
146
81
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
Already signed in to Claude Code? squad-kit picks that login up automatically. Prefer an API key? Nothing changed — set `planner.auth.anthropic: api-key`. Details, CI setup, precedence, and troubleshooting: [`docs/auth.md`](docs/auth.md) · [on the site](https://squad-kit.com/docs/auth).
|
|
82
|
+
Any folder works:
|
|
150
83
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
## Commands
|
|
154
|
-
|
|
155
|
-
| Command | What it does |
|
|
84
|
+
| The folder | What squad-kit does |
|
|
156
85
|
| --- | --- |
|
|
157
|
-
|
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
|
|
|
162
|
-
| `squad tracker link [story] [id]` | Attach or update a tracker id on an intake. |
|
|
163
|
-
| `squad auth <login\|status\|logout>` | Sign in to Anthropic with your Claude subscription, inspect the resolved auth, or clear the stored token. `login` takes `--token <v>` (CI) and `--print-only`; `status` takes `--json` and `--offline`. See [`docs/auth.md`](docs/auth.md) · [site](https://squad-kit.com/docs/auth). |
|
|
164
|
-
| `squad config <show\|set\|unset\|remove-credential> …` | View and edit `.squad/config.yaml` and `.squad/secrets.yaml` interactively. See [`docs/customization.md`](docs/customization.md). |
|
|
165
|
-
| `squad rm <story\|plan\|feature> [target] [--dry-run] [--trash] [-y]` | Safely delete with cascading overview updates. |
|
|
166
|
-
| `squad doctor [--fix] [--json]` | Full health check; `--fix` applies non-destructive repairs. |
|
|
167
|
-
| `squad migrate [--dry-run] [-y]` | One-shot 0.1.x → 0.2.0 structural migrations. Destructive. |
|
|
168
|
-
| `squad upgrade [--check] [-y]` | Check npm and install a newer squad-kit release. |
|
|
169
|
-
| `squad console [--port n] [--no-open]` | Start the loopback web console; see [`docs/console.md`](docs/console.md). |
|
|
170
|
-
|
|
171
|
-
Deeper option lists: `squad <command> --help` and the `docs/` pages above.
|
|
172
|
-
|
|
173
|
-
## Direct planner (optional)
|
|
174
|
-
|
|
175
|
-
Off by default. Enable during `squad init` (answer **yes** to *Enable automatic plan generation?*) or later with `squad config set planner`. Supported providers: Anthropic, OpenAI, Google.
|
|
176
|
-
|
|
177
|
-
### Credential resolution order
|
|
178
|
-
|
|
179
|
-
**Anthropic — default: your Claude subscription**
|
|
86
|
+
| An empty folder | Makes a new git repo. The Architect picks the stack with you on your first ticket. |
|
|
87
|
+
| Code with git | Keeps your repo and its history as they are. |
|
|
88
|
+
| Code without git | Makes a repo, with your files in its first commit. Generated folders like `node_modules` and `dist`, and `.env` files, stay out. |
|
|
89
|
+
| A folder with several code repos | Works across them. Each ticket works in one repo. |
|
|
90
|
+
| A squad-kit 0.x project | Keeps your stories, plans and tracker settings. Moves your sign-ins to this computer. |
|
|
180
91
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
`CLAUDE_CODE_OAUTH_TOKEN` → `planner.anthropicOauthToken` in `.squad/secrets.yaml` → the OS credential store (macOS Keychain / `~/.claude/.credentials.json`).
|
|
184
|
-
3. **`api-key`** — `ANTHROPIC_API_KEY` → `SQUAD_PLANNER_API_KEY` → `.squad/secrets.yaml`.
|
|
185
|
-
4. **`auto`** — a detected Claude login first, otherwise the API key chain, otherwise fail naming both recovery paths.
|
|
92
|
+
Then the Architect reads the project, which takes a few minutes. It maps the code and finds how to install,
|
|
93
|
+
test, build and run it. You can follow it on the board.
|
|
186
94
|
|
|
187
|
-
|
|
95
|
+
## Your first ticket
|
|
188
96
|
|
|
189
|
-
|
|
97
|
+
1. On the board, press **New ticket**.
|
|
98
|
+
2. Write what you want in plain words. Add business rules, examples or screenshots if you have them. Or paste
|
|
99
|
+
an idea or a chat message, and the Analyst fills in the ticket for you to check.
|
|
100
|
+
3. Press create. The card moves across the board as the squad works.
|
|
101
|
+
4. Answer, approve and check when a card shows up in **Waiting for you**.
|
|
190
102
|
|
|
191
|
-
|
|
103
|
+
The step-by-step guide is in [Getting started](docs/getting-started.md).
|
|
192
104
|
|
|
193
|
-
|
|
194
|
-
2. `.squad/secrets.yaml` under `planner.<provider>` (or cross-provider `SQUAD_PLANNER_API_KEY`).
|
|
195
|
-
3. Interactive prompt (TTY only).
|
|
196
|
-
4. Fail with a recovery hint.
|
|
105
|
+
## Where your files live
|
|
197
106
|
|
|
198
|
-
|
|
107
|
+
squad-kit keeps files in two places. The test is simple: does another person need it to carry on?
|
|
199
108
|
|
|
200
|
-
|
|
109
|
+
**Yes: in the project folder, in `.squad/`.** This is the project's memory. It is plain Markdown and YAML that
|
|
110
|
+
people can read and edit.
|
|
201
111
|
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
anthropic: claude-opus-5-0 # riding a newer provider release early
|
|
112
|
+
```
|
|
113
|
+
.squad/
|
|
114
|
+
config.yaml the project's settings
|
|
115
|
+
tickets/AB-46/ one folder per ticket: ticket.md, spec.md, questions.md,
|
|
116
|
+
design.md, notes.md, proof.md, and files people attached
|
|
117
|
+
decisions/ what the squad decided, and why: AB-46.1.md, STACK.1.md
|
|
118
|
+
releases/ what each release carried
|
|
119
|
+
rules/ house rules for each role
|
|
120
|
+
knowledge/ what the squad learned about the project
|
|
212
121
|
```
|
|
213
122
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
Slash commands inside your agent (`/squad-plan`) continue to work unchanged — the agent already has your repo in scope. The direct planner is an alternative path, not a replacement. For where keys live, see [Secrets](#secrets) below and [`docs/customization.md`](docs/customization.md).
|
|
217
|
-
|
|
218
|
-
## Tracker auto-fetch
|
|
219
|
-
|
|
220
|
-
`squad new-story <feature> --id <ID>` pulls the work item's title, description, labels, and attachments (≤ 10 MB each) straight into the intake. Supported trackers in 0.2.0: **Jira Cloud**, **Azure DevOps Services**.
|
|
221
|
-
|
|
222
|
-
Credentials follow the same resolution order as the planner (env → `.squad/secrets.yaml` → prompt → fail). `squad init` prompts for them when a supported tracker is selected.
|
|
223
|
-
|
|
224
|
-
Flags:
|
|
225
|
-
|
|
226
|
-
- `--no-fetch` — scaffold an empty intake; never call the tracker.
|
|
227
|
-
- `--no-attachments` — fetch metadata only.
|
|
228
|
-
- `--attachment-mb <n>` — override the 10 MB per-file cap.
|
|
229
|
-
- `--no-tracker` — skip the tracker id requirement for this story even when `naming.includeTrackerId: true`.
|
|
230
|
-
|
|
231
|
-
Full example with Azure DevOps: [`docs/getting-started.md`](docs/getting-started.md).
|
|
232
|
-
|
|
233
|
-
## Secrets
|
|
234
|
-
|
|
235
|
-
squad-kit stores settings in two files:
|
|
236
|
-
|
|
237
|
-
| File | Purpose | Git-tracked? | Editable by hand? |
|
|
238
|
-
| --- | --- | --- | --- |
|
|
239
|
-
| `.squad/config.yaml` | Project name, tracker, naming, agents, planner shape. | yes — commit it | yes, but `squad config set` is safer |
|
|
240
|
-
| `.squad/secrets.yaml` | Planner + tracker API tokens, and the Claude OAuth token (`planner.anthropicOauthToken`). | **no** — auto-ignored, `0600` on POSIX | no — use `squad auth login` / `squad config set` / `squad init` |
|
|
241
|
-
|
|
242
|
-
`config.yaml` rejects credential-shaped key names at load time — `apiKey`, `api_key`, `token`, `oauthToken`, `anthropicOauthToken`, `secret`, `credential`, `credentials` — so accidental commits fail loud. Matching is on the **exact lowercased key name**, not a substring: a substring rule would reject the legitimate `planner.maxOutputTokens`. Any future credential-shaped key has to be added to that list by name.
|
|
123
|
+
**No: on this computer, in `~/.squad-kit/`.** Live progress, agent chats, screenshots, sign-ins (tokens) and
|
|
124
|
+
cost belong to you and this computer. They never go into the project folder.
|
|
243
125
|
|
|
244
|
-
|
|
126
|
+
For a project whose `.squad/` sits inside its code repo, squad-kit commits each ticket's documents on the
|
|
127
|
+
ticket's own branch, so they reach `main` with the code. `.squad/` stays out of your own `git status`.
|
|
245
128
|
|
|
246
|
-
##
|
|
129
|
+
## Work with your team
|
|
247
130
|
|
|
248
|
-
|
|
131
|
+
- **Tracker.** Connect your tracker in Settings, then pull work items onto the board. Tickets keep the tracker's
|
|
132
|
+
name, like `AB-46`. squad-kit moves the item along as the squad works, posts the answers and the plan as
|
|
133
|
+
comments, and opens a pull request for each finished ticket. Today this works with **Azure DevOps** (Azure
|
|
134
|
+
Boards and Azure Repos).
|
|
135
|
+
- **Hand over.** Give a ticket to a teammate with **Hand over**. squad-kit pushes the ticket's branch with its
|
|
136
|
+
code and documents, and names the new owner. Their squad carries on from there.
|
|
137
|
+
- **A new computer or a new teammate.** Clone the project and add it. The board comes back from `.squad/`:
|
|
138
|
+
every ticket with its spec, answers, design, stage and owner, and every decision.
|
|
249
139
|
|
|
250
|
-
|
|
251
|
-
| --- | --- | --- |
|
|
252
|
-
| Commands | `init`, `new-story`, `new-plan`, `status`, `doctor`, `migrate`, `upgrade`, `list`, `rm`, `tracker link`, `auth`, `config` | `constitution`, `specify`, `clarify`, `plan`, `tasks`, `analyze`, `checklist`, `implement` |
|
|
253
|
-
| `/implement` turn starts with | one plan file (~5–15 KB) | 5–7 command templates + cross-artifact reads (~15–25 KB) |
|
|
254
|
-
| Model-tier awareness | Built into the philosophy (planner ≠ executor) | Not prescribed |
|
|
255
|
-
| Generated artifacts per story | `intake.md`, `NN-story-<id>.md`, overview row | `spec.md`, `plan.md`, `data-model.md`, `contracts/`, `research.md`, `quickstart.md`, `tasks.md` |
|
|
256
|
-
| Customization | Prompts ship with the CLI (fork squad-kit to change them). | Template override stack with presets/extensions |
|
|
257
|
-
| Runtime | Node + TypeScript, npm-distributable | Python + `uv` |
|
|
258
|
-
| Scope | Intentionally small | Broad, with safety nets (`clarify`, `analyze`) |
|
|
140
|
+
Hand over and clones work for a project whose `.squad/` sits in its one code repo.
|
|
259
141
|
|
|
260
|
-
|
|
142
|
+
## Talk to the squad
|
|
261
143
|
|
|
262
|
-
|
|
144
|
+
Open a chat with any agent on a ticket. **Asking never stops the work**: the squad keeps working while you
|
|
145
|
+
talk. To change what gets built, press **Propose a change**. The Analyst writes the change into the spec, old
|
|
146
|
+
and new side by side, and you approve it. A released ticket answers questions only. A change to it becomes a new
|
|
147
|
+
linked ticket or a bug report.
|
|
263
148
|
|
|
264
|
-
##
|
|
149
|
+
## Cost and models
|
|
265
150
|
|
|
266
|
-
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
-
|
|
151
|
+
- squad-kit picks a **model level** for each role and step from the project's **Quality** setting: **Best**
|
|
152
|
+
(the default) builds and reviews on the strongest model, **Balanced** builds on it at medium effort, and
|
|
153
|
+
**Thrifty** builds on a lighter one. **Fast** stays for screenshots and small helpers. The team or each person
|
|
154
|
+
can change single steps on the **Squad and AI** page.
|
|
155
|
+
- The board shows **what each ticket and each role used**, in tokens and in money at the AI company's API
|
|
156
|
+
prices. Your own AI subscription pays for it. This shows where the cost goes.
|
|
157
|
+
- One **limit of tickets at once** (2 by default, up to 5) is shared by all your projects, because they use the
|
|
158
|
+
same AI account.
|
|
271
159
|
|
|
272
|
-
##
|
|
160
|
+
## Docs
|
|
273
161
|
|
|
274
|
-
|
|
162
|
+
- [Getting started](docs/getting-started.md): your first hour, from install to a release.
|
|
163
|
+
- [Moving to 1.0](docs/migrating-to-1.0.md): from squad-kit 0.x, and from early 1.0 boards.
|
|
164
|
+
- [The app](docs/console.md): Home, the board, the ticket drawer, Squad and AI, and Settings.
|
|
165
|
+
- [CHANGELOG](CHANGELOG.md): what changed in each version.
|
|
275
166
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
- Telemetry
|
|
167
|
+
The 0.x planner commands (`squad new-story`, `squad new-plan`, `squad auth` and others) still ship. Their docs
|
|
168
|
+
are kept as they were: [auth](docs/auth.md), [customization](docs/customization.md),
|
|
169
|
+
[philosophy](docs/philosophy.md), [squad-kit vs Spec-Kit](docs/vs-spec-kit.md) and
|
|
170
|
+
[migrating from 0.1](docs/migrating-from-0.1.md).
|
|
281
171
|
|
|
282
172
|
## License
|
|
283
173
|
|
|
284
|
-
MIT. Contributions welcome
|
|
174
|
+
MIT. Contributions welcome. See [`CONTRIBUTING.md`](CONTRIBUTING.md).
|