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 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 `&amp;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.1...HEAD
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 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.
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 a card shows up in **Waiting for you**.
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 minor release of squad-kit receives security fixes.
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
- | 0.2.x | ✅ |
10
- | 0.1.x | ❌ |
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
- Email the maintainer privately at **momenysr@gmail.com** with:
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
- ## Handling credentials
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 is a local-only CLI. It can call **optional** network APIs (tracker fetch, direct planner) when the user enables those flows and provides credentials. It does not execute user code. Reports in scope include:
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
- - Arbitrary file read/write outside the workspace caused by malformed input (e.g. path-traversal via feature slugs or intake paths).
65
- - Command injection via clipboard helpers or spawned processes.
66
- - Supply-chain concerns in shipped dependencies (`@inquirer/prompts`, `commander`, `fs-extra`, `js-yaml`, `kleur`).
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
- - Content of user-authored intakes and plans under `.squad/stories/` and `.squad/plans/` (treat as trusted project input to your agents).
71
- - Vulnerabilities in the AI agents that consume squad-kit output (Claude Code, Cursor, Copilot, Gemini). Report those upstream.
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.