acstack 0.48.2 → 0.48.5
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 +2 -2
- package/README.md +6 -5
- package/TROUBLESHOOTING.md +17 -17
- package/assets/terminal-workspace/config.example.yaml +4 -1
- package/assets/terminal-workspace/setup.sh +12 -0
- package/cli/README.md +1 -1
- package/cli/dist/index.js +1 -1
- package/cli/dist/index.js.map +1 -1
- package/cli/package.json +3 -3
- package/docs/terminal-workspace.md +1 -0
- package/package.json +2 -2
- package/pi/extension.ts +86 -40
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "acstack",
|
|
3
3
|
"description": "Agentic coding stack where planning grows only as far as needed: a map of decisions, tasks, checks, and handoffs behind a pluggable tracker.",
|
|
4
|
-
"version": "0.48.
|
|
4
|
+
"version": "0.48.5",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "ac8318740"
|
|
7
7
|
},
|
|
8
|
-
"repository": "https://github.com/ac8318740/
|
|
8
|
+
"repository": "https://github.com/ac8318740/acstack",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"tdd",
|
package/README.md
CHANGED
|
@@ -49,8 +49,8 @@ You need the Claude Code CLI and Node.js 20 or later.
|
|
|
49
49
|
Install the plugin:
|
|
50
50
|
|
|
51
51
|
```
|
|
52
|
-
/plugin marketplace add ac8318740/
|
|
53
|
-
/plugin install acstack@
|
|
52
|
+
/plugin marketplace add ac8318740/ac-agentic-coding
|
|
53
|
+
/plugin install acstack@ac-agentic-coding
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
Then, in your project:
|
|
@@ -101,9 +101,10 @@ Then, in your project, run `/acstack:setup`.
|
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
- Set `"toolActivation": "eager"` in `~/.pi/agent/extensions/subagent/config.json` to offer the `subagent` tool from the first turn (restart pi after)
|
|
104
|
-
- pi
|
|
105
|
-
- Run `/acstack-writing-style
|
|
106
|
-
- Run `/acstack-writing-style off` to
|
|
104
|
+
- pi gets the ACStack writing style from the extension by default
|
|
105
|
+
- Run `/acstack-writing-style default` to use the bundled style again
|
|
106
|
+
- Run `/acstack-writing-style off` to disable style injection
|
|
107
|
+
- Run `/acstack-writing-style custom <path>` to use a user-owned style file
|
|
107
108
|
|
|
108
109
|
## 2. The three commands, and which one to use
|
|
109
110
|
|
package/TROUBLESHOOTING.md
CHANGED
|
@@ -30,7 +30,7 @@ flowchart LR
|
|
|
30
30
|
Where the plugin lives, and what points at it:
|
|
31
31
|
|
|
32
32
|
- The plugin lives at `${CLAUDE_PLUGIN_ROOT}` once the user installs it via the marketplace
|
|
33
|
-
- On most installs that resolves to `~/.claude/plugins/cache/
|
|
33
|
+
- On most installs that resolves to `~/.claude/plugins/cache/ac-agentic-coding/acstack/<version>/`
|
|
34
34
|
- `~/.claude/acstack/bin/acstack` is the **agent-facing** invariant path
|
|
35
35
|
- Every skill and agent in this plugin invokes the CLI through this exact path
|
|
36
36
|
- It does not depend on the user's `PATH`
|
|
@@ -51,7 +51,7 @@ Where the plugin lives, and what points at it:
|
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
53
|
ls -l ~/.claude/acstack/bin/acstack 2>&1
|
|
54
|
-
ls -d ~/.claude/plugins/cache/
|
|
54
|
+
ls -d ~/.claude/plugins/cache/ac-agentic-coding/acstack/*/ 2>&1
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
**Possible causes and fixes**:
|
|
@@ -62,14 +62,14 @@ ls -d ~/.claude/plugins/cache/spechub/acstack/*/ 2>&1
|
|
|
62
62
|
- The hook creates the symlink and prints `acstack: linked agent CLI at ...`
|
|
63
63
|
- Create it by hand if that does not work:
|
|
64
64
|
```bash
|
|
65
|
-
ACSTACK_VERSION=$(ls ~/.claude/plugins/cache/
|
|
65
|
+
ACSTACK_VERSION=$(ls ~/.claude/plugins/cache/ac-agentic-coding/acstack/ | sort -V | tail -1)
|
|
66
66
|
mkdir -p ~/.claude/acstack/bin
|
|
67
|
-
ln -sfn ~/.claude/plugins/cache/
|
|
67
|
+
ln -sfn ~/.claude/plugins/cache/ac-agentic-coding/acstack/$ACSTACK_VERSION/cli/bin/acstack.js ~/.claude/acstack/bin/acstack
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
- **Plugin cache missing entirely**: the second `ls` returned nothing
|
|
71
71
|
- Fix: the user has not installed the plugin
|
|
72
|
-
- Run `/plugin marketplace add ac8318740/
|
|
72
|
+
- Run `/plugin marketplace add ac8318740/ac-agentic-coding`, then `/plugin install acstack@ac-agentic-coding` in Claude Code
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
|
@@ -111,8 +111,8 @@ echo "PATH=$PATH" | tr ':' '\n' | grep -F "$HOME/.local/bin" || echo "MISSING"
|
|
|
111
111
|
**Diagnose**:
|
|
112
112
|
|
|
113
113
|
```bash
|
|
114
|
-
ACSTACK_VERSION=$(ls ~/.claude/plugins/cache/
|
|
115
|
-
ls ~/.claude/plugins/cache/
|
|
114
|
+
ACSTACK_VERSION=$(ls ~/.claude/plugins/cache/ac-agentic-coding/acstack/ | sort -V | tail -1)
|
|
115
|
+
ls ~/.claude/plugins/cache/ac-agentic-coding/acstack/$ACSTACK_VERSION/cli/dist/index.js 2>&1
|
|
116
116
|
```
|
|
117
117
|
|
|
118
118
|
**Cause**: the plugin cache holds a version from before the CLI shipped bundled in the repo, meaning before 0.9.2. This should not happen on 0.9.2 or later.
|
|
@@ -123,17 +123,17 @@ ls ~/.claude/plugins/cache/spechub/acstack/$ACSTACK_VERSION/cli/dist/index.js 2>
|
|
|
123
123
|
- Run `/plugin` in Claude Code and reinstall the plugin
|
|
124
124
|
- Or delete the cache directory and let Claude Code repull:
|
|
125
125
|
```bash
|
|
126
|
-
rm -rf ~/.claude/plugins/cache/
|
|
126
|
+
rm -rf ~/.claude/plugins/cache/ac-agentic-coding/acstack/<old-version>
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
- Confirm the user is on plugin version 0.9.2 or later:
|
|
130
130
|
```bash
|
|
131
|
-
cat ~/.claude/plugins/cache/
|
|
131
|
+
cat ~/.claude/plugins/cache/ac-agentic-coding/acstack/*/.claude-plugin/plugin.json | grep version
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
- Build the CLI in place as a one-shot, if the user is offline or cannot repull:
|
|
135
135
|
```bash
|
|
136
|
-
cd ~/.claude/plugins/cache/
|
|
136
|
+
cd ~/.claude/plugins/cache/ac-agentic-coding/acstack/<version>/cli
|
|
137
137
|
npm install
|
|
138
138
|
npm run build
|
|
139
139
|
```
|
|
@@ -148,7 +148,7 @@ ls ~/.claude/plugins/cache/spechub/acstack/$ACSTACK_VERSION/cli/dist/index.js 2>
|
|
|
148
148
|
|
|
149
149
|
```bash
|
|
150
150
|
readlink ~/.claude/acstack/bin/acstack
|
|
151
|
-
ls ~/.claude/plugins/cache/
|
|
151
|
+
ls ~/.claude/plugins/cache/ac-agentic-coding/acstack/
|
|
152
152
|
```
|
|
153
153
|
|
|
154
154
|
**Cause**: an older session set the symlink target. The plugin cache now holds a newer version. The SessionStart hook has not relinked it yet.
|
|
@@ -159,9 +159,9 @@ ls ~/.claude/plugins/cache/spechub/acstack/
|
|
|
159
159
|
- The SessionStart hook detects a stale symlink and relinks it, printing `acstack: updated agent CLI at ...`
|
|
160
160
|
- Or relink by hand:
|
|
161
161
|
```bash
|
|
162
|
-
NEW=$(ls ~/.claude/plugins/cache/
|
|
163
|
-
ln -sfn ~/.claude/plugins/cache/
|
|
164
|
-
ln -sfn ~/.claude/plugins/cache/
|
|
162
|
+
NEW=$(ls ~/.claude/plugins/cache/ac-agentic-coding/acstack/ | sort -V | tail -1)
|
|
163
|
+
ln -sfn ~/.claude/plugins/cache/ac-agentic-coding/acstack/$NEW/cli/bin/acstack.js ~/.claude/acstack/bin/acstack
|
|
164
|
+
ln -sfn ~/.claude/plugins/cache/ac-agentic-coding/acstack/$NEW/cli/bin/acstack.js ~/.local/bin/acstack
|
|
165
165
|
```
|
|
166
166
|
|
|
167
167
|
---
|
|
@@ -173,7 +173,7 @@ ls ~/.claude/plugins/cache/spechub/acstack/
|
|
|
173
173
|
**Diagnose**:
|
|
174
174
|
|
|
175
175
|
```bash
|
|
176
|
-
cat ~/.claude/plugins/cache/
|
|
176
|
+
cat ~/.claude/plugins/cache/ac-agentic-coding/acstack/*/hooks/hooks.json
|
|
177
177
|
```
|
|
178
178
|
|
|
179
179
|
**Cause**: the user has not enabled the plugin, or they have disabled hook execution in their Claude Code settings.
|
|
@@ -217,8 +217,8 @@ brew install python3
|
|
|
217
217
|
The CLI is a normal Node.js ESM package. To validate the install end to end:
|
|
218
218
|
|
|
219
219
|
```bash
|
|
220
|
-
ACSTACK_VERSION=$(ls ~/.claude/plugins/cache/
|
|
221
|
-
node ~/.claude/plugins/cache/
|
|
220
|
+
ACSTACK_VERSION=$(ls ~/.claude/plugins/cache/ac-agentic-coding/acstack/ | sort -V | tail -1)
|
|
221
|
+
node ~/.claude/plugins/cache/ac-agentic-coding/acstack/$ACSTACK_VERSION/cli/bin/acstack.js --help
|
|
222
222
|
```
|
|
223
223
|
|
|
224
224
|
- If that prints help, the CLI is fine and the issue is the symlink
|
|
@@ -217,7 +217,10 @@ pi:
|
|
|
217
217
|
# markdown, code and artifact previews beside a decision, accepts freeform
|
|
218
218
|
# answers and notes, and does not require a full-event telemetry env var.
|
|
219
219
|
question_tool: true
|
|
220
|
-
# rpiv-todo, which adds a todo tool to pi.
|
|
220
|
+
# rpiv-todo, which adds a todo tool to pi. When this is on, apply also
|
|
221
|
+
# suggests a line for the user's global ~/.pi/agent/AGENTS.md if their Pi
|
|
222
|
+
# context file does not already mention todo discipline. It never edits that
|
|
223
|
+
# user-owned file for them.
|
|
221
224
|
todo: true
|
|
222
225
|
# pi-plugin-manager, which adds pi plugin management commands.
|
|
223
226
|
plugin_manager: true
|
|
@@ -3886,6 +3886,17 @@ pi_npm_pin() { # pi_npm_pin <name>
|
|
|
3886
3886
|
[ "$src" != "npm:$1" ]
|
|
3887
3887
|
}
|
|
3888
3888
|
|
|
3889
|
+
pi_suggest_todo_discipline() {
|
|
3890
|
+
local needle="When using a todo list, keep it current as work completes."
|
|
3891
|
+
grep -qsF "$needle" "$PI_DIR"/AGENTS.override.md "$PI_DIR"/AGENTS.md "$PI_DIR"/AGENTS.MD \
|
|
3892
|
+
"$PI_DIR"/CLAUDE.md "$PI_DIR"/CLAUDE.MD && return 0
|
|
3893
|
+
say "pi: todo tool installed. For stricter todo discipline, ask the agent"
|
|
3894
|
+
say "pi: running this setup to hand-edit $PI_DIR/AGENTS.md and add:"
|
|
3895
|
+
say "pi: $needle Before reporting a task as done, check the todo list"
|
|
3896
|
+
say "pi: and mark every completed step completed. Do not leave stale"
|
|
3897
|
+
say "pi: in-progress or pending todos after a commit, PR, merge or workflow gate."
|
|
3898
|
+
}
|
|
3899
|
+
|
|
3889
3900
|
# The pin apply would move to, or nothing when the installed one is current
|
|
3890
3901
|
# or newer. A newer pin is one the user chose, so it is never moved back.
|
|
3891
3902
|
pi_acstack_behind() {
|
|
@@ -3977,6 +3988,7 @@ apply_pi() {
|
|
|
3977
3988
|
pi_add npm:pi-subagents npm:pi-subagents
|
|
3978
3989
|
if [ "$(cfg_get pi.todo true)" = "true" ]; then
|
|
3979
3990
|
pi_add npm:@juicesharp/rpiv-todo npm:@juicesharp/rpiv-todo
|
|
3991
|
+
pi_suggest_todo_discipline
|
|
3980
3992
|
else
|
|
3981
3993
|
pi_drop npm:@juicesharp/rpiv-todo
|
|
3982
3994
|
fi
|
package/cli/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# acstack-cli
|
|
2
2
|
|
|
3
|
-
The command-line half of [ACStack](https://github.com/ac8318740/
|
|
3
|
+
The command-line half of [ACStack](https://github.com/ac8318740/acstack) – a
|
|
4
4
|
map-based agentic coding workflow where an agent plans changes as a graph of
|
|
5
5
|
nodes before writing code.
|
|
6
6
|
|
package/cli/dist/index.js
CHANGED
|
@@ -19744,7 +19744,7 @@ var init_feedback = __esm({
|
|
|
19744
19744
|
"src/commands/feedback.ts"() {
|
|
19745
19745
|
"use strict";
|
|
19746
19746
|
init_source();
|
|
19747
|
-
ISSUES_URL = "https://github.com/ac8318740/
|
|
19747
|
+
ISSUES_URL = "https://github.com/ac8318740/acstack/issues/new";
|
|
19748
19748
|
}
|
|
19749
19749
|
});
|
|
19750
19750
|
|