squad-kit 1.0.1 → 1.1.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 +72 -1
- package/README.md +27 -3
- package/SECURITY.md +42 -13
- package/dist/cli.js +4989 -1626
- package/dist/console-ui/assets/index-B5OB6sbE.css +1 -0
- package/dist/console-ui/assets/index-CmwEXgR9.js +551 -0
- package/dist/console-ui/index.html +2 -2
- package/package.json +1 -1
- package/dist/console-ui/assets/index-CSk4SKT_.css +0 -1
- package/dist/console-ui/assets/index-DKFsGYQn.js +0 -500
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,76 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.1.0] — 2026-11-03
|
|
11
|
+
|
|
12
|
+
squad-kit 1.1 is about never wondering what the squad is doing, and always having a way out.
|
|
13
|
+
|
|
14
|
+
### Always know what is happening
|
|
15
|
+
|
|
16
|
+
- **Every card says what is happening** in plain words: "Builder · step 3 of 6 · editing the booking page", how
|
|
17
|
+
long it has run, and how long that step usually takes on this project. squad-kit learns the usual times from the
|
|
18
|
+
project's own history. A ticket over the limit says "Next in line: starts when a slot is free".
|
|
19
|
+
- **The Now tab** says in one sentence what happens now and what comes next. The stage tracker shows how long each
|
|
20
|
+
stage took. Terminal: `squad status <ticket>`, and `squad show` prints the same.
|
|
21
|
+
- **Ask about a ticket**: "is there a problem?", "when will it be ready?", "what is it doing?". Status questions are
|
|
22
|
+
answered at once from the live record, in English or Arabic, at no AI cost. A question that would change the work
|
|
23
|
+
offers Propose a change or a note, and says when the note will be read. Terminal: `squad ask <ticket> "..."`.
|
|
24
|
+
|
|
25
|
+
### Waiting for you, loud
|
|
26
|
+
|
|
27
|
+
- **A banner on every page** when something needs you, with the button to press on each item.
|
|
28
|
+
- **The browser tab shows the count**: "(2) roomflow".
|
|
29
|
+
- **Desktop notices**, asked for once: one notice per new question, approval, proof or stop. No sound. Settings ›
|
|
30
|
+
Desktop notices turns them on or off.
|
|
31
|
+
|
|
32
|
+
### Time limits you can see
|
|
33
|
+
|
|
34
|
+
- **"Taking longer than usual"** past twice a step's usual time, with what it is doing, its last progress and when
|
|
35
|
+
squad-kit stops it: **Give it 10 more minutes**, **Stop and try again**, **Stop**. Terminal:
|
|
36
|
+
`squad wait <ticket> --more 10m`, `squad stop <ticket> --again`.
|
|
37
|
+
- **"Looks stuck"** says what squad-kit checked, and keeps **End the stuck command**.
|
|
38
|
+
|
|
39
|
+
### Your apps
|
|
40
|
+
|
|
41
|
+
- **Start, Open, Restart and Stop** your app from the sidebar. squad-kit runs it from its own copy of `main` (never
|
|
42
|
+
your folder), brings the copy up to date first, copies your `.env` files into it, and says Running only when the
|
|
43
|
+
address answers. **Show output**
|
|
44
|
+
has the last lines.
|
|
45
|
+
- **Run the new version** after Looks right.
|
|
46
|
+
- **A busy port** gets a plain message, and the fix when there is one. No start command: **Ask the Architect to find
|
|
47
|
+
it**, or **Type it**.
|
|
48
|
+
- Terminal: `squad app start|stop|restart|status|set|find`.
|
|
49
|
+
|
|
50
|
+
### Delete and Archive
|
|
51
|
+
|
|
52
|
+
- **Delete** a ticket that is not merged: squad-kit stops the squad on it, then removes its copy of the code, its
|
|
53
|
+
branch, its files, its unmerged decisions, its chats and screenshots. The tracker item and the cost stay. A delete
|
|
54
|
+
cut off half-way finishes with **Delete again**.
|
|
55
|
+
- **Archive** a merged or released ticket to take it off the board; **Show archived** and **Unarchive** bring it
|
|
56
|
+
back.
|
|
57
|
+
- Terminal: `squad delete <ticket>`, `squad archive <ticket> [--undo]`, `squad board --archived`.
|
|
58
|
+
|
|
59
|
+
### When something goes wrong
|
|
60
|
+
|
|
61
|
+
- **Every stop says what happened, what is safe, and the ways out** as buttons. The exact error is in the
|
|
62
|
+
Developer tab and the app log.
|
|
63
|
+
- **Claude's usage limit pauses the squad** for every project, shows when it resets, and carries on by itself from
|
|
64
|
+
the same step, without counting a failed try. **Try now** carries on at once (`squad try-now`).
|
|
65
|
+
- **Report a problem** saves one `.zip` to send for help: the ticket, its conversations, the last day of the app
|
|
66
|
+
log and the versions. Never sign-ins, tokens or `.env` files. Terminal: `squad report [ticket]`.
|
|
67
|
+
- **An app log** in `~/.squad-kit/logs/`, one file a day, kept 14 days. Terminal: `squad logs --tail`.
|
|
68
|
+
|
|
69
|
+
### Also
|
|
70
|
+
|
|
71
|
+
- **On a phone**, the sidebar folds away behind a menu button, and the ticket drawer takes the whole screen.
|
|
72
|
+
- **`squad inbox`** names a newer decision that changes a plan correctly (it said "Looks stuck").
|
|
73
|
+
- **Copied terminal commands quote pasted text safely.** A note or answer with `$(…)`, backticks or a trailing `\`
|
|
74
|
+
could run or break when the command beside its button was pasted into a terminal.
|
|
75
|
+
- **Tracker text is decoded once.** A written `&lt;` in a Jira or Azure DevOps item no longer turns into `<`.
|
|
76
|
+
- **Security**: GitHub code scanning, secret scanning with push protection and Dependabot are on, the release
|
|
77
|
+
workflow's Actions are pinned to exact versions, npm publishing runs only from release tags, and `SECURITY.md`
|
|
78
|
+
describes 1.0. The issues code scanning found are fixed.
|
|
79
|
+
|
|
10
80
|
## [1.0.1] — 2026-11-03
|
|
11
81
|
|
|
12
82
|
squad-kit 1.0.1 makes the squad steadier and easier to follow, from what we saw in the first trials. To get it
|
|
@@ -803,7 +873,8 @@ First public release.
|
|
|
803
873
|
- Plan-generation meta-prompt (`generate-plan.md`), intake template (`intake.md`), and plan skeleton reference (`story-skeleton.md`).
|
|
804
874
|
- Documentation: `docs/philosophy.md`, `docs/getting-started.md`, `docs/customization.md`, `docs/vs-spec-kit.md`.
|
|
805
875
|
|
|
806
|
-
[Unreleased]: https://github.com/AzmSquad/squad-kit/compare/v1.0
|
|
876
|
+
[Unreleased]: https://github.com/AzmSquad/squad-kit/compare/v1.1.0...HEAD
|
|
877
|
+
[1.1.0]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.1.0
|
|
807
878
|
[1.0.1]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.0.1
|
|
808
879
|
[1.0.0]: https://github.com/AzmSquad/squad-kit/releases/tag/v1.0.0
|
|
809
880
|
[0.6.0]: https://github.com/AzmSquad/squad-kit/releases/tag/v0.6.0
|
package/README.md
CHANGED
|
@@ -38,8 +38,9 @@ without your approval.
|
|
|
38
38
|
7. You check this **proof** and press **Looks right**.
|
|
39
39
|
8. You press **Release**. squad-kit writes the changelog, sets the version and adds the git tag.
|
|
40
40
|
|
|
41
|
-
When the squad needs you, a
|
|
42
|
-
|
|
41
|
+
When the squad needs you, a banner shows on every page with the button to press, the browser tab shows how many
|
|
42
|
+
things wait, and a desktop notice can tell you too. Everything else, the squad handles. Every button also has a
|
|
43
|
+
terminal command, so developers can do the same from the terminal.
|
|
43
44
|
|
|
44
45
|
## What you need
|
|
45
46
|
|
|
@@ -98,10 +99,33 @@ test, build and run it. You can follow it on the board.
|
|
|
98
99
|
2. Write what you want in plain words. Add business rules, examples or screenshots if you have them. Or paste
|
|
99
100
|
an idea or a chat message, and the Analyst fills in the ticket for you to check.
|
|
100
101
|
3. Press create. The card moves across the board as the squad works.
|
|
101
|
-
4. Answer, approve and check when
|
|
102
|
+
4. Answer, approve and check when the **Waiting for you** banner asks you.
|
|
102
103
|
|
|
103
104
|
The step-by-step guide is in [Getting started](docs/getting-started.md).
|
|
104
105
|
|
|
106
|
+
## While the squad works
|
|
107
|
+
|
|
108
|
+
- **Every card says what is happening**, for example "Builder · step 3 of 6 · editing the booking page", with how
|
|
109
|
+
long it has run and how long that step usually takes on this project. A ticket waiting for a free place says so.
|
|
110
|
+
- **Ask about a ticket** on its **Now** tab: "is there a problem?", "when will it be ready?". Status questions are
|
|
111
|
+
answered at once, in English or Arabic, at no AI cost. Terminal: `squad ask`, `squad status`.
|
|
112
|
+
- **A slow step says so**, with what it is doing and three ways out: **Give it 10 more minutes**, **Stop and try
|
|
113
|
+
again**, or **Stop**. A step that makes no progress says what squad-kit checked.
|
|
114
|
+
- **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`.
|
|
116
|
+
- **Remove a ticket** you no longer want with **Delete**, and take finished ones off the board with **Archive**.
|
|
117
|
+
The dialog lists what goes and what stays; the cost stays in Usage. Terminal: `squad delete`, `squad archive`.
|
|
118
|
+
|
|
119
|
+
## When something goes wrong
|
|
120
|
+
|
|
121
|
+
- **Every stop says what happened, what is safe, and the ways out**, as buttons: Try again, Fix it yourself,
|
|
122
|
+
Continue anyway, or Report a problem. The exact error is one click away in the ticket's Developer tab.
|
|
123
|
+
- **Claude's usage limit pauses the squad** for every project, shows when it resets, and the squad carries on by
|
|
124
|
+
itself, from the same step. **Try now** carries on at once.
|
|
125
|
+
- **Report a problem** saves one `.zip` to send to whoever helps you: the ticket, its conversations, the last day
|
|
126
|
+
of the app log and the versions. It never holds sign-ins, tokens or `.env` files. Terminal: `squad report`.
|
|
127
|
+
- **The app log** is in `~/.squad-kit/logs/`, one file a day, kept 14 days. Terminal: `squad logs --tail`.
|
|
128
|
+
|
|
105
129
|
## Where your files live
|
|
106
130
|
|
|
107
131
|
squad-kit keeps files in two places. The test is simple: does another person need it to carry on?
|
package/SECURITY.md
CHANGED
|
@@ -2,23 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
## Supported versions
|
|
4
4
|
|
|
5
|
-
Only the latest
|
|
5
|
+
Only the latest release of squad-kit receives security fixes. Update with the **Update now** button in the app,
|
|
6
|
+
or `squad upgrade`.
|
|
6
7
|
|
|
7
8
|
| Version | Supported |
|
|
8
9
|
| ------- | --------- |
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
| < 0.1 | ❌ |
|
|
10
|
+
| 1.1.x | ✅ |
|
|
11
|
+
| < 1.1 | ❌ |
|
|
12
12
|
|
|
13
13
|
## Reporting a vulnerability
|
|
14
14
|
|
|
15
15
|
**Please do not open a public GitHub issue for security reports.**
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Report it privately on GitHub: [Report a vulnerability](https://github.com/AzmSquad/Squad-Kit/security/advisories/new)
|
|
18
|
+
(the repository's **Security** tab). Or email the maintainer at **momenysr@gmail.com**. Include:
|
|
18
19
|
|
|
19
20
|
- A description of the issue and its impact.
|
|
20
21
|
- Steps to reproduce (proof-of-concept preferred).
|
|
21
|
-
- Affected version(s) and environment (OS, Node version).
|
|
22
|
+
- Affected version(s) and environment (OS, Node version, AI tool and its version).
|
|
22
23
|
- Any suggested mitigation, if you have one.
|
|
23
24
|
|
|
24
25
|
You can expect:
|
|
@@ -29,7 +30,27 @@ You can expect:
|
|
|
29
30
|
|
|
30
31
|
Credit will be given in the release notes unless you prefer to remain anonymous.
|
|
31
32
|
|
|
32
|
-
##
|
|
33
|
+
## How squad-kit keeps you safe
|
|
34
|
+
|
|
35
|
+
- **The app runs on your computer only.** It listens on `127.0.0.1`, behind a private link with a token kept in
|
|
36
|
+
`~/.squad-kit/app.json`. Nothing is hosted.
|
|
37
|
+
- **Sign-ins stay on this computer.** Tracker tokens and keys live in `~/.squad-kit/projects/<id>/secrets.yaml`
|
|
38
|
+
(mode `0600` on POSIX), never in the project folder or in git. A project moved from 0.x has its
|
|
39
|
+
`.squad/secrets.yaml` moved there once. To run your app, squad-kit copies your project's `.env` files into its own
|
|
40
|
+
copy of the code in `~/.squad-kit/projects/<id>/apps/` (mode `0600`), never anywhere else.
|
|
41
|
+
- **Agents never see your secrets.** No agent may read squad-kit's secret files, and the commands squad-kit runs for
|
|
42
|
+
you (tests, setup and release) start without the AI and tracker keys.
|
|
43
|
+
- **Agents stay in their lane.** Every step runs with the permissions it needs and no more: the Builder edits only its
|
|
44
|
+
own copy of the code, the Tester cannot change code, and no agent may change the instruction files the next session
|
|
45
|
+
would follow, squad-kit's own `.squad/` folder, or git history. squad-kit checks after each step and puts back what
|
|
46
|
+
an agent changed outside its lane. Text from trackers and pasted messages reaches agents as data, never as orders.
|
|
47
|
+
- **The engine owns git and the release.** Agents never merge, push or grade their own work.
|
|
48
|
+
- **The npm package is built and published by GitHub Actions** from a release tag, with npm trusted publishing (no
|
|
49
|
+
npm token exists) and a signed provenance statement you can check on npmjs.com.
|
|
50
|
+
|
|
51
|
+
## 0.x commands: credentials
|
|
52
|
+
|
|
53
|
+
The 0.x commands that still ship (`new-plan`, `auth`, `config` and others) keep their own credential handling:
|
|
33
54
|
|
|
34
55
|
squad-kit reads API tokens from (in order):
|
|
35
56
|
|
|
@@ -59,13 +80,21 @@ squad-kit runs the Agent SDK with `settingSources: []`, which prevents it from r
|
|
|
59
80
|
|
|
60
81
|
## Scope
|
|
61
82
|
|
|
62
|
-
squad-kit
|
|
83
|
+
squad-kit runs on your computer and starts AI agents (Claude Code today) that read and change code in their own copy
|
|
84
|
+
of your project and run commands there. It calls network APIs you set up: your tracker, your code host and your AI
|
|
85
|
+
tool. Reports in scope include:
|
|
63
86
|
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
87
|
+
- A secret (a sign-in, a token, a key) reaching an agent, a log, a report file or git.
|
|
88
|
+
- The app answering anyone other than you, from this computer or another one.
|
|
89
|
+
- An agent getting past its permissions: writing outside its copy, changing instruction files, git history or
|
|
90
|
+
`.squad/`, or merging or pushing.
|
|
91
|
+
- Arbitrary file read/write outside the project caused by malformed input (for example path traversal through a
|
|
92
|
+
ticket name or an attachment).
|
|
93
|
+
- Command injection through anything squad-kit runs for you.
|
|
94
|
+
- Supply-chain concerns in shipped dependencies or in how the package is built and published.
|
|
67
95
|
|
|
68
96
|
Out of scope:
|
|
69
97
|
|
|
70
|
-
-
|
|
71
|
-
-
|
|
98
|
+
- Vulnerabilities in the AI tools themselves (Claude Code and others). Report those upstream.
|
|
99
|
+
- What the code an agent writes does in your project. squad-kit checks it (tests, review, proof), and you approve it
|
|
100
|
+
before it merges.
|