squad-kit 1.3.11 → 1.3.13

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.
@@ -0,0 +1,381 @@
1
+ ---
2
+ title: Getting started
3
+ description: Your first hour with squad-kit 1.0, from install to a released ticket.
4
+ ---
5
+
6
+ This guide takes you from nothing to a released ticket. It takes about an hour, most of it the squad's
7
+ work. You need no terminal skills after step 2.
8
+
9
+ **Coming from squad-kit 0.x, or from an early 1.0 board?** Read [Moving to 1.0](migrating-to-1.0.md) first.
10
+
11
+ ## 1. What you need
12
+
13
+ - **Node.js** 22 or newer. Check with `node --version`.
14
+ - **git**. Check with `git --version`. On a Mac, if it is missing, run `xcode-select --install` once.
15
+ - **An AI tool**, installed and signed in once. Today the squad runs on **Claude Code** only. Install it, run
16
+ `claude` once in a terminal and sign in with your own account. squad-kit uses that sign-in, so there is
17
+ nothing new to buy and no key to paste.
18
+
19
+ There is nothing else to install. squad-kit installs its own browser for the screenshots the first time it needs
20
+ one. **Windows** works, but it is less protected and not fully tested yet: use it on projects you trust.
21
+
22
+ ## 2. Install and open squad-kit
23
+
24
+ ```bash
25
+ npm i -g squad-kit
26
+ squad
27
+ ```
28
+
29
+ `squad` opens the app in your browser, at `127.0.0.1:4571`. Only you can open it: it listens on your computer
30
+ only, and the link carries a private key.
31
+
32
+ The first page is **Home**. It has two parts:
33
+
34
+ - **Projects**: one card for each project, with how many tickets are open, working and waiting for you.
35
+ - **Waiting for you**: everything the squads need from you, from every project, in one list.
36
+
37
+ Keep the terminal open. Press Ctrl-C there when you are done. Run `squad` again later and the squad picks up
38
+ where it was. If squad-kit is open already, `squad` just prints its link and opens it.
39
+
40
+ ## 3. Start or add a project
41
+
42
+ **You have only a BRD or an idea?** On Home, press **New project**. Give it a name and your BRD or your idea. squad-kit makes
43
+ the folder for you, and the squad starts from what you gave. A first story, **Set up the product**, picks the tools, and the
44
+ others wait for it.
45
+
46
+ **You already have a project?** Press **Add project**. A folder browser opens inside the page. Go to your project's folder and
47
+ press **Add this folder**.
48
+
49
+ You can also do it from a terminal, in the project's folder:
50
+
51
+ ```bash
52
+ cd ~/Workspace/leave-requests
53
+ squad console
54
+ ```
55
+
56
+ `squad console` adds the folder to the app and opens its board. If the app is not open yet, it starts it.
57
+
58
+ squad-kit works with any of these folders. The browser says which kind you picked before you add it.
59
+
60
+ | The folder | What squad-kit does |
61
+ | --- | --- |
62
+ | **An empty folder** | A new project. squad-kit makes a git repo with a short README in its first commit, then asks "What do you want to build?". The Architect picks the technology itself when your first ticket is planned. |
63
+ | **Code with git** | Your repo, branches and history stay as they are. |
64
+ | **Code without git** | squad-kit makes a repo, with your files in its first commit. Generated folders (`node_modules`, `dist`, `build` and the like) and `.env` files stay out. |
65
+ | **A folder with several code folders** | squad-kit works across them. Each ticket works in one repo, which the Architect picks in the design. |
66
+ | **A squad-kit 0.x project** | Your stories, plans and tracker settings stay. Your sign-ins move to this computer. See [Moving to 1.0](migrating-to-1.0.md). |
67
+
68
+ A project needs its own folder: squad-kit will not set up your home folder or the top folder of the disk.
69
+
70
+ ### What happens next
71
+
72
+ Before you confirm, squad-kit says what it found in the folder and what will happen next. Press **Add and get to
73
+ know it**. A setup page opens with live steps, each with its time:
74
+
75
+ 1. **Project memory**: squad-kit made `.squad/` in the folder.
76
+ 2. **Your AI tool is ready**: for example "Claude Code is ready". If not, install Claude Code and sign in, then
77
+ press **Start again**.
78
+ 3. **The Architect reads the code**: what the project is, who uses it, what it can do today, and how its parts fit.
79
+ Press **See what the Architect is reading** to watch.
80
+ 4. **How to test and run it**: the setup, test, build and start commands.
81
+ 5. **Trying the tests** and **opening the app once**, in squad-kit's own copy of the code, with a screenshot. If
82
+ one fails, the page says why and offers a way out; the setup carries on.
83
+ 6. **Your overview**.
84
+
85
+ You can leave the page: the setup carries on, the board shows where it is, and **Notify me when it is ready** sends
86
+ a desktop notice. The page also asks once how strong the squad's models should be (**Quality**: Best, the default,
87
+ Balanced or Thrifty).
88
+
89
+ Then the **Overview** opens, first in the sidebar. It is the project's handover: what it is, who uses it, what it
90
+ can do today, how its parts fit together, things worth knowing, the rules the Architect found, the proof (tests
91
+ and a screenshot of the app), and three ideas for a first ticket. Read it, then:
92
+
93
+ - **Looks right, start working** approves the rules. Until you approve them, the squad treats them as proposals.
94
+ - **Something is wrong** opens a talk with the Architect, then **Read it again with this**.
95
+ - An idea becomes a new ticket with one click.
96
+
97
+ After that, the Overview is the project's home. It stays up to date after every merged ticket.
98
+
99
+ **An empty folder has nothing to read yet**, so the steps that test and open the app are skipped, and the Overview
100
+ asks **What do you want to build?** Say it in your own words, in English or Arabic. The Architect writes it down with
101
+ ideas for your first stories, and you check it and press **Looks right, start working**. Or write your first ticket
102
+ yourself. You are not asked about the technology: the Architect picks it when your first ticket is planned, and saves
103
+ it as a decision engineers can see. After the first build, squad-kit reads how to test and run the project from its
104
+ files, and saves that in Settings. Nobody is asked.
105
+
106
+ Terminal: `squad setup --follow`, `squad overview`, `squad overview --approve`, `squad overview --build "what you
107
+ want"`. To see it all without AI, run `squad demo --first-run`.
108
+
109
+ ## 4. Connect a tracker (optional)
110
+
111
+ A tracker is where your team keeps its work items, sprints and bugs. You can skip this step and write tickets
112
+ on the board instead.
113
+
114
+ Today squad-kit works with **Azure DevOps**: Azure Boards for the work items, Azure Repos for the code.
115
+
116
+ 1. Open **Settings** and find **Azure DevOps**.
117
+ 2. Fill in your **Organization** and **Project**. If your code is on Azure Repos, they are filled in already.
118
+ 3. Paste a personal access token from Azure DevOps. It needs **Work Items** and **Code** (read, write and
119
+ manage).
120
+ 4. Press **Save and check**. It should say **Connected as** and your name.
121
+
122
+ Your token stays on this computer. It never goes into the project folder.
123
+
124
+ Now **Backlog** shows your sprint's stories and bugs, in backlog order.
125
+
126
+ ## 5. Write your first ticket
127
+
128
+ On the board, press **New ticket**. There are two ways to write it:
129
+
130
+ - **Write it**: a title and what you want, in plain words. Add what you already know: acceptance criteria,
131
+ business rules, edge cases, screenshots or documents. The Analyst asks you about the rest.
132
+ - **From an idea or message**: paste an idea, a chat message or one line of business, with screenshots if you
133
+ have them. The Analyst fills in every field, usually in under a minute, and you see each step it takes. Press
134
+ **Cancel** to stop it. You can close the window: the draft waits for you under **New ticket**. You check each
135
+ field before the ticket is made.
136
+
137
+ Pick a **track**:
138
+
139
+ - **Full** (the default): every step, with your approvals.
140
+ - **Express**: for a typo or a small urgent fix. No questions, and the plan is approved on its own. The build,
141
+ checks, review and your **Looks right** still run.
142
+
143
+ On any track, **Write new tests** is on. Turn it off when the story needs no new tests (a demo, a text or colour change):
144
+ squad-kit still runs your project's own checks, the review and the proof, and the story says "Built without new tests".
145
+
146
+ To report a bug, pick **Bug**. The form asks what happens, how to see it, what should happen, and how bad it is.
147
+
148
+ **Or pull it from your tracker.** Press **Pull from Azure DevOps** on the board, or **Start** on a story in
149
+ **Backlog**. The ticket gets the tracker's name, for example `AB-46` for work item `AB#46`. It brings the
150
+ description, acceptance criteria, feature, epic and attachments with it. On the tracker, the item moves to in
151
+ progress.
152
+
153
+ A project without a tracker names its own tickets from the project name: "Leave requests" gives `LR-1`, `LR-2`.
154
+
155
+ ## 6. From the ask to a release
156
+
157
+ The ticket's card moves across the board's columns: **Tickets**, **Specs**, **Implement**, **Test**,
158
+ **Review**, **Release**, and **Bugs** for bug reports. Each card says what is happening in plain words, for
159
+ example "Builder · step 3 of 6 · editing the booking page · 2 min · usually 2 to 4". A card gets a **You** tag
160
+ when it needs you. It also shows up in the **Waiting for you** banner at the top of every page, with the button to
161
+ press, and the browser tab shows the count. Turn on desktop notices when the banner asks, and you can work on
162
+ something else until the squad needs you.
163
+
164
+ Click a card to open the **ticket drawer** on the right. Its **Now** tab always shows what happens now, what comes
165
+ next and what you can do. Type a question under **Ask about this ticket**, like "is there a problem?" or "when will
166
+ it be ready?": the answer comes at once, in English or Arabic.
167
+
168
+ ### Answer the questions
169
+
170
+ The Analyst asks about what to build. The Architect asks about how to build it. Each question has choices.
171
+ Click one, or write your own answer. Then press **Send answers**.
172
+
173
+ - Not sure what a question means? Press **Ask about this** and ask in one line.
174
+ - In a hurry? Press **Skip, let the squad guess**. You will see its guesses in the spec.
175
+ - Want to talk it over? Press **Talk it through instead** and chat with the Analyst.
176
+
177
+ With a tracker, your answers are also posted on the work item as a comment.
178
+
179
+ ### Approve the spec
180
+
181
+ The spec says **what** gets built: the story, a "done when" list (each one something the Tester must prove),
182
+ business rules and edge cases. Read it like a document:
183
+
184
+ - Point at any part to **comment** on it or **edit** it yourself. Your wording stays, even after a rewrite.
185
+ - **Send back** sends all your comments at once. The new version shows **What changed**, old and new side by
186
+ side.
187
+ - **Start over** writes it again from zero, with a new direction from you.
188
+ - When it is right, press **Approve spec**.
189
+
190
+ ### Approve the design
191
+
192
+ The design says **how** it gets built: the decision (the options, the one chosen and why) and the steps. It
193
+ also says which saved decisions it follows. A ticket with screens gets a clickable mockup under **How it will
194
+ look**.
195
+
196
+ This part is technical. A developer can approve it for you. Review it the same way as the spec, then press
197
+ **Approve design**. The decision is saved, named after the ticket: `AB-46.1` is the first decision of `AB-46`.
198
+ Decisions the Architect found in the existing code are named `STACK.1`, `STACK.2`.
199
+
200
+ The Analyst and the Architect see the project's other open tickets and the files they change. If this ticket needs
201
+ another one that is not merged yet, the design says so ("depends on AB-45"), and before building the ticket waits
202
+ with a card: **Build on AB-45's work**, **Build anyway** (from main), or **Wait** (it starts by itself when AB-45
203
+ merges). Terminal: `squad build <ticket> --on-branch | --anyway | --wait`.
204
+
205
+ ### Watch the squad build
206
+
207
+ Now the squad works on its own:
208
+
209
+ 1. The **Builder** writes the code in its own copy of the project. Your own folder is never touched while it
210
+ works. Its commands run in a sandbox where the computer allows it: they can only write in that copy, can't read
211
+ your keys or sign-ins, and can only reach package registries and the websites you allow.
212
+ 2. squad-kit runs the project's **tests, lint and build** itself, in its own guard on Mac and Linux: they work
213
+ normally, but can't read the usual places for keys and sign-ins. `SECURITY.md` says what the guard stops and what
214
+ it does not. A check that fails runs once more first, as a test can fail once for no reason in the code. For the
215
+ tests, the failed ones run on their own first: one that still fails fails the check at once, and if they pass, all
216
+ the tests run once more and decide. A failed test in a part the ticket did not change also runs on its own on
217
+ main's code: if it fails there too, it is an old bug, not this ticket's, so the ticket goes on, the checks say so,
218
+ and squad-kit makes a new ticket to fix that test. It waits until you press Start (`squad start <ticket>`). A
219
+ check that still fails goes to the Builder, up to 3 tries, and it is told which checks already failed before this
220
+ ticket started. If the change deleted tests, has fewer tests, changed the test setup or skips tests, the ticket
221
+ stops and says so. A project with no tests shows **Not checked** in orange, never a green pass.
222
+ 3. The **Reviewer** reads the whole change in a fresh session, with the check results, so the work gets a real
223
+ second opinion.
224
+ 4. The **Tester** shows each "done when" in one or more screenshots, one for each part or case. squad-kit starts the
225
+ ticket's own copy of the app and takes the pictures with its own browser. There is nothing to install: the first
226
+ time, one line says "Setting up squad-kit's screenshot browser. This happens only once." squad-kit checks each
227
+ picture is real and new, then looks at all the pictures of each "done when" together.
228
+
229
+ While it works, you can:
230
+
231
+ - See the steps, the activity and the real agent conversation in the drawer's tabs.
232
+ - Message an agent in the **Conversation** tab. It reads your message at its next step; the work goes on.
233
+ - Press **Ask a question** at the top of the ticket, in any state. Asking never stops the work, and the ticket stays
234
+ where it is.
235
+ - Press **Propose a change** to change what gets built. See [Change something](#8-change-something) below.
236
+ - Press **Stop**. The agent stops at once, and the work so far is kept. **Try again** carries on from the same
237
+ step.
238
+ - Developers can press **Take over** to work in the Builder's own session, then **Give back**.
239
+ - Anyone can move a story to a conversation in any AI tool, at any step, and bring it back: **Work in another AI tool** in the story's menu.
240
+ - Press **Bring in the newest work** to give the Builder what the team merged since.
241
+
242
+ Only a limited number of tickets run at once (see **Tickets at once** in Settings). A ticket over the limit says
243
+ **Next in line: starts when a slot is free** and starts on its own.
244
+
245
+ A step that takes more than twice its usual time says **Taking longer than usual**, with what it is doing.
246
+ **Give it 10 more minutes**, **Stop and try again**, or **Stop**. Only the time a step really runs counts, not the
247
+ time it waits for you, for another ticket or for a free place. If Claude's usage limit is reached, the squad pauses
248
+ and carries on by itself when the limit resets.
249
+
250
+ ### Check the proof
251
+
252
+ The **Proof** page shows each "done when" with its screenshots, one or more, one for each part or case, and three
253
+ results: the checks, the review and the proof. Nothing ships without all three.
254
+
255
+ Each "done when" says what its pictures show:
256
+
257
+ - **Met**: they show it works as written.
258
+ - **Not working yet**: a picture shows it does not work.
259
+ - **Not shown yet**: the pictures do not show it clearly.
260
+ - **Not on a screen**: it cannot be shown at all, like an email or what happens after a restart. Look at these
261
+ yourself: nobody saw them on a screen.
262
+
263
+ **Also changed, not in the plan** lists anything the change touched beyond its plan, so nothing surprises you.
264
+
265
+ Before you decide, you can check it yourself:
266
+
267
+ - **Where to look** lists the pages to open, with what each one shows.
268
+ - **Try it yourself** runs this ticket's own copy of the app, with the change in it and nothing merged. Press **Open**
269
+ to click through it, and **Stop** when you are done. Terminal: `squad try <ticket>`.
270
+ - **Ask a question**, like "how do I test this?". The ticket keeps waiting for you.
271
+
272
+ Then:
273
+
274
+ - If it is right, press **Looks right**. squad-kit saves the change as a commit on the ticket's branch. With a
275
+ code host (Azure Repos today), it opens a pull request with the screenshots and merges it. Without one, it
276
+ merges the branch into your main branch itself. On the tracker, the item moves to resolved.
277
+ - If not, press **Something's wrong**, say what in one line, and press **Send back**. The ticket goes back to
278
+ the Builder with your note.
279
+
280
+ After **Looks right**, press **Run the new version** in **Your apps** in the sidebar. squad-kit starts the app from
281
+ the newest `main` and gives you its address.
282
+
283
+ ### Release
284
+
285
+ Open **Releases**. The squad has prepared the next release: the version, the tickets in it and the release
286
+ notes. Edit the notes if you like, then press **Release**.
287
+
288
+ squad-kit asks you once to confirm, and lists exactly which branch of which repo it will push, and where. Read
289
+ it. Then it updates the changelog, sets the version, adds the git tag and pushes. On the tracker, the items
290
+ close with the version as a tag.
291
+
292
+ Need to leave a ticket out? Press **Take out** on it before you release: its code stays in main and joins the next
293
+ release. After a release, squad-kit deletes the released tickets' branches on your computer (on the remote only
294
+ when you ask). A release cut off by a restart finishes or rolls back cleanly the next time.
295
+
296
+ If it cannot reach your team's shared copy of the code (no network, or the copy refuses it), the release is made on
297
+ your computer only and says **not sent yet**. Fix the problem, then press **Send again** on the release. Terminal:
298
+ `squad release <version> --push-again`.
299
+
300
+ Found a problem later? Press **Report a bug** on the board. The bug becomes a ticket linked to the release, goes
301
+ around the same loop, and the Tester adds a check so it cannot come back.
302
+
303
+ ## 7. What each card means
304
+
305
+ These are the cards that land in **Waiting for you**. Each one names the button to press, and the terminal
306
+ command that does the same.
307
+
308
+ | Card | What it means | What you do |
309
+ | --- | --- | --- |
310
+ | **Questions** | The Analyst or the Architect needs answers before writing the spec. | **Answer**: pick a choice or write your own. Or skip and let the squad guess. |
311
+ | **Spec** | The story and the "done when" list are ready. | **Review spec**: comment, edit, send back, start over, or **Approve spec**. |
312
+ | **Design** | The decision and the steps are ready. | **Review design**: the same as the spec, then **Approve design**. |
313
+ | **Proof** | The work is built, checked and reviewed, with screenshots. | **Check proof**: **Looks right**, or **Something's wrong**. |
314
+ | **An agent asks you** | The Architect, Builder or Reviewer stopped in the middle of its work to ask you something, sometimes with screenshots or a mockup. | **Answer** on the card. |
315
+ | **The squad is stuck** | A check keeps failing, or the review stays open, or the change clashes with newer code on main. | **Decide**: **Try again** (with a note), **Fix it yourself**, **Continue anyway** (with a reason that stays on the record), or send it back to the plan. |
316
+ | **Looks stuck** or **Taking longer than usual** | A step makes no progress, or runs past twice its usual time. | **End the stuck command**, **Give it 10 more minutes**, **Stop and try again**, or **Stop**. |
317
+ | **A newer decision** | A decision approved after this ticket's design changes it. | **Update the plan**, or keep it as it is, with a reason. |
318
+ | **A change** | A change you proposed is written into the spec, or its design update is ready. | Approve it or decline it. |
319
+ | **You have this ticket** | You took the ticket over. | **Give back** when you are done. The checks, review and proof run again. |
320
+ | **A chat is open** | You were talking a waiting ticket through with an agent. | **Open chat**, and finish the talk. |
321
+ | **No tests** | The project has no tests, so the checks can't prove the work. Asked once per project. | Use the Architect's suggested test command, go on without tests (the gate shows **Not checked**), or add one in Settings. |
322
+ | **Tests weakened** | The change deleted tests, has fewer tests, changed the test setup, or skips tests. | **Send it back to the Builder**, **Fix it yourself**, or **Continue anyway** with a reason. |
323
+ | **Needs another ticket** | The design depends on a ticket that is not merged yet. | **Build on its branch**, **Build anyway**, or **Wait**. |
324
+ | **A choice about the tests** | The Architect's design changes how the tests run. squad-kit tries the new way itself and keeps it only when it passes and runs at least as many tests. This card shows only when it cannot tell. | **Keep the current way**, or **Use the new way** (`squad test-command <ticket> --keep \| --use`). |
325
+ | **Reached its limit** | A step used the turns or the spend its Quality setting allows. The work is kept. | **Give it more**, or **Stop**. |
326
+ | **Budget** | With an API key: a ticket or the month reached its budget. | **Carry on**, **Do the rest yourself**, or send it back to the plan. |
327
+
328
+ Only you can skip a failed check. Your reason shows on the ticket, the pull request and the release notes.
329
+
330
+ ## 8. Change something
331
+
332
+ You can change your mind at any time, without stopping the squad.
333
+
334
+ - **Ask** anything with **Ask a question** at the top of the ticket, or open a chat with any agent. The chat says so:
335
+ the work goes on, and asking changes nothing.
336
+ - **Change** what gets built with **Propose a change**. The Analyst writes it into the spec, old and new side
337
+ by side, and says whether it is small or big. Nothing changes until you approve it.
338
+ - A **small** change reaches the Builder at the end of its current step. The work does not stop.
339
+ - A **big** change pauses the Builder after its current step. The Architect updates the design, you approve
340
+ it, and the Builder redoes only the steps the change touches.
341
+ - One change at a time per ticket.
342
+ - Changed your mind? **Withdraw change** takes back an approved change the squad has not built yet.
343
+ - **Released or accepted work** answers questions only. There the button reads **Ask for a change**, and the
344
+ change becomes a new ticket linked to it, or a bug report.
345
+
346
+ Don't need a ticket any more? Open the **…** menu at the top of the ticket. **Delete** removes a ticket that is
347
+ not merged: its copy of the code, its branch, its files and its chats. The tracker item and the cost stay.
348
+ **Archive** takes a finished ticket off the board; its history stays.
349
+
350
+ ## 9. Do it from the terminal
351
+
352
+ Every button has a terminal command. Turn on **Show commands** in the sidebar to see each one next to its
353
+ button. A few to start with:
354
+
355
+ ```bash
356
+ squad inbox # everything waiting for you
357
+ squad board # every open ticket, by stage
358
+ squad show AB-46 # one ticket: its spec, design, steps, checks, proof and cost
359
+ squad answer AB-46 # answer its questions
360
+ squad approve AB-46 # approve what it waits on: the spec, the design or the proof
361
+ squad propose AB-46 "allow 5 bookings a day, not 3"
362
+ squad pull 46 # start a ticket from a work item
363
+ squad release # release the tickets that are ready
364
+ ```
365
+
366
+ Commands find the project from the folder you are in. From any other folder, add `--project <name>`. See them
367
+ all with `squad --help`.
368
+
369
+ ## 10. When something goes wrong
370
+
371
+ Every stop says what happened, what is safe, and the ways out, as buttons, in plain words. The exact error is in the
372
+ ticket's Developer tab, for engineers. Nothing is lost: the work so far is kept on the ticket's branch.
373
+
374
+ If you need help, press **Report a problem** (on the error card, at the top of the ticket, or in Settings). It
375
+ saves one file in your Downloads folder with the ticket, its conversations, the app log and the versions, and never
376
+ your sign-ins or keys. Send that file to whoever helps you with squad-kit. From the terminal: `squad report AB-46`.
377
+
378
+ ## Next
379
+
380
+ - [The app](console.md): every page, in short.
381
+ - [Moving to 1.0](migrating-to-1.0.md): for projects from squad-kit 0.x and from early 1.0 boards.