@rasensio/aidlc-content 1.55.0 → 1.57.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/docs/lifecycle.md
CHANGED
|
@@ -172,7 +172,11 @@ reviewer is handed one fixed `git diff` listing every test or spec file that exi
|
|
|
172
172
|
and was modified, deleted or renamed — and fails each one the task did not ask to change. The listing
|
|
173
173
|
is mechanical on purpose: the agent that wrote the code also used to be the one deciding the tests that
|
|
174
174
|
define done were fine, and a loosened assertion looks like a pass from inside. It is asked once per
|
|
175
|
-
instance and off by default, because it roughly doubles the agents.
|
|
175
|
+
instance and off by default, because it roughly doubles the agents. A repo can change the default:
|
|
176
|
+
`aidlc init` asks "How should implementation tasks run?" when a configured platform has sub-agents,
|
|
177
|
+
and saves the answer as `task_agents: per-task` (or `one-session`) in `.aidlc/config.yaml`. That
|
|
178
|
+
answer becomes the recommendation every instance is offered — and the one an unattended autopilot
|
|
179
|
+
run takes — while a prompt or a roadmap item asking for the other mode still wins for its instance. Tasks that may run at the same time
|
|
176
180
|
carry `(wave: <n>)` in `tasks.md`; a wave must be a run of consecutive tasks, and a bad marker keeps
|
|
177
181
|
the task and warns rather than dropping it from gate coverage. The whole loop is one rule file,
|
|
178
182
|
`.aidlc/resources/rules/task-agents.md`, so a session that runs its tasks itself never reads it.
|
package/docs/roadmap.md
CHANGED
|
@@ -154,8 +154,9 @@ At most two items build at once, and never more than you asked for. Autopilot ne
|
|
|
154
154
|
between `inbox/`, `backlog/` and `hold/` except to park what it is building, and never edits a rank or
|
|
155
155
|
a dependency: deciding what is agreed work stays a person's job.
|
|
156
156
|
|
|
157
|
-
**Setup** comes first, once per machine
|
|
158
|
-
|
|
157
|
+
**Setup** comes first, once per machine. A plain `aidlc init` ends by asking "Set up autopilot now?"
|
|
158
|
+
(default no); `aidlc init --autopilot` skips that question, and `aidlc autopilot setup` asks the same
|
|
159
|
+
four questions on its own. Each is a list with one choice marked recommended:
|
|
159
160
|
|
|
160
161
|
- **The agent, and what it may do.** Claude Code limited to editing files and running git, pnpm,
|
|
161
162
|
node and read-only shell tools (recommended); Claude Code with full access; Codex in full-auto
|
|
@@ -170,8 +171,29 @@ asks four questions, each a list with one choice marked recommended:
|
|
|
170
171
|
`scripts/release.sh` with the bump bookkeeping printed.
|
|
171
172
|
|
|
172
173
|
Flags skip the questions: `--agent`, `--parallel`, `--cost-cap <usd|none>`, `--release
|
|
173
|
-
<repo-script|merge-only>`.
|
|
174
|
-
machine and never committed, beside autopilot's
|
|
174
|
+
<repo-script|merge-only>`. `aidlc autopilot setup` writes all four answers to
|
|
175
|
+
`<git-common-dir>/aidlc/autopilot/config.json`, per machine and never committed, beside autopilot's
|
|
176
|
+
`state.json`, `run.json`, `logs/`, `STOP` file and, while paused, `paused.json`.
|
|
177
|
+
|
|
178
|
+
**Team defaults.** The cost cap and the release step are the team's to decide, so `aidlc init` saves
|
|
179
|
+
those two in the committed `.aidlc/config.yaml` and the agent and items-at-once on the machine:
|
|
180
|
+
|
|
181
|
+
```yaml
|
|
182
|
+
# .aidlc/config.yaml
|
|
183
|
+
autopilot:
|
|
184
|
+
cost_cap_usd: 15 # or null for no cap
|
|
185
|
+
release: repo-script # or merge-only — a preset name, never a command
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
A teammate's autopilot follows them without being asked. The machine's own `config.json` wins
|
|
189
|
+
wherever it sets the same key, and when init saves a team answer it removes this machine's copy so the
|
|
190
|
+
answer takes effect here too. The agent, its permissions and parallelism are read from the machine
|
|
191
|
+
file only: the same keys in `.aidlc/config.yaml` are ignored, so cloning a repo can never grant an
|
|
192
|
+
agent full access on your machine. A team value that is not valid — a cap that is not a positive number
|
|
193
|
+
or `null`, a release step that is not one of the two names, `repo-script` with no script — is ignored.
|
|
194
|
+
Re-running `aidlc init` pre-selects every answer in force, and an answer no choice matches is offered as
|
|
195
|
+
"(current)" and left as it is. `--non-interactive --autopilot` asks nothing, keeps what is there and
|
|
196
|
+
fills only what is missing with the recommended choice.
|
|
175
197
|
|
|
176
198
|
**Watching and stopping.** `aidlc autopilot status` shows the active run and each item's step, pull
|
|
177
199
|
request, CI failure count and last error. `aidlc autopilot stop` (or `/aidlc-autopilot-stop`) ends the
|
|
@@ -190,7 +212,7 @@ reads.
|
|
|
190
212
|
Opt-in, and off until the config block exists. `aidlc roadmap sync` renders eligible items as
|
|
191
213
|
GitHub issues; `aidlc roadmap import <issue-url>` seeds one `inbox/` item from an existing issue.
|
|
192
214
|
|
|
193
|
-
`aidlc init` offers to write the block for you — it is the last
|
|
215
|
+
`aidlc init` offers to write the block for you — it is the last of the project questions, and it
|
|
194
216
|
defaults to no. Say yes and it lists all five statuses with every one checked, so unchecking
|
|
195
217
|
`inbox` and `hold` is a choice you make with the list in front of you rather than one made on your
|
|
196
218
|
behalf. `done` cannot be turned off; without it the close path never runs and the projection never
|
|
@@ -37,6 +37,14 @@ project, so there is no second version to drift.
|
|
|
37
37
|
`init` installs skills for the platforms listed in `.aidlc/config.yaml`. `update` refreshes them after
|
|
38
38
|
the framework changes, and also rewrites the managed block in `CLAUDE.md`.
|
|
39
39
|
|
|
40
|
+
**A version bump alone changes no generated file.** Each embedded skill body opens with
|
|
41
|
+
`<!-- aidlc:generated version=… sha256=… -->`, and the version is the CLI version at which that body
|
|
42
|
+
last changed, not the one that last wrote it: when the emitted body hashes to the recorded `sha256`,
|
|
43
|
+
`update` keeps the line as it is. Stamping the running version instead restamped 42–44 identical files
|
|
44
|
+
on every release, and every branch that ran `update` then conflicted with every other on files nobody
|
|
45
|
+
edited. So an older version in a marker is normal. `aidlc doctor` reports a body only when it no longer
|
|
46
|
+
matches its hash (a hand edit) or names a CLI newer than the one running (upgrade the CLI first).
|
|
47
|
+
|
|
40
48
|
**Anything you write inside that managed block is lost on the next update.** Put project instructions
|
|
41
49
|
above the start marker or below the end marker. This repo's own `CLAUDE.md` says so at the top, and the
|
|
42
50
|
"Lessons That Keep Costing Us" section sits deliberately outside the block for exactly that reason.
|
package/package.json
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
This file is the only statement of the rule. The implementation skill points here instead of restating it, so a session that runs its tasks itself carries none of this.
|
|
4
4
|
|
|
5
|
-
**One agent per task** hands each task in `tasks.md` to a fresh agent, then has a second fresh agent review it. Task 8 gets the attention task 1 got, and the agent that wrote the code does not decide it is done. It
|
|
5
|
+
**One agent per task** hands each task in `tasks.md` to a fresh agent, then has a second fresh agent review it. Task 8 gets the attention task 1 got, and the agent that wrote the code does not decide it is done. It doubles the agents, so it is off unless chosen.
|
|
6
6
|
|
|
7
7
|
## When it is offered
|
|
8
8
|
|
|
9
|
-
Only for an instance with a task-bearing `tasks.md`, and only where the platform's entry for the skill says sub-agents are available — the line above the pointer in the skill file
|
|
9
|
+
Only for an instance with a task-bearing `tasks.md`, and only where the platform's entry for the skill says sub-agents are available — the line above the pointer in the loaded skill file. Without it, every task runs in the session.
|
|
10
10
|
|
|
11
11
|
## Choosing, once per instance
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ Ask through the **Question Protocol** (`.aidlc/resources/rules/question-protocol
|
|
|
15
15
|
- **One session** — every task runs here. Cheapest; later tasks inherit earlier context.
|
|
16
16
|
- **One agent per task** — each task in a fresh agent, checked by a reviewer that edits nothing. Roughly twice the tokens.
|
|
17
17
|
|
|
18
|
-
Recommend **One
|
|
18
|
+
Recommend per `task_agents` in `.aidlc/config.yaml`: **One agent per task** if `per-task`, else **One session**. The starting prompt or `roadmap-item.md` asking for the other wins. An `[Answer]:` already recorded is followed, never re-asked. Unattended, take the recommendation as the open-question default — so autopilot follows the repo.
|
|
19
19
|
|
|
20
20
|
## The loop, task by task
|
|
21
21
|
|