acstack 0.52.2 → 0.52.4
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/.claude-plugin/plugin.json +1 -1
- package/assets/terminal-workspace/config.example.yaml +3 -9
- package/assets/terminal-workspace/lib/commands.sh +0 -2
- package/assets/terminal-workspace/lib/pi-packages.sh +6 -19
- package/assets/terminal-workspace/lib/versions.sh +1 -2
- package/cli/dist/index.js +1 -1
- package/cli/dist/index.js.map +1 -1
- package/cli/package.json +1 -1
- package/docs/terminal-workspace.md +9 -10
- package/orchestrator/AGENTS.md +11 -8
- package/package.json +1 -1
- package/pi/extension.ts +4 -4
- package/skills/terminal-workspace/SKILL.md +1 -1
- package/skills/terminal-workspace/components.md +1 -1
- package/skills/terminal-workspace/config-choices.md +1 -1
- package/skills/terminal-workspace/turn-off-and-update.md +3 -3
package/cli/package.json
CHANGED
|
@@ -353,14 +353,14 @@ What `apply` does:
|
|
|
353
353
|
- It installs pi with `npm install -g @earendil-works/pi-coding-agent` when pi is missing
|
|
354
354
|
- It installs ACStack into pi, pinned to the version of this plugin
|
|
355
355
|
- Re-running `apply` after a plugin update moves the pin forward, and never back
|
|
356
|
-
- It installs `
|
|
356
|
+
- It installs `ac-teams` for agent delegation, shared tasks, and messaging
|
|
357
|
+
- Reapplying removes replaced delegation and todo packages only if this setup installed them; user-installed packages stay
|
|
357
358
|
- It installs `billion-context` by default for context compression in pi
|
|
358
359
|
- When the `bili` command is available, setup runs native plugin setup for pi
|
|
359
360
|
- Setup leaves Claude Code and Codex alone, and removes bili from them if an older setup added it
|
|
360
361
|
- Set `pi.billion_context: false` to leave it out, or to remove it later if this setup installed it
|
|
361
|
-
- It installs
|
|
362
|
-
-
|
|
363
|
-
- Set `pi.todo: false` or `pi.plugin_manager: false` to leave either package out
|
|
362
|
+
- It installs `pi-plugin-manager` by default
|
|
363
|
+
- Set `pi.plugin_manager: false` to leave it out
|
|
364
364
|
- It installs `@juicesharp/rpiv-ask-user-question` as pi's question tool by default
|
|
365
365
|
- ACStack uses it because decisions can include markdown, code and artifact previews
|
|
366
366
|
- It accepts freeform answers and notes, and needs no full-event telemetry environment variable
|
|
@@ -390,16 +390,15 @@ What `apply` does:
|
|
|
390
390
|
- The agentic-retro step needs the agentic-retro plugin installed first, and `apply` says so when it is not
|
|
391
391
|
- It writes the delegation line into pi's context file in `~/.pi/agent`, between HTML comment markers
|
|
392
392
|
- That is `AGENTS.md` by default, or the first of `AGENTS.override.md`, `AGENTS.md`, `AGENTS.MD`, `CLAUDE.md` and `CLAUDE.MD` that exists, which is the one pi reads
|
|
393
|
-
-
|
|
394
|
-
- It sets `"toolActivation": "eager"` in `~/.pi/agent/extensions/subagent/config.json`
|
|
393
|
+
- Delegate only when your request or your instructions allow it
|
|
395
394
|
- It binds `"app.message.dequeue"` to `"ctrl+enter"` in `~/.pi/agent/keybindings.json`
|
|
396
395
|
- It writes the four keys under `pi.settings` into `~/.pi/agent/settings.json`
|
|
397
396
|
- It patches pi's bundled TUI so Windows Terminal Win32 input records paste as text
|
|
398
397
|
- `pi update` can replace the bundle, so `setup.sh upgrade pi` reapplies the patch
|
|
399
398
|
- It patches an existing herdr Pi reporter to keep the parent working while background subagents run
|
|
400
399
|
- Questions still show blocked, even when children are active
|
|
401
|
-
- The patch
|
|
402
|
-
-
|
|
400
|
+
- The patch retains legacy delegation-event support; it does not track ac-teams sessions
|
|
401
|
+
- Children already running during an extension reload lack lifecycle replay and remain outside this tracking
|
|
403
402
|
- `apply`, herdr integration installation, and `setup.sh upgrade herdr` reapply the patch
|
|
404
403
|
- Direct `herdr integration install pi` overwrites the patch; run `apply` afterward, then restart Pi or use `/reload`
|
|
405
404
|
- Setup leaves unknown reporter layouts unchanged and reports the skipped patch
|
|
@@ -419,10 +418,10 @@ How it treats pi's files:
|
|
|
419
418
|
- A value you changed after `apply` stays as you set it
|
|
420
419
|
- `apply` never touches `auth.json`
|
|
421
420
|
- Run `pi`, then `/login`, yourself
|
|
422
|
-
- `setup.sh status` reports pi's version, its packages, the delegation line,
|
|
421
|
+
- `setup.sh status` reports pi's version, its packages, the delegation line, and whether `auth.json` exists
|
|
423
422
|
- The question bridge line reports a managed asset, a user-owned path, or an absent asset
|
|
424
423
|
- Start a new pi session or run `/reload` after setup changes extensions
|
|
425
|
-
- `setup.sh outdated` and `setup.sh upgrade` include `
|
|
424
|
+
- `setup.sh outdated` and `setup.sh upgrade` include `ac-teams`, `billion-context`, `pi-plugin-manager`, `@juicesharp/rpiv-ask-user-question`, `pi-web-access`, `pi-lens`, and `pi-slash-anywhere` like pi's other npm packages
|
|
426
425
|
|
|
427
426
|
## 4. How you attach
|
|
428
427
|
|
package/orchestrator/AGENTS.md
CHANGED
|
@@ -240,7 +240,7 @@ flowchart TD
|
|
|
240
240
|
|
|
241
241
|
- Run `commands.format` over touched files before final verification when configured
|
|
242
242
|
- Report a non-zero exit as a formatting problem, not proof of incorrect behavior
|
|
243
|
-
- Run
|
|
243
|
+
- Run checks covering the change and explicit project requirements (see Build verification)
|
|
244
244
|
- Audit whether checks detect realistic mistakes, including circular mock assertions and missing integration
|
|
245
245
|
- Respect separate test ownership when reviewing changes
|
|
246
246
|
- For changed frontend files, the verification owner runs configured frontend build, lint, and tests
|
|
@@ -328,15 +328,18 @@ Read-only reviewers report discrepancies to the completion owner.
|
|
|
328
328
|
|
|
329
329
|
## Build verification (mandatory)
|
|
330
330
|
|
|
331
|
-
The verification owner gathers
|
|
331
|
+
The verification owner gathers evidence for the final revision. Opening a PR does not require running every test locally.
|
|
332
332
|
|
|
333
|
-
Read `.acstack/project.yaml` for the
|
|
333
|
+
Read `.acstack/project.yaml` for the available commands and inspect the project's CI configuration before relying on it:
|
|
334
334
|
|
|
335
|
-
1.
|
|
336
|
-
2. Run
|
|
337
|
-
3.
|
|
338
|
-
4.
|
|
339
|
-
5.
|
|
335
|
+
1. Use focused local checks by default: cover changed behavior, affected callers, and relevant integration paths
|
|
336
|
+
2. Run applicable build, lint, and typecheck checks; scope them when the tooling supports it
|
|
337
|
+
3. A configured command is not a requirement to run its entire suite. Run the full suite locally only when explicitly required by the user or project instructions, or when broad or uncertain impact cannot be covered adequately by narrower checks
|
|
338
|
+
4. When `commands.test_collect` is configured, compare the count against `.acstack/.test-baseline` if present; investigate removed coverage and honor project baseline requirements
|
|
339
|
+
5. Run configured frontend build, lint, and tests when frontend files changed, and complete applicable design and browser gates
|
|
340
|
+
|
|
341
|
+
Required CI checks must pass before merge, not before opening a PR. Defer broader checks to CI only after confirming it runs them for this change; do not assume CI runs every test.
|
|
342
|
+
Report which checks passed locally, which are deferred to CI, and which remain unverified. Do not describe pending CI checks as passing or the whole effort as verified.
|
|
340
343
|
|
|
341
344
|
### During implementation
|
|
342
345
|
|
package/package.json
CHANGED
package/pi/extension.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* The pi port of the Claude Code hooks in hooks/. Claude Code and Codex never
|
|
5
5
|
* load this file, and nothing in hooks/ depends on it.
|
|
6
6
|
*
|
|
7
|
-
* session_start symlink the CLI, warn once if
|
|
8
|
-
*
|
|
7
|
+
* session_start symlink the CLI, warn once if delegation is
|
|
8
|
+
* unavailable, and print the setup reminder outside a
|
|
9
9
|
* acstack project (hooks/session-start.sh)
|
|
10
10
|
* before_agent_start list ACStack's skills in the system prompt in every
|
|
11
11
|
* session, and add orchestrator/AGENTS.md in a
|
|
@@ -659,11 +659,11 @@ export default function acstack(pi: ExtensionAPI): void {
|
|
|
659
659
|
return;
|
|
660
660
|
}
|
|
661
661
|
|
|
662
|
-
if (!warnedSubagents && !pi.getAllTools().some((tool) => tool.name === "subagent" || tool.name === "Agent")) {
|
|
662
|
+
if (!warnedSubagents && !pi.getAllTools().some((tool) => tool.name === "subagent" || tool.name === "Agent" || tool.name === "team_agent")) {
|
|
663
663
|
warnedSubagents = true;
|
|
664
664
|
report(
|
|
665
665
|
ctx,
|
|
666
|
-
"acstack: no supported subagent tool is loaded (Agent or
|
|
666
|
+
"acstack: no supported subagent tool is loaded (Agent, subagent, or team_agent), so the test-writer, task-executor, task-checker, and frontend-verifier agents cannot run. Install `npm:ac-teams` with `pi install`.",
|
|
667
667
|
"warning",
|
|
668
668
|
);
|
|
669
669
|
}
|
|
@@ -67,7 +67,7 @@ above them. Eleven of those sections install thirteen tools between them:
|
|
|
67
67
|
- Five tools the user drives day to day: herdr, gh-dash, diffnav, lazygit and harlequin. tuicr joins them once a review starts
|
|
68
68
|
- Five tools that support them: delta, tuicr, yazi, mermaid-ascii and glow
|
|
69
69
|
- Two helpers of ACStack's own: acstack-md, and the acstack-clip and acstack-open pair
|
|
70
|
-
- The pi coding agent, with ACStack and
|
|
70
|
+
- The pi coding agent, with ACStack and ac-teams installed into it
|
|
71
71
|
|
|
72
72
|
The twelfth, `neovim`, installs nothing. It writes one file into a neovim config
|
|
73
73
|
the user already has. `neovim` and `pi` both start off, because each writes into a config the user built.
|
|
@@ -13,7 +13,7 @@ Read this file when the user asks what a component does, which key turns it on,
|
|
|
13
13
|
| tuicr | Reviews a pull request inside the terminal. | `tuicr.enabled` |
|
|
14
14
|
| lazygit | Stages, commits, amends and pushes, on one key. | `lazygit.enabled` |
|
|
15
15
|
| harlequin | A SQL editor in the terminal, on one key. Installed by uv, and launched by acstack-db. | `harlequin.enabled` |
|
|
16
|
-
| pi | A coding agent in the terminal, with ACStack,
|
|
16
|
+
| pi | A coding agent in the terminal, with ACStack, ac-teams and the user's own pi settings installed into it. Installed by npm, and starts off. | `pi.enabled` |
|
|
17
17
|
| neovim | A dot in the LazyVim statusline for a buffer with unsaved changes, and copy over SSH through OSC 52. Installs nothing, writes one file, and starts off. | `neovim.enabled` |
|
|
18
18
|
| yazi | A file manager, with markdown drawn live by acstack-md. One key sends the hovered file to the machine the user sits at. | `yazi.enabled` |
|
|
19
19
|
| markdown | Markdown with its mermaid diagrams drawn as text, or served to a browser. Installs acstack-md, mermaid-ascii and glow. | `markdown.enabled` |
|
|
@@ -54,7 +54,7 @@ Then ask about these settings, in this order:
|
|
|
54
54
|
- Tell such a user to delete their own file to hand the dot to this component
|
|
55
55
|
- **`pi.enabled`**: off by default. Turn it on for a user who runs pi, the coding agent, or wants ACStack inside it
|
|
56
56
|
- `apply` installs pi with npm when it is missing, then installs ACStack into it, pinned to this plugin's version
|
|
57
|
-
- `apply` always installs `
|
|
57
|
+
- `apply` always installs `ac-teams` too, for agent delegation, shared tasks, and messaging
|
|
58
58
|
- `apply` adds one line to pi's context file in `~/.pi/agent` (`AGENTS.md` by default) that lets pi delegate when an ACStack skill says to
|
|
59
59
|
- `pi.compact_tools` and `pi.agentic_retro` add pi-compact-tools and agentic-retro's pi extension, both on by default
|
|
60
60
|
- agentic-retro's extension needs the agentic-retro plugin first, and `apply` says so when it is missing
|
|
@@ -25,7 +25,7 @@ and leaves the rest of the user's neovim config alone. Neither `disable` nor
|
|
|
25
25
|
`pi` undoes only what `apply` added, because pi's config is the user's:
|
|
26
26
|
|
|
27
27
|
- It removes the pi packages `apply` installed, and keeps any the user installed first
|
|
28
|
-
- It releases the
|
|
28
|
+
- It releases the settings and keybinding it wrote, unless the user has changed one since
|
|
29
29
|
- A value `apply` replaced goes back to what the user had, and a key `apply` added goes
|
|
30
30
|
- It puts back an ACStack pin `apply` moved forward, unless the user has moved it since
|
|
31
31
|
- It removes the delegation block from pi's context file, and the user's text stays byte for byte
|
|
@@ -84,8 +84,8 @@ bash "$SETUP" upgrade yazi delta # only these
|
|
|
84
84
|
|
|
85
85
|
pi adds four rows of its own:
|
|
86
86
|
|
|
87
|
-
- `pi`, `
|
|
88
|
-
- A package the user pinned, such as `npm:
|
|
87
|
+
- `pi`, `ac-teams` and `pi-compact-tools` compare against npm, and `upgrade` runs `pi update` for each
|
|
88
|
+
- A package the user pinned, such as `npm:ac-teams@1.0.0`, reports `unknown`, because `pi update` never moves it
|
|
89
89
|
- `pi-acstack` compares ACStack's pin in pi against this plugin's version, with no network at all
|
|
90
90
|
- `upgrade pi-acstack` moves the pin forward, and so does `apply`
|
|
91
91
|
- Neither moves a pin newer than this plugin, because the user chose it
|