squad-kit 1.1.1 → 1.2.0

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 CHANGED
@@ -7,6 +7,191 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.2.0] — 2026-11-05
11
+
12
+ squad-kit 1.2 is about trust: squad-kit shows that it understands your project, says what the work really cost, and
13
+ makes the squad's work harder to fake. It also takes a whole requirements document and builds it, story by story.
14
+ Windows is less protected and not fully tested yet (see What's safer).
15
+
16
+ ### What's new
17
+
18
+ #### From a BRD to a built product
19
+
20
+ - **A new Requirements page** (after Overview). **Add a BRD**: a PDF, Word or Markdown file, or pasted text, with
21
+ mockups if you have them. The Analyst reads it live and asks only about what is **missing in the BRD** or where
22
+ **two parts clash**. Then it writes epics, features and stories, each with its checks (Given, When, Then), size,
23
+ needs and its place in the document.
24
+ - **Review it as a tree or a map.** Rename, rewrite, move, add or remove any part, or ask the Analyst to redo one.
25
+ An estimate from this project's own tickets: "20 stories, about $140 and 6 hours, 2 at a time". Nothing is built
26
+ or sent before **Approve breakdown**.
27
+ - **Send to Azure DevOps**: epics, features and stories with parent and dependency links, into the backlog. **Send
28
+ changes** updates only what changed. squad-kit never deletes there, and a cut-off send makes no doubles.
29
+ - **Build continuously**: each story becomes a ticket on the new **Builds by itself** track, in the order its needs
30
+ allow, within the parallel limit and the budgets. No questions, the plan is approved by itself, small choices are
31
+ listed under **Decided for you** (press **Change** on any), and it merges by itself once the checks, the review
32
+ and the screenshots pass. It stops only for a gap, a clash or a failed check, and then only that story and the
33
+ ones that need it wait. Releases stay your button.
34
+ - Terminal: `squad requirements add|show|answer|edit|move|approve|send|build|start|…`, `squad decided`. See
35
+ [From a BRD to a built product](docs/requirements.md).
36
+
37
+ #### Proof you can read
38
+
39
+ - **squad-kit takes the screenshots itself, with its own browser.** The Tester says which pages, steps and sizes.
40
+ squad-kit opens the story's own copy of the app, does the steps and takes the pictures.
41
+ - **One or more pictures for each "done when"**: one per part or case, up to 6.
42
+ - **Each "done when" gets a verdict**, from the Tester and squad-kit's own check of all its pictures together:
43
+ **Met**, **Not working yet** (a picture shows it does not work), **Not shown yet** (the pictures do not show it
44
+ clearly) or **Not on a screen** (it cannot be shown at all, like an email or what happens after a restart). Not
45
+ working yet goes back to the Builder once, then it is a plain stop. Not shown yet goes back to the Tester up to 2
46
+ more times, keeps the good pictures and never reaches the Builder. Not on a screen keeps its reason and does not
47
+ stop the story, unless every "done when" ends that way.
48
+ - **Also changed, not in the plan**: what the change touches beyond its plan, in the Reviewer's words. It never
49
+ blocks. You see it at your check, on a stop, on the ticket and in the release notes.
50
+
51
+ #### Your turn
52
+
53
+ - **Where to look**: each page the proof names, with the "done when" it shows.
54
+ - **Try it yourself**: runs the story's own copy of the app, with the change in it and nothing merged, so you can
55
+ click through it before **Looks right**. It stops by itself when the story moves on. Terminal: `squad try <ticket>`.
56
+ - **Ask a question** on every story, in every state: working, in the queue, waiting for another story, stopped, at
57
+ review, taken over or released. Whoever knows the story best answers: the Analyst before the build, the Builder
58
+ during and after it, the Tester once there are screenshots. It answers questions only, and the story stays exactly
59
+ where it is. Terminal: `squad chat <ticket> --ask`.
60
+
61
+ #### First run and Overview
62
+
63
+ - **Add project says what it found** (code with or without git, an empty folder, several repos, an older
64
+ squad-kit) and what happens next, before you confirm.
65
+ - **A setup page with live steps**: project memory, the AI tool, the Architect reading the code, how to test and run
66
+ it, trying the tests, opening the app once with a screenshot, and your overview. Each step has its time; a failure
67
+ has a way out and never stops the setup. **Notify me when it is ready**. Quality is asked once here.
68
+ - **The Overview page**, first in the sidebar: what the project is, who uses it, what it can do today, how its parts
69
+ fit together, things worth knowing, the rules found, the proof, and three ideas for a first ticket. It stays up to
70
+ date after every merged ticket.
71
+ - **The rules the Architect found are proposals until you approve them** with **Looks right, start working**. They
72
+ used to be saved as approved without being shown. **Something is wrong** opens a talk with the Architect.
73
+ - **An empty project asks "What do you want to build?"**, in your own words, in English or Arabic. The Architect
74
+ writes down what you want with first stories for it, and picks the technology itself when your first story is
75
+ planned. Terminal: `squad overview --build "what you want"`.
76
+ - **squad-kit finds the commands of a project that started empty.** After the first build it reads how to test and
77
+ run the project from its files, and saves that. Nobody is asked.
78
+ - Terminal: `squad setup`, `squad overview`, `squad demo --first-run`.
79
+
80
+ #### Conversation and Cost
81
+
82
+ - **Conversation opens on "What happened"**: one card per step with its time, a one-line summary and what it handed
83
+ in, drawn as the real thing. **Full log** keeps the detail, in plain words, with **Open it in Claude Code**.
84
+ - **Cost follows how you pay.** On a subscription: "Included in your Claude plan. No extra charge.", the size of the
85
+ work and where it went, with the API-price figure shown as a value, not a bill. With an API key: real dollars, a
86
+ budget per ticket and per month, a warning at 80% and a pause at 100%.
87
+ - **Averages per Quality setting** (cost and squad time per accepted ticket) on the Squad and AI page.
88
+ - Terminal: `squad cost`, `squad config set payment`, `squad config set budget`.
89
+
90
+ #### Tickets that depend on each other
91
+
92
+ - **The Analyst and the Architect see the other open tickets** and the files they change.
93
+ - **A design can depend on another ticket.** The ticket then waits before building: **Build on its branch**, **Build
94
+ anyway**, or **Wait** (it starts by itself when the other one merges). Terminal: `squad depends`, `squad build`.
95
+ - **Bring in latest main** is a button on a ticket being built (`squad bring-in`).
96
+
97
+ #### Releases
98
+
99
+ - **Take a ticket out of the next release** before you release it (`squad release --without`).
100
+ - **Released tickets' branches are cleaned up** on this computer, and on the remote when you ask (`squad branches`).
101
+ A branch with unmerged work is never deleted.
102
+ - **A release cut off by a restart finishes or rolls back** cleanly on the next start.
103
+
104
+ #### Also
105
+
106
+ - **The ticket can go full width** (the button next to Close; remembered in this browser). **Hand over** and
107
+ **Propose a change** moved to the ⋯ menu, and Propose a change is also on the ticket's bottom bar, so the header is
108
+ one row at any width.
109
+ - **The Waiting for you banner is one slim, calm row**, and stays readable beside a docked chat.
110
+ - **The update banner shows what is new in every release since your version**, and **Check for updates** reads the
111
+ notes again.
112
+ - **Free the port and try again** on a stuck Tester step, for programs squad-kit itself started.
113
+
114
+ ### What's safer
115
+
116
+ - **Agents get fixed tools, "the window"**: `take_screenshots`, `look_at_page`, `start_app`, `stop_app`, `app_status`,
117
+ `run_checks` and `i_am_stuck`. An agent fills in the fields, squad-kit checks them, does the job itself and hands
118
+ back the result. There is no free command: only this story's app on this computer, only the project's saved
119
+ commands, only what squad-kit started. A request outside that is refused and written in the activity, and three
120
+ refusals in one step stop the agent.
121
+ - **`i_am_stuck`**: when something technical is in an agent's way, squad-kit tries its own fixes (its browser, a free
122
+ port, starting the app again) and writes one plain line. It is never a question to you.
123
+ - **Technical questions never reach you.** squad-kit reads each question an agent asks, with its choices and
124
+ everything shown with it, and does not trust the agent's label. A question about ports, commands, files or settings
125
+ goes back to the agent to decide. An agent that keeps asking stops in plain words. When another program holds a
126
+ port and going around it did not work, you get one plain card with no port in it: **Stop it** (with a confirm) or
127
+ **Skip the browser tests**.
128
+ - **Some asks are refused and logged.** Asking you to change squad-kit's settings or protected files, to hand over a
129
+ password or a key, or to change git history never reaches you. One plain line goes in the activity. A reply in a
130
+ chat that asks for any of these is left out too.
131
+ - **A second guard for the project's own commands.** The tests, lint, build, setup, the app's start and the release
132
+ pipeline run in squad-kit's own guard on Mac and Linux. They work normally, browser tests too, and can reach the
133
+ network, but they can't read your keys, sign-ins, browser profiles, squad-kit's own folder or the `.env` files in
134
+ your project folder. If a project truly needs a file outside its copy, one plain sentence says so, and an engineer
135
+ can allow it in Settings or with `squad config set allow-read <path>` and `squad config set allow-write <path>`.
136
+ `squad doctor` shows whether the guard runs here.
137
+ - **Windows is less protected and not fully tested yet.** There, the agents' own commands and the project's own
138
+ commands have no guard, so they can reach other files on the computer. Use it on projects you trust. Settings and
139
+ the Squad and AI page say "Windows: less protected".
140
+ - **"Not checked" instead of a green pass** when a project has no tests. You are asked once per project, with the
141
+ Architect's suggested test command. A project without tests also checks that the app starts.
142
+ - **Weakened tests stop the ticket**: deleted tests, fewer tests, a changed test setup, or new skip/only markers, in
143
+ the common languages. **Continue anyway** needs a reason that stays on the record.
144
+ - **Proof is verified**: each screenshot must be a real image taken in this step, and "after" must differ from
145
+ "before", unless the "done when" says the screen stays as it was.
146
+ - **The Reviewer sees the whole change and the check results** in every round, not only the fix. In its review it can
147
+ also look at a page of the app itself (`look_at_page`).
148
+ - **A change to the test command is tried first.** squad-kit runs the new command and the current one in the ticket's
149
+ copy, and keeps the new one only when it passes and runs at least as many tests. You choose only when it cannot
150
+ tell. Terminal: `squad test-command <ticket> --use | --keep`.
151
+ - **The Builder's and Tester's commands run in Claude Code's sandbox** where the computer allows it: they write only
152
+ in the ticket's copy, its proof folder and a private package cache, can't read your keys, sign-ins or `.env`
153
+ files, and reach only package registries and the websites you allow (Settings, `squad config set hosts`). A
154
+ blocked command says what and why. `squad doctor` shows whether the sandbox runs here.
155
+ - **Turn and spend caps per step** from the Quality setting. Reaching one keeps the work and offers **Give it more**
156
+ or **Stop**.
157
+ - **Every command squad-kit suggests you copy quotes your text safely**, on the board and in the terminal.
158
+ - **zod 4, the AI SDK 5 and diff 8** for the 0.x planner commands. This closes the last high alert. The planner's
159
+ file-read tool on the Claude Agent SDK path now works with ranged reads.
160
+
161
+ ### What's fixed
162
+
163
+ - **Plain stop messages.** A stop says what happened in squad-kit's own plain words, with **Try again**. A tool's raw
164
+ error never reaches you: the exact words are in the ticket's Developer tab and the app log.
165
+ - **A failed check runs once more** before anyone is sent to fix it, so a flaky test costs no Builder run. If it passes
166
+ then, the activity and the Developer tab say "failed once, passed when run again". Not after a Stop, a command
167
+ squad-kit had to end, or a file the guard blocked.
168
+ - **The Builder is told about old failures**: the checks that already failed on the first run, before any story
169
+ touched the code. It fixes what its story broke and leaves other screens alone. The checks must still pass.
170
+ - **A clash no longer stops a story too soon on Builds by itself.** While main keeps moving, squad-kit brings it in
171
+ again by itself, up to 3 times, with the checks, the review and the proof each time. If main has not moved, or after
172
+ the third time, you get the clash card. Other tracks show the card at the first clash, as before.
173
+ - **Apps move to a free port by themselves** when another program holds the usual one: Your apps, the story's own copy
174
+ and Try it yourself. In Your apps this works when the start command or the app's code takes a port setting; if not,
175
+ one plain sentence says what is in the way. `--next-port` on `squad app start` and `squad app restart` is still
176
+ accepted, and now does nothing.
177
+ - **squad-kit installs its own screenshot browser.** No `npx playwright`, and nothing to install by hand. The first
178
+ time, one line says "Setting up squad-kit's screenshot browser. This happens only once."
179
+ - **The step timer counts only running time.** It stands still while a ticket waits for you, for another story or for
180
+ a free place, so "Taking longer than usual" no longer shows on a step that was only waiting.
181
+ - **A restart is not a failure.** Restarting the board, Stop or the computer sleeping no longer counts as a failed
182
+ try or raises the model's effort. The Builder carries on with the same step in the same conversation, instead of
183
+ starting the work again, and the step's clock keeps its time ("resumed after a restart").
184
+ - **Nothing is left behind.** When a step ends, on Stop, and when the board restarts or quits, squad-kit stops every
185
+ program it started for the ticket, including test servers that left their process group. It finds them by where
186
+ they run: inside squad-kit's own copy of the code, never your folders or Your apps.
187
+ - **squad-kit clears its own leftovers before the checks** and says so in one activity line. If an agent asks about a
188
+ busy port that squad-kit caused, squad-kit answers it and you never see the question.
189
+ - **Desktop notices: Turn on always answers.** It says when the browser is asking, explains how to allow notices
190
+ when the browser stays silent (for example in Arc), and sends one test notice.
191
+ - **A ticket a teammate deleted** shows "Deleted by <owner>" with **Remove from my board**.
192
+ - **A chat message sent during Claude's usage limit waits** and is answered when the squad carries on.
193
+ - **On a phone**, the banners fold into one slim row while a ticket is open, and the website's docs pages fit.
194
+
10
195
  ## [1.1.1] — 2026-11-03
11
196
 
12
197
  A security update. Nothing changes in how squad-kit works.
@@ -886,7 +1071,8 @@ First public release.
886
1071
  - Plan-generation meta-prompt (`generate-plan.md`), intake template (`intake.md`), and plan skeleton reference (`story-skeleton.md`).
887
1072
  - Documentation: `docs/philosophy.md`, `docs/getting-started.md`, `docs/customization.md`, `docs/vs-spec-kit.md`.
888
1073
 
889
- [Unreleased]: https://github.com/AzmSquad/squad-kit/compare/v1.1.1...HEAD
1074
+ [Unreleased]: https://github.com/AzmSquad/squad-kit/compare/v1.2.0...HEAD
1075
+ [1.2.0]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.2.0
890
1076
  [1.1.1]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.1.1
891
1077
  [1.1.0]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.1.0
892
1078
  [1.0.1]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.0.1
package/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  <p align="center">
2
2
  <a href="https://squad-kit.com">
3
- <img src="https://squad-kit.com/logo-wordmark.svg?v=2" alt="squad-kit logo" width="360">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="https://squad-kit.com/readme/header-dark.png">
5
+ <source media="(prefers-color-scheme: light)" srcset="https://squad-kit.com/readme/header-light.png">
6
+ <img src="https://squad-kit.com/readme/header-light.png" alt="squad-kit: Your AI Engineering Squad. One Unified Harness." width="800">
7
+ </picture>
4
8
  </a>
5
9
  </p>
6
10
 
@@ -11,8 +15,6 @@
11
15
  <a href="https://squad-kit.com"><img src="https://img.shields.io/badge/site-squad--kit.com-7cffa0?labelColor=0a0a0c" alt="Website"></a>
12
16
  </p>
13
17
 
14
- **Your AI Engineering Squad. One Unified Harness.**
15
-
16
18
  squad-kit is an agent harness for the whole software cycle. You describe what you need in plain words. A
17
19
  squad of AI agents takes it from that ask to a release: the Analyst, the Architect, the Builder, the Tester
18
20
  and the Reviewer. You stay in control. The squad asks you when it needs you, and nothing important moves on
@@ -34,8 +36,10 @@ without your approval.
34
36
  4. The Architect writes the **design**: the decision and the steps. You, or a developer, approve it.
35
37
  5. The Builder writes the code in its own copy of the project. Your own folder stays as it is.
36
38
  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
+ shows each "done when" in one or more screenshots, one per part or case, taken with squad-kit's own browser.
40
+ 7. You check this **proof**: each "done when" says **Met**, **Not working yet**, **Not shown yet** or **Not on a
41
+ screen**. **Where to look** names the pages, and **Try it yourself** runs the ticket's own copy of the app, with
42
+ nothing merged. Then press **Looks right**.
39
43
  8. You press **Release**. squad-kit writes the changelog, sets the version and adds the git tag.
40
44
 
41
45
  When the squad needs you, a banner shows on every page with the button to press, the browser tab shows how many
@@ -50,6 +54,10 @@ terminal command, so developers can do the same from the terminal.
50
54
  AI tool the squad runs on. squad-kit uses your existing sign-in, so there is nothing new to buy. squad-kit
51
55
  also finds Codex, but cannot run it yet.
52
56
 
57
+ There is nothing else to install. squad-kit installs its own browser for the screenshots the first time it needs
58
+ one, so there is no `npx playwright` to run. **Windows** works, but it is less protected and not fully tested yet:
59
+ use it on projects you trust.
60
+
53
61
  ## Install
54
62
 
55
63
  ```bash
@@ -84,14 +92,16 @@ Any folder works:
84
92
 
85
93
  | The folder | What squad-kit does |
86
94
  | --- | --- |
87
- | An empty folder | Makes a new git repo. The Architect picks the stack with you on your first ticket. |
95
+ | An empty folder | Makes a new git repo and asks "What do you want to build?". The Architect picks the technology when your first ticket is planned, and squad-kit finds how to test and run it after the first build. |
88
96
  | Code with git | Keeps your repo and its history as they are. |
89
97
  | 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. |
90
98
  | A folder with several code repos | Works across them. Each ticket works in one repo. |
91
99
  | A squad-kit 0.x project | Keeps your stories, plans and tracker settings. Moves your sign-ins to this computer. |
92
100
 
93
- Then the Architect reads the project, which takes a few minutes. It maps the code and finds how to install,
94
- test, build and run it. You can follow it on the board.
101
+ Then a setup page shows each step live while the Architect reads the project, finds how to test and run it, and
102
+ squad-kit tries the tests and opens the app once. It takes a few minutes, and you can leave the page. Then the
103
+ **Overview** opens: what the project is, who uses it, how its parts fit, the rules found, and ideas for a first
104
+ ticket. Approve it with **Looks right, start working**, and the squad follows those rules.
95
105
 
96
106
  ## Your first ticket
97
107
 
@@ -112,10 +122,26 @@ The step-by-step guide is in [Getting started](docs/getting-started.md).
112
122
  - **A slow step says so**, with what it is doing and three ways out: **Give it 10 more minutes**, **Stop and try
113
123
  again**, or **Stop**. A step that makes no progress says what squad-kit checked.
114
124
  - **Run your app** from **Your apps** in the sidebar: Start, Open, Restart and Stop, from squad-kit's own copy of
115
- `main`. After **Looks right**, **Run the new version** shows the change. Terminal: `squad app start`.
125
+ `main`. If another program holds its port, it moves to a free one by itself. After **Looks right**, **Run the new
126
+ version** shows the change. Terminal: `squad app start`.
127
+ - **Tickets that need each other**: when a design depends on a ticket that is not merged yet, it waits with
128
+ **Build on its branch**, **Build anyway** or **Wait**.
116
129
  - **Remove a ticket** you no longer want with **Delete**, and take finished ones off the board with **Archive**.
117
130
  The dialog lists what goes and what stays; the cost stays in Usage. Terminal: `squad delete`, `squad archive`.
118
131
 
132
+ ## Checks you can trust
133
+
134
+ - **Not checked, never a fake pass**: a project with no tests shows "Not checked" in orange.
135
+ - **Weakened tests stop the ticket**: deleted or skipped tests, fewer tests, or a changed test setup.
136
+ - **Proof is checked**: each screenshot must be a real, new picture, and squad-kit's own check looks at all the
137
+ pictures of each "done when" together before it says **Met**.
138
+ - **The Builder works in a sandbox** where the computer allows it: its copy only, no keys or `.env` files, and only
139
+ the package registries and websites you allow.
140
+ - **The project's own commands run in a guard** on Mac and Linux: the tests, the setup and the app work normally, but
141
+ can't read your keys, your sign-ins or squad-kit's own files.
142
+ - **Agents get fixed tools, no free commands**, for screenshots, the app and the checks. squad-kit checks each
143
+ request and does the job itself.
144
+
119
145
  ## When something goes wrong
120
146
 
121
147
  - **Every stop says what happened, what is safe, and the ways out**, as buttons: Try again, Fix it yourself,
@@ -165,19 +191,29 @@ Hand over and clones work for a project whose `.squad/` sits in its one code rep
165
191
 
166
192
  ## Talk to the squad
167
193
 
168
- Open a chat with any agent on a ticket. **Asking never stops the work**: the squad keeps working while you
169
- talk. To change what gets built, press **Propose a change**. The Analyst writes the change into the spec, old
194
+ **Ask a question** is at the top of every ticket, in every state: working, in the queue, waiting for another ticket,
195
+ stopped, at review, taken over or released. Whoever knows the ticket best answers: the Analyst before the build, the
196
+ Builder during and after it, the Tester once there are screenshots. It answers questions only, like "how do I test
197
+ this?" or "where is the new page?", and the ticket stays exactly where it is. Terminal: `squad chat <ticket> --ask`.
198
+
199
+ You can also open a chat with any agent on a ticket. **Asking never stops the work**: the squad keeps working while
200
+ you talk. To change what gets built, press **Propose a change**. The Analyst writes the change into the spec, old
170
201
  and new side by side, and you approve it. A released ticket answers questions only. A change to it becomes a new
171
202
  linked ticket or a bug report.
172
203
 
204
+ **The squad asks you only about the business.** Technical questions stay with the agent and squad-kit. Nobody may ask
205
+ you for a password or a key, to change squad-kit's settings, or to change git history: squad-kit refuses it and
206
+ writes one line in the ticket's activity.
207
+
173
208
  ## Cost and models
174
209
 
175
210
  - squad-kit picks a **model level** for each role and step from the project's **Quality** setting: **Best**
176
211
  (the default) builds and reviews on the strongest model, **Balanced** builds on it at medium effort, and
177
212
  **Thrifty** builds on a lighter one. **Fast** stays for screenshots and small helpers. The team or each person
178
213
  can change single steps on the **Squad and AI** page.
179
- - The board shows **what each ticket and each role used**, in tokens and in money at the AI company's API
180
- prices. Your own AI subscription pays for it. This shows where the cost goes.
214
+ - The board shows **what each ticket and each role used**, the way you pay. On a Claude subscription it says the
215
+ work is included in your plan, and shows its size and its value at API prices (a value, not a bill). With an API
216
+ key it shows real dollars, against a budget per ticket and per month.
181
217
  - One **limit of tickets at once** (2 by default, up to 5) is shared by all your projects, because they use the
182
218
  same AI account.
183
219
 
@@ -186,6 +222,8 @@ linked ticket or a bug report.
186
222
  - [Getting started](docs/getting-started.md): your first hour, from install to a release.
187
223
  - [Moving to 1.0](docs/migrating-to-1.0.md): from squad-kit 0.x, and from early 1.0 boards.
188
224
  - [The app](docs/console.md): Home, the board, the ticket drawer, Squad and AI, and Settings.
225
+ - [From a BRD to a built product](docs/requirements.md): upload a requirements document, approve the breakdown,
226
+ send it to Azure DevOps and let the squad build it.
189
227
  - [CHANGELOG](CHANGELOG.md): what changed in each version.
190
228
 
191
229
  The 0.x planner commands (`squad new-story`, `squad new-plan`, `squad auth` and others) still ship. Their docs
package/SECURITY.md CHANGED
@@ -7,8 +7,8 @@ or `squad upgrade`.
7
7
 
8
8
  | Version | Supported |
9
9
  | ------- | --------- |
10
- | 1.1.x | ✅ |
11
- | < 1.1 | ❌ |
10
+ | 1.2.x | ✅ |
11
+ | < 1.2 | ❌ |
12
12
 
13
13
  ## Reporting a vulnerability
14
14
 
@@ -44,6 +44,13 @@ Credit will be given in the release notes unless you prefer to remain anonymous.
44
44
  own copy of the code, the Tester cannot change code, and no agent may change the instruction files the next session
45
45
  would follow, squad-kit's own `.squad/` folder, or git history. squad-kit checks after each step and puts back what
46
46
  an agent changed outside its lane. Text from trackers and pasted messages reaches agents as data, never as orders.
47
+ - **Agents get fixed tools, no free commands.** For screenshots, the app and the checks, an agent presses one of
48
+ squad-kit's tools. squad-kit checks every field, does the job itself, and refuses and logs what breaks a check.
49
+ - **The project's own commands run in a guard** on Mac and Linux: the tests, setup, the app and the release pipeline
50
+ can't read your keys, sign-ins, browser profiles, squad-kit's own folder or the `.env` files in your project folder.
51
+ - **Windows is less protected and not fully tested yet.** There, the agents' own commands and the project's own
52
+ commands have no guard, so they can reach other files on the computer, squad-kit's own too. Use it on projects you
53
+ trust. Settings says so.
47
54
  - **The engine owns git and the release.** Agents never merge, push or grade their own work.
48
55
  - **The npm package is built and published by GitHub Actions** from a release tag, with npm trusted publishing (no
49
56
  npm token exists) and a signed provenance statement you can check on npmjs.com.