acstack 0.50.4 → 0.51.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/.claude-plugin/plugin.json +1 -1
- package/README.md +14 -7
- package/agents/codex/frontend-verifier.toml +89 -6
- package/agents/codex/task-checker.toml +83 -2
- package/agents/codex/task-executor.toml +83 -1
- package/agents/codex/test-writer.toml +77 -1
- package/agents/frontend-verifier.md +13 -6
- package/agents/task-checker.md +7 -2
- package/agents/task-executor.md +7 -1
- package/agents/test-writer.md +1 -1
- package/assets/terminal-workspace/config.example.yaml +1 -1
- package/assets/terminal-workspace/helpers/acstack-md +12 -4
- package/assets/terminal-workspace/helpers/acstack-open +10 -2
- package/cli/dist/index.js +10142 -9369
- package/cli/dist/index.js.map +4 -4
- package/cli/package.json +1 -1
- package/docs/config-reference.md +113 -14
- package/docs/dev-setups.md +4 -4
- package/docs/terminal-workspace.md +1 -1
- package/docs/workflows.md +22 -16
- package/examples/design-doc/acstack/README.md +273 -0
- package/examples/design-doc/acstack/acstack.yaml +4 -0
- package/examples/design-doc/acstack/cli.yaml +5 -0
- package/examples/design-doc/acstack/design.yaml +39 -0
- package/examples/design-doc/acstack/github.yaml +12 -0
- package/examples/design-doc/acstack/host.yaml +14 -0
- package/examples/design-doc/acstack/journey.md +85 -0
- package/examples/design-doc/acstack/publication.md +16 -0
- package/examples/design-doc/acstack/review-runtime.yaml +24 -0
- package/examples/design-doc/acstack/skills.yaml +22 -0
- package/examples/design-doc/acstack/store.yaml +11 -0
- package/examples/design-doc/acstack/user.yaml +15 -0
- package/examples/design-doc/acstack/viewer.yaml +13 -0
- package/hooks/ac-writing-style-reminder.sh +7 -18
- package/hooks/communication-standard.mjs +17 -0
- package/hooks/communication-standard.sh +6 -0
- package/hooks/context-pressure.sh +2 -2
- package/hooks/hooks.json +18 -0
- package/hooks/lib/communication-standard.mjs +16 -0
- package/hooks/project-data.sh +38 -0
- package/hooks/session-start-handoff.sh +21 -7
- package/hooks/session-start.sh +9 -2
- package/orchestrator/AGENTS.md +25 -14
- package/output-styles/ac-writing-style.md +75 -276
- package/package.json +2 -1
- package/pi/agents/frontend-verifier.md +89 -6
- package/pi/agents/task-checker.md +83 -2
- package/pi/agents/task-executor.md +83 -1
- package/pi/agents/test-writer.md +77 -1
- package/pi/extension.ts +70 -12
- package/profiles/fullstack-python.yaml +1 -1
- package/profiles/node-typescript.yaml +1 -1
- package/profiles/python.yaml +1 -1
- package/skills/archive/SKILL.md +53 -36
- package/skills/bootstrap/SKILL.md +6 -6
- package/skills/bridge/SKILL-VM.md +11 -2
- package/skills/bridge/SKILL-WINDOWS.md +3 -3
- package/skills/browser-verify/SKILL.md +14 -5
- package/skills/code-review/SKILL.md +8 -2
- package/skills/commit/SKILL.md +7 -6
- package/skills/compact-and-continue/SKILL.md +9 -8
- package/skills/design-doc/SKILL.md +235 -0
- package/skills/explore/SKILL.md +1 -1
- package/skills/grilling/SKILL.md +4 -4
- package/skills/handoff/SKILL.md +4 -4
- package/skills/host/SKILL.md +1 -1
- package/skills/host/detect-host.sh +2 -2
- package/skills/host/notes.md +2 -2
- package/skills/host/questions.md +1 -1
- package/skills/implement/SKILL.md +20 -13
- package/skills/implement/decision-log.md +9 -8
- package/skills/implement/design-pass.md +16 -2
- package/skills/map/SKILL.md +15 -71
- package/skills/map/alignment.md +18 -27
- package/skills/map/frontend.md +1 -1
- package/skills/map/materialising.md +74 -0
- package/skills/map/trackers/files.md +4 -6
- package/skills/pre-commit-review/SKILL.md +15 -9
- package/skills/pre-commit-review/auto-fix.md +1 -1
- package/skills/quick-fix/SKILL.md +1 -1
- package/skills/record-context/SKILL.md +6 -6
- package/skills/setup/SKILL.md +15 -50
- package/skills/setup/browser.md +2 -2
- package/skills/setup/first-run.md +19 -8
- package/skills/setup/report.md +3 -2
- package/skills/setup/row-fixes.md +56 -9
- package/skills/sync/SKILL.md +12 -11
- package/skills/terminal-workspace/SKILL.md +1 -1
- package/skills/test-conventions/SKILL.md +2 -2
- package/skills/visual-docs/SKILL.md +69 -235
- package/skills/writing/SKILL.md +29 -217
- package/skills/writing/examples.md +62 -129
- package/docs/adr/0001-ste-writing-standard.md +0 -16
- package/docs/adr/0002-version-gate-not-auto-bump.md +0 -35
- package/docs/adr/0003-handoff-ack-command.md +0 -19
- package/docs/adr/0004-dev-setup-per-host.md +0 -13
- package/docs/adr/0005-two-orchestrators-per-host.md +0 -25
- package/docs/adr/0006-document-opener-service.md +0 -89
- package/docs/adr/0007-lead-check-reads-the-transcript.md +0 -87
- package/docs/adr/0008-cli-audits-skill-interviews.md +0 -37
- package/docs/adr/0009-verify-the-write-not-the-writer.md +0 -51
- package/docs/adr/0010-promote-dev-to-main-by-fast-forward.md +0 -115
- package/docs/adr/0011-node-header-is-the-edge-encoding.md +0 -20
- package/docs/adr/0012-node-kind-is-a-closed-set-of-five.md +0 -31
- package/docs/adr/0013-the-diagram-renderer-is-pure.md +0 -23
- package/docs/adr/0014-reading-a-node-hides-its-generated-diagram.md +0 -29
- package/docs/adr/0015-a-node-id-links-to-its-issue-through-an-anchor.md +0 -37
- package/docs/adr/0016-the-map-root-carries-no-status-of-its-own.md +0 -21
- package/docs/adr/0017-call-impeccable-copy-only-its-questions.md +0 -13
- package/docs/adr/0018-alignment-packs-use-local-viewers.md +0 -11
- package/docs/adr/index.md +0 -18
package/agents/test-writer.md
CHANGED
|
@@ -23,7 +23,7 @@ You write tests from requirements and application programming interface (API) co
|
|
|
23
23
|
|
|
24
24
|
## Project configuration
|
|
25
25
|
|
|
26
|
-
Read
|
|
26
|
+
Read `.acstack/project.yaml` for project-specific settings:
|
|
27
27
|
|
|
28
28
|
- `directories.tests` – where to create test files
|
|
29
29
|
- `directories.source` – source code root (for mirroring structure)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# setup.sh apply.
|
|
4
4
|
#
|
|
5
5
|
# This is machine-level, not per-project. It installs binaries and writes
|
|
6
|
-
# keybindings for your user, so it does not belong in acstack/project.yaml.
|
|
6
|
+
# keybindings for your user, so it does not belong in .acstack/project.yaml.
|
|
7
7
|
#
|
|
8
8
|
# What each component is, every key, and the traps worth knowing:
|
|
9
9
|
# docs/terminal-workspace.md in the ACStack plugin.
|
|
@@ -222,11 +222,19 @@ case "$(command -v acstack-open >/dev/null 2>&1 && acstack-open --why 2>/dev/nul
|
|
|
222
222
|
# The last expression is the page title, so the browser answers with
|
|
223
223
|
# what it is now holding. That answer is what success means here - a
|
|
224
224
|
# command that exited 0 is not a page that arrived.
|
|
225
|
+
project_root="$PWD"
|
|
226
|
+
while [ "$project_root" != / ] && [ ! -d "$project_root/.acstack" ]; do
|
|
227
|
+
project_root=$(dirname "$project_root")
|
|
228
|
+
done
|
|
229
|
+
[ "$project_root" != / ] || project_root=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
230
|
+
browser_config="$project_root/.acstack/agent-browser.json"
|
|
231
|
+
browser_args=()
|
|
232
|
+
[ ! -f "$browser_config" ] || browser_args=(--config "$browser_config")
|
|
225
233
|
name=$(basename "$FILE")
|
|
226
|
-
timeout 20 agent-browser --cdp "$BRIDGE" tab new >/dev/null 2>&1
|
|
234
|
+
timeout 20 agent-browser "${browser_args[@]}" --cdp "$BRIDGE" tab new >/dev/null 2>&1
|
|
227
235
|
landed=$(printf 'const b64="%s";const doc=new TextDecoder().decode(Uint8Array.from(atob(b64),c=>c.charCodeAt(0)));document.open();document.write(doc);document.close();document.title;\n' \
|
|
228
236
|
"$payload" \
|
|
229
|
-
| timeout 60 agent-browser --cdp "$BRIDGE" eval --stdin 2>/dev/null)
|
|
237
|
+
| timeout 60 agent-browser "${browser_args[@]}" --cdp "$BRIDGE" eval --stdin 2>/dev/null)
|
|
230
238
|
# Writing into the tab is only half of it. A tab created over CDP is
|
|
231
239
|
# created in the background, so it has to be brought forward or the page
|
|
232
240
|
# is real, correct, and never seen - which is exactly how this first went
|
|
@@ -236,10 +244,10 @@ case "$(command -v acstack-open >/dev/null 2>&1 && acstack-open --why 2>/dev/nul
|
|
|
236
244
|
# The arrow marks the active tab, which is the one just written into.
|
|
237
245
|
# Taking the first line instead would raise whatever sits at index 0 -
|
|
238
246
|
# somebody else's tab, and the page still unseen.
|
|
239
|
-
idx=$(timeout 20 agent-browser --cdp "$BRIDGE" tab list 2>/dev/null \
|
|
247
|
+
idx=$(timeout 20 agent-browser "${browser_args[@]}" --cdp "$BRIDGE" tab list 2>/dev/null \
|
|
240
248
|
| grep -m1 -- "$(printf '\342\206\222')" \
|
|
241
249
|
| sed -n 's/.*\[\([0-9][0-9]*\)\].*/\1/p')
|
|
242
|
-
[ -n "$idx" ] && timeout 20 agent-browser --cdp "$BRIDGE" tab "$idx" >/dev/null 2>&1
|
|
250
|
+
[ -n "$idx" ] && timeout 20 agent-browser "${browser_args[@]}" --cdp "$BRIDGE" tab "$idx" >/dev/null 2>&1
|
|
243
251
|
case "$landed" in
|
|
244
252
|
*"$name"*)
|
|
245
253
|
printf '%s is on screen in the browser on your machine\n' "$name" >&2
|
|
@@ -191,8 +191,16 @@ case "$ROUTE" in
|
|
|
191
191
|
# That also means the new tab becomes the active one for any agent
|
|
192
192
|
# driving that browser. ACSTACK_OPEN_BRIDGE=off trades the one-key open
|
|
193
193
|
# for never touching it.
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
project_root="$PWD"
|
|
195
|
+
while [ "$project_root" != / ] && [ ! -d "$project_root/.acstack" ]; do
|
|
196
|
+
project_root=$(dirname "$project_root")
|
|
197
|
+
done
|
|
198
|
+
[ "$project_root" != / ] || project_root=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
199
|
+
browser_config="$project_root/.acstack/agent-browser.json"
|
|
200
|
+
browser_args=()
|
|
201
|
+
[ ! -f "$browser_config" ] || browser_args=(--config "$browser_config")
|
|
202
|
+
if timeout 20 agent-browser "${browser_args[@]}" --cdp "$BRIDGE" tab new >/dev/null 2>&1 \
|
|
203
|
+
&& timeout 30 agent-browser "${browser_args[@]}" --cdp "$BRIDGE" open "$URL" >/dev/null 2>&1; then
|
|
196
204
|
log "bridge $BRIDGE: $URL"
|
|
197
205
|
exit 0
|
|
198
206
|
fi
|