@pilotspace/add 1.6.0 → 1.7.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 +82 -0
- package/README.md +34 -1
- package/bin/cli.js +630 -57
- package/docs/02-the-flow.md +1 -1
- package/docs/04-step-2-scenarios.md +6 -0
- package/docs/08-step-6-verify.md +4 -0
- package/docs/09-the-loop.md +2 -0
- package/docs/appendix-c-glossary.md +8 -0
- package/package.json +4 -1
- package/skill/add/SKILL.md +30 -2
- package/skill/add/fold.md +53 -35
- package/skill/add/graduate.md +2 -1
- package/skill/add/intake.md +6 -0
- package/skill/add/loop.md +18 -4
- package/skill/add/phases/0-setup.md +1 -1
- package/skill/add/phases/2-scenarios.md +2 -0
- package/skill/add/phases/3-contract.md +1 -1
- package/skill/add/phases/6-verify.md +10 -1
- package/skill/add/release.md +2 -1
- package/skill/add/report-template.md +83 -19
- package/skill/add/scope.md +41 -0
- package/tooling/add.py +536 -91
- package/tooling/templates/GLOSSARY.md.tmpl +2 -0
- package/tooling/templates/MILESTONE.md.tmpl +23 -0
- package/tooling/templates/TASK.md.tmpl +12 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,88 @@ All notable changes to the ADD method (`@pilotspace/add` on npm,
|
|
|
4
4
|
`pilotspace-add` on PyPI) are documented here. The format follows
|
|
5
5
|
[Keep a Changelog](https://keepachangelog.com/); versions follow semver.
|
|
6
6
|
|
|
7
|
+
## [1.7.1] — 2026-06-18
|
|
8
|
+
|
|
9
|
+
Installer depth and method quality release: the onboarding installer gains
|
|
10
|
+
brand-aware prompts, readiness detection, and intent handoff; SOUL.md is now
|
|
11
|
+
seeded on first install and update; scope drafting and build verification gain
|
|
12
|
+
new depth guards. All additive; no breaking changes.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- **Brand-aware guided installer (`installer-smarts`)** — `add init` now prompts
|
|
16
|
+
for the user's brand/project name and detects whether ADD is already present
|
|
17
|
+
(readiness check); defaults to global scope and captures the user's first
|
|
18
|
+
intent, handing it off to the first `/add` session via `.add/.intent`.
|
|
19
|
+
- **SOUL.md seeded on install and update (`installer-soul-seed`)** — `add init`
|
|
20
|
+
and `add update` now seed `.add/SOUL.md` from the bundled voice template if it
|
|
21
|
+
does not yet exist, so the voice file is present from the first session without
|
|
22
|
+
waiting for `add.py init`.
|
|
23
|
+
- **Build expectations in VERIFY (`verify-expectations`)** — the §6 VERIFY step
|
|
24
|
+
gains a Build-expectations block: the AI pre-declares observable outcomes derived
|
|
25
|
+
from §2 scenarios + §3 contract, and verify confirms them — so a build is checked
|
|
26
|
+
correct, not merely test-green.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- **Scope drafting quality guard (`scope-drafting-quality`)** — the scope guide now
|
|
30
|
+
requires the goal to be grounded in current project assets and the milestone map
|
|
31
|
+
before the goal sentence is drafted; a draft well-formedness gate catches
|
|
32
|
+
incomplete MILESTONE.md shapes early.
|
|
33
|
+
|
|
34
|
+
## [1.7.0] — 2026-06-18
|
|
35
|
+
|
|
36
|
+
The installer & onboarding release: standing up — or repairing — ADD is now one
|
|
37
|
+
guided installer that adapts to the terminal and the agent, and the method's own
|
|
38
|
+
build loop gained recorded delta resolution, guided choices at every human gate,
|
|
39
|
+
and a milestone-close ship review. All additive; no breaking changes (SemVer MINOR).
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
- **Guided, agent-aware, self-healing installer (`installer-experience`)** — `npx
|
|
43
|
+
@pilotspace/add` (and `pilotspace-add`) now runs an interactive `@clack/prompts`
|
|
44
|
+
onramp in a real terminal and degrades to a byte-identical plain-text flow in
|
|
45
|
+
CI / non-TTY (the pip twin matches, on the stdlib). It **detects the active agent**
|
|
46
|
+
(Claude Code · Claude app/cowork · Codex · OpenCode · generic) and writes that
|
|
47
|
+
agent's integration file (`CLAUDE.md` / `AGENTS.md`) as a marker-delimited pointer,
|
|
48
|
+
then prints that agent's exact next step. `init` **and** `update` now **heal/reconcile**
|
|
49
|
+
a partial `.add/` — restoring missing managed assets and refreshing stale ones
|
|
50
|
+
**without touching** `state.json` / `PROJECT.md` / milestones / tasks.
|
|
51
|
+
- **Global install (`--global`)** — install the engine + book + skill once into a
|
|
52
|
+
shared ADD home (`ADD_HOME` → `XDG_DATA_HOME/add` → `~/.add`) and reuse it across
|
|
53
|
+
projects; `update --global` refreshes the home and propagates to every registered
|
|
54
|
+
project. The home mirrors the bundled layer; the registry is a flat, atomically
|
|
55
|
+
written `registry.json`, and a corrupt registry fails loud (read-before-write,
|
|
56
|
+
zero-mutation abort).
|
|
57
|
+
- **Global data (`--global-data`)** — opt-in (implies `--global`): a one-way snapshot
|
|
58
|
+
of a project's **user-data** under `<home>/data/<key>` keyed by project path, so the
|
|
59
|
+
shared home remembers each opting project. The per-project, git-tracked default is
|
|
60
|
+
byte-unchanged; without the flag, data stays local.
|
|
61
|
+
- **Claude Code plugin distribution** — ADD is now installable straight from a
|
|
62
|
+
marketplace, with no npm or pip step: `/plugin marketplace add pilotspace/ADD`
|
|
63
|
+
then `/plugin install add@add-method`. A repo-root `.claude-plugin/marketplace.json`
|
|
64
|
+
lists the `add` plugin, which bundles the skill, the engine, and the AIDD book; on
|
|
65
|
+
first run the skill materializes the engine and book INTO the project
|
|
66
|
+
(`cli.js init --no-skill`) so every agent and a human at the shell get a
|
|
67
|
+
self-contained result identical to an npm/pip install. The skill stays in the plugin
|
|
68
|
+
(no duplicate); boundaries are disclosed in the README and guarded by
|
|
69
|
+
`tooling/test_plugin_manifest.py`.
|
|
70
|
+
- **Recorded delta resolution (`delta-resolution`)** — both delta types now resolve
|
|
71
|
+
explicitly: SPEC deltas get a `seed` / `drop` lifecycle and competency deltas
|
|
72
|
+
consolidate into the foundation via **`add.py fold`** (transcription-only, human-
|
|
73
|
+
authorized). `add.py check` stays green only when deltas are well-formed.
|
|
74
|
+
- **Guided-choice prompts (`decision-suggestions`)** — every human gate (intake ·
|
|
75
|
+
bundle approval · verify · milestone close · release) renders a recommended pick
|
|
76
|
+
plus 1–3 described alternatives. Presentation-only — the engine is untouched.
|
|
77
|
+
- **Milestone-close ship review (`ship-review`)** — closing a milestone now records a
|
|
78
|
+
cross-task ship review (ship-by-domain · per-task evidence · goal-met map) that the
|
|
79
|
+
existing engine gate reads, plus AI-defined release-step hints that feed `release.md`.
|
|
80
|
+
|
|
81
|
+
### Notes
|
|
82
|
+
- The `udd-design-loop` work (the `design.md` UDD loop + the wireframe/HTML-mock
|
|
83
|
+
recipe, described narratively under [1.5.0]) is attributed to this cut in the
|
|
84
|
+
`RELEASES.md` ledger — its first explicit ledger accounting.
|
|
85
|
+
- **The engine records; the human ships.** `add.py release` recorded the `RELEASES.md`
|
|
86
|
+
row and this changelog lineage; it never bumps a version source, tags, or publishes.
|
|
87
|
+
The human-gated `git tag v1.7.0` triggers the npm / PyPI publish.
|
|
88
|
+
|
|
7
89
|
## [1.6.0] — 2026-06-16
|
|
8
90
|
|
|
9
91
|
The releasing release: shipping a versioned cut is now a first-class **5th ADD
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ across sessions (context rot). ADD fixes both:
|
|
|
30
30
|
|
|
31
31
|
## Install
|
|
32
32
|
|
|
33
|
-
Pick your ecosystem —
|
|
33
|
+
Pick your ecosystem — all three install the same skill, tooling, and book:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
36
|
# Node / npm
|
|
@@ -43,6 +43,17 @@ pip install pilotspace-add
|
|
|
43
43
|
pilotspace-add init
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
+
```text
|
|
47
|
+
# Claude Code plugin — no npm or pip needed
|
|
48
|
+
/plugin marketplace add pilotspace/ADD
|
|
49
|
+
/plugin install add@add-method
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The plugin carries the engine and the book. On first `/add`, the skill materializes them
|
|
53
|
+
into the project (`node "${CLAUDE_PLUGIN_ROOT}/bin/cli.js" init --no-skill`) and scaffolds
|
|
54
|
+
`.add/` — a self-contained, portable result identical to the npm/pip flow. The skill stays
|
|
55
|
+
in the plugin, so nothing is duplicated.
|
|
56
|
+
|
|
46
57
|
No flags needed — the project name is inferred from your folder and the stage
|
|
47
58
|
defaults to `prototype` (pass `--name "My App" --stage mvp` to choose up front).
|
|
48
59
|
|
|
@@ -75,6 +86,28 @@ Project state (`.add/state.json`) and the living-documentation files (`CONVENTIO
|
|
|
75
86
|
human-owned voice) are *not* created here — the installer drops files only;
|
|
76
87
|
initialisation is the agent's first move when you run `/add`.
|
|
77
88
|
|
|
89
|
+
## What this plugin does, writes, and runs (boundaries)
|
|
90
|
+
|
|
91
|
+
ADD is a development methodology, so by design it works *inside your project* — here is
|
|
92
|
+
exactly what that means, so there are no surprises:
|
|
93
|
+
|
|
94
|
+
- **Runs only when you ask.** Nothing executes on install. The skill acts when you run
|
|
95
|
+
`/add` (or another agent follows the guideline block). It is user-initiated, every time.
|
|
96
|
+
- **What it runs:** the bundled engine and bootstrapper only — `node bin/cli.js` and
|
|
97
|
+
`python3 .add/tooling/add.py`. No downloaded or remote code is executed; everything it
|
|
98
|
+
runs ships in the package.
|
|
99
|
+
- **What it writes:** files under your project's `.add/` (state, milestones, tasks, the
|
|
100
|
+
book) and the managed guideline block in `CLAUDE.md` / `AGENTS.md`. On a plugin install
|
|
101
|
+
it also materializes the engine + book into `.add/` on first run. It writes nowhere
|
|
102
|
+
outside the project working directory; it never touches files above the project root.
|
|
103
|
+
- **Network:** one optional, advisory update check. On `status` / `guide` the engine may
|
|
104
|
+
make a single HTTPS GET to `https://registry.npmjs.org/@pilotspace/add/latest` to see if
|
|
105
|
+
a newer version exists — at most once per 24h (cached in `.update-cache.json`), 1.5s
|
|
106
|
+
timeout, fail-open (offline ⇒ silent no-op). It only writes a one-line note to **stderr**
|
|
107
|
+
and never changes a command's output or exit code. Disable it entirely with
|
|
108
|
+
`ADD_NO_UPDATE_CHECK=1`. No other network access, no telemetry, no analytics.
|
|
109
|
+
- **No secrets, no credentials, no privileged access.** Pure local file orchestration.
|
|
110
|
+
|
|
78
111
|
## Use it
|
|
79
112
|
|
|
80
113
|
ADD is AI-first: you talk to the agent; it drives the method. In Claude Code, run
|