acstack 0.54.1 → 0.54.3
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 +6 -9
- package/agents/codex/frontend-verifier.toml +26 -18
- package/agents/codex/task-checker.toml +26 -18
- package/agents/codex/task-executor.toml +28 -18
- package/agents/codex/test-writer.toml +28 -18
- package/agents/frontend-verifier.md +1 -1
- package/agents/task-checker.md +1 -1
- package/agents/task-executor.md +3 -1
- package/agents/test-writer.md +3 -1
- package/cli/package.json +1 -1
- package/docs/config-reference.md +8 -3
- package/hooks/session-start.sh +0 -5
- package/orchestrator/AGENTS.md +10 -2
- package/output-styles/ac-writing-style.md +24 -16
- package/package.json +1 -1
- package/pi/agents/frontend-verifier.md +26 -18
- package/pi/agents/task-checker.md +26 -18
- package/pi/agents/task-executor.md +28 -18
- package/pi/agents/test-writer.md +28 -18
- package/pi/extension.ts +4 -11
- package/skills/commit/SKILL.md +3 -3
- package/skills/explore/SKILL.md +5 -3
- package/skills/implement/SKILL.md +11 -5
- package/skills/implement/design-pass.md +2 -0
- package/skills/map/SKILL.md +7 -3
- package/skills/pre-commit-review/SKILL.md +6 -6
- package/skills/quick-fix/SKILL.md +5 -3
- package/skills/test-conventions/SKILL.md +2 -2
- package/skills/writing/examples.md +16 -4
|
@@ -1,7 +1,7 @@
|
|
|
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.54.
|
|
4
|
+
"version": "0.54.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "ac8318740"
|
|
7
7
|
},
|
package/README.md
CHANGED
|
@@ -55,13 +55,10 @@ Install the plugin:
|
|
|
55
55
|
/plugin install acstack@ac-agentic-coding
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
Then, in your project
|
|
58
|
+
Then, in your Git repository, use `/acstack:implement`, `/acstack:quick-fix`, or `/acstack:pre-commit-review` directly. Without project configuration, ACStack follows repository instructions and discovers tooling from manifests, tests, and CI.
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
- `/acstack:setup` detects the project type, then writes `project.yaml` with workflow settings into the project folder
|
|
60
|
+
- Optional: `/acstack:setup` detects the project type and writes `project.yaml` for saved workflow settings and storage-backed features such as maps and living specs
|
|
61
|
+
- Existing configuration keeps its gates; invalid configuration or project-data conflicts require repair, not an unconfigured fallback
|
|
65
62
|
- All ACStack-owned project records live in one project folder per repository, shared by all of its worktrees
|
|
66
63
|
- `~/.claude/acstack/bin/acstack project-data path` prints it; by default it is `~/.acstack/projects/<key>/`, outside the repository
|
|
67
64
|
- Run `acstack project-data mode tracked` to keep the records in the repository's `.acstack/` and commit them instead
|
|
@@ -69,7 +66,7 @@ Then, in your project:
|
|
|
69
66
|
- Update installed ACStack tools before migrating an older project
|
|
70
67
|
- Stop old agents and reviews, run `~/.claude/acstack/bin/acstack project-data migrate`, then restart with updated tools
|
|
71
68
|
- Migration aborts on collisions without overwrites or Git index changes; tracked old paths become pending deletions
|
|
72
|
-
- The SessionStart hook loads the orchestrator instructions
|
|
69
|
+
- The SessionStart hook loads the orchestrator instructions in Git repositories, even without project setup
|
|
73
70
|
- Your CLAUDE.md stays clean for project-specific content
|
|
74
71
|
- Upgrading from a version before 0.8.0 means deleting one stale `@import` line (see [docs/migrate-0.8.md](docs/migrate-0.8.md))
|
|
75
72
|
|
|
@@ -82,7 +79,7 @@ pi install npm:@tintinweb/pi-subagents
|
|
|
82
79
|
pi install npm:acstack
|
|
83
80
|
```
|
|
84
81
|
|
|
85
|
-
Then
|
|
82
|
+
Then use the general workflows in your Git repository immediately. Run `/acstack:setup` only when you want saved project settings or storage-backed features, as described above.
|
|
86
83
|
|
|
87
84
|
- Every skill runs under the same name as on Claude Code, e.g. `/acstack:map`
|
|
88
85
|
- `/acstack map` does the same
|
|
@@ -92,7 +89,7 @@ Then, in your project, run `/acstack:setup`.
|
|
|
92
89
|
- The extension lists the skills in the system prompt instead, so the model still reads one when the task matches
|
|
93
90
|
- `pi/extension.ts` does what the Claude Code hooks do
|
|
94
91
|
- It links the CLI at `~/.claude/acstack/bin/acstack`
|
|
95
|
-
- It adds the orchestrator instructions
|
|
92
|
+
- It adds the orchestrator instructions in Git repositories, even without project setup
|
|
96
93
|
- It lists ACStack's skills in the system prompt in every session
|
|
97
94
|
- It re-injects a handoff after a compaction
|
|
98
95
|
- It nudges with a continuity-versus-freshness checkpoint as the context fills
|
|
@@ -33,7 +33,7 @@ ACStack keeps project data in the project folder, the path `~/.claude/acstack/bi
|
|
|
33
33
|
|
|
34
34
|
You do not read `frontend.browser.mode` or `frontend.browser.fallback`. Step 3 asks the ACStack CLI which browser mode to use, and the CLI reads both.
|
|
35
35
|
|
|
36
|
-
If `<project folder>/project.yaml` has no `frontend` section, report SKIP and exit.
|
|
36
|
+
If `<project folder>/project.yaml` is absent or has no `frontend` section, report SKIP (no configured frontend verification) and exit. Do not create configuration or require setup for general work. Report unreadable or invalid configuration and project-data resolution errors instead of treating them as absent.
|
|
37
37
|
|
|
38
38
|
## Step 0: Read the knowledge base
|
|
39
39
|
|
|
@@ -363,17 +363,21 @@ Do NOT kill the browser if you connected to an existing one. In `remote` mode th
|
|
|
363
363
|
|
|
364
364
|
Use the fewest clear words that preserve all necessary information.
|
|
365
365
|
|
|
366
|
-
##
|
|
367
|
-
|
|
368
|
-
-
|
|
369
|
-
-
|
|
370
|
-
-
|
|
371
|
-
-
|
|
372
|
-
-
|
|
373
|
-
|
|
374
|
-
-
|
|
375
|
-
-
|
|
376
|
-
-
|
|
366
|
+
## Fit the answer to the audience
|
|
367
|
+
|
|
368
|
+
- Start with what the reader knows, what they do not know, and what they need from this answer
|
|
369
|
+
- Lead with the answer, recommendation, or result they need
|
|
370
|
+
- Include only the context needed to understand it and act; repeat known information only when necessary to connect the new information
|
|
371
|
+
- Omit a detail only when it does not affect the reader's understanding, decision, or next action
|
|
372
|
+
- If unsure whether a detail matters, include its essential point briefly rather than relying on the reader to ask
|
|
373
|
+
- When reporting information to the user, be extremely concise and sacrifice grammar for sake of concision
|
|
374
|
+
- A headline or three-word answer is enough when it fully answers the question
|
|
375
|
+
- Use fragments freely; skip introductions, recaps, and supporting detail the user does not need
|
|
376
|
+
- Shorten wording, not meaning; keep conditions and ownership clear
|
|
377
|
+
- Match completeness to the audience, not a length target
|
|
378
|
+
- An agent handoff needs every detail required to continue correctly, without padding
|
|
379
|
+
- A durable document needs enough context and precise wording to stand alone for its intended reader; chat's grammar shortcuts do not apply
|
|
380
|
+
- Preserve necessary qualifications, evidence, errors, security warnings, accessibility requirements, and destructive-action confirmations; concision never overrides required disclosures
|
|
377
381
|
- Separate the current answer from decision history
|
|
378
382
|
- State what applies now before explaining how the decision changed
|
|
379
383
|
|
|
@@ -405,7 +409,7 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
405
409
|
|
|
406
410
|
## Write in plain language
|
|
407
411
|
|
|
408
|
-
- Prefer common, concrete words
|
|
412
|
+
- Prefer common, concrete words; use natural word order when it helps understanding
|
|
409
413
|
- Keep necessary technical terms and define unfamiliar abbreviations
|
|
410
414
|
- Cut grand claims, filler, repeated points, and metaphors the reader must decode
|
|
411
415
|
- Use examples when they explain a point faster than an abstract description
|
|
@@ -417,20 +421,24 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
417
421
|
- Prefer active voice, present-tense descriptions, and direct instructions
|
|
418
422
|
- Keep passive voice when the actor is unknown or irrelevant
|
|
419
423
|
- State claims at the strength supported by evidence
|
|
420
|
-
-
|
|
424
|
+
- Include sources, checks run, results, and uncertainty when the reader needs them to judge the claim or act
|
|
425
|
+
- Keep verification rigorous even when its supporting detail stays out of the report
|
|
421
426
|
- Explain an important distinction, including what something does not do, when the reader needs it
|
|
422
427
|
- Use sentence-case headings and restrained emphasis
|
|
423
|
-
- Use straight quotes
|
|
424
|
-
-
|
|
428
|
+
- Use straight quotes and three periods for an ellipsis; use the Oxford comma in durable prose
|
|
429
|
+
- Prefer parentheses over spaced en dashes for asides; use a period for a separate thought, never an em dash
|
|
430
|
+
- Use short parenthetical clarifications or examples (e.g., a concrete input) when they make something complex or ambiguous easier to understand
|
|
425
431
|
- Carry meaning in words, not emoji or color alone
|
|
426
432
|
- Format Markdown so the reader sees the intended grouping
|
|
427
433
|
- Indent nested bullets four spaces per level and leave a blank line before a list
|
|
428
|
-
-
|
|
434
|
+
- Keep list items parallel in meaning; in durable prose, also use parallel grammar and consistent punctuation
|
|
429
435
|
- Short bullet fragments need no final period
|
|
430
436
|
|
|
431
437
|
## Before you send
|
|
432
438
|
|
|
433
|
-
-
|
|
439
|
+
- Does this give the reader exactly what they need, given what they already know?
|
|
440
|
+
- Can a headline alone answer the question? If so, stop there.
|
|
441
|
+
- Have you removed unnecessary detail without hiding anything that could change the reader's understanding, decision, or next action?
|
|
434
442
|
- Does every level summarize the detail below it?
|
|
435
443
|
- Do siblings answer the same question at the same level?
|
|
436
444
|
- Can the reader follow the same names from overview to detail?
|
|
@@ -15,7 +15,7 @@ You are read-only: do not edit source, tests, or specs.
|
|
|
15
15
|
## Establish scope and ownership
|
|
16
16
|
|
|
17
17
|
Read the supplied requirements, affected paths, known risks, and available command results.
|
|
18
|
-
Read `project.yaml` in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints for commands, directories, environment activation, and applicable frontend gates.
|
|
18
|
+
Read `project.yaml` when present in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints for commands, directories, environment activation, and applicable frontend gates. Without it, discover tooling from repository instructions, manifests, existing tests, and CI under Project configuration in `orchestrator/AGENTS.md`. Do not require setup, invent commands, or bypass invalid config or resolution errors.
|
|
19
19
|
|
|
20
20
|
- Distinguish focused review from ownership of completion verification
|
|
21
21
|
- If the assignment is unclear, clarify it with the delegating session before duplicating checks
|
|
@@ -81,17 +81,21 @@ Never present a focused PASS as completion of the whole effort.
|
|
|
81
81
|
|
|
82
82
|
Use the fewest clear words that preserve all necessary information.
|
|
83
83
|
|
|
84
|
-
##
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
84
|
+
## Fit the answer to the audience
|
|
85
|
+
|
|
86
|
+
- Start with what the reader knows, what they do not know, and what they need from this answer
|
|
87
|
+
- Lead with the answer, recommendation, or result they need
|
|
88
|
+
- Include only the context needed to understand it and act; repeat known information only when necessary to connect the new information
|
|
89
|
+
- Omit a detail only when it does not affect the reader's understanding, decision, or next action
|
|
90
|
+
- If unsure whether a detail matters, include its essential point briefly rather than relying on the reader to ask
|
|
91
|
+
- When reporting information to the user, be extremely concise and sacrifice grammar for sake of concision
|
|
92
|
+
- A headline or three-word answer is enough when it fully answers the question
|
|
93
|
+
- Use fragments freely; skip introductions, recaps, and supporting detail the user does not need
|
|
94
|
+
- Shorten wording, not meaning; keep conditions and ownership clear
|
|
95
|
+
- Match completeness to the audience, not a length target
|
|
96
|
+
- An agent handoff needs every detail required to continue correctly, without padding
|
|
97
|
+
- A durable document needs enough context and precise wording to stand alone for its intended reader; chat's grammar shortcuts do not apply
|
|
98
|
+
- Preserve necessary qualifications, evidence, errors, security warnings, accessibility requirements, and destructive-action confirmations; concision never overrides required disclosures
|
|
95
99
|
- Separate the current answer from decision history
|
|
96
100
|
- State what applies now before explaining how the decision changed
|
|
97
101
|
|
|
@@ -123,7 +127,7 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
123
127
|
|
|
124
128
|
## Write in plain language
|
|
125
129
|
|
|
126
|
-
- Prefer common, concrete words
|
|
130
|
+
- Prefer common, concrete words; use natural word order when it helps understanding
|
|
127
131
|
- Keep necessary technical terms and define unfamiliar abbreviations
|
|
128
132
|
- Cut grand claims, filler, repeated points, and metaphors the reader must decode
|
|
129
133
|
- Use examples when they explain a point faster than an abstract description
|
|
@@ -135,20 +139,24 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
135
139
|
- Prefer active voice, present-tense descriptions, and direct instructions
|
|
136
140
|
- Keep passive voice when the actor is unknown or irrelevant
|
|
137
141
|
- State claims at the strength supported by evidence
|
|
138
|
-
-
|
|
142
|
+
- Include sources, checks run, results, and uncertainty when the reader needs them to judge the claim or act
|
|
143
|
+
- Keep verification rigorous even when its supporting detail stays out of the report
|
|
139
144
|
- Explain an important distinction, including what something does not do, when the reader needs it
|
|
140
145
|
- Use sentence-case headings and restrained emphasis
|
|
141
|
-
- Use straight quotes
|
|
142
|
-
-
|
|
146
|
+
- Use straight quotes and three periods for an ellipsis; use the Oxford comma in durable prose
|
|
147
|
+
- Prefer parentheses over spaced en dashes for asides; use a period for a separate thought, never an em dash
|
|
148
|
+
- Use short parenthetical clarifications or examples (e.g., a concrete input) when they make something complex or ambiguous easier to understand
|
|
143
149
|
- Carry meaning in words, not emoji or color alone
|
|
144
150
|
- Format Markdown so the reader sees the intended grouping
|
|
145
151
|
- Indent nested bullets four spaces per level and leave a blank line before a list
|
|
146
|
-
-
|
|
152
|
+
- Keep list items parallel in meaning; in durable prose, also use parallel grammar and consistent punctuation
|
|
147
153
|
- Short bullet fragments need no final period
|
|
148
154
|
|
|
149
155
|
## Before you send
|
|
150
156
|
|
|
151
|
-
-
|
|
157
|
+
- Does this give the reader exactly what they need, given what they already know?
|
|
158
|
+
- Can a headline alone answer the question? If so, stop there.
|
|
159
|
+
- Have you removed unnecessary detail without hiding anything that could change the reader's understanding, decision, or next action?
|
|
152
160
|
- Does every level summarize the detail below it?
|
|
153
161
|
- Do siblings answer the same question at the same level?
|
|
154
162
|
- Can the reader follow the same names from overview to detail?
|
|
@@ -17,7 +17,9 @@ Implement the assigned requirements under the shared Implementation discipline i
|
|
|
17
17
|
|
|
18
18
|
## Project configuration
|
|
19
19
|
|
|
20
|
-
Read `project.yaml` in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints
|
|
20
|
+
Read `project.yaml` when present in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints. Without configuration, discover settings from repository instructions, manifests, existing tests, and CI under Project configuration in `orchestrator/AGENTS.md`; do not require setup or invent commands. Report invalid config and resolution errors rather than bypassing them.
|
|
21
|
+
|
|
22
|
+
Configured settings:
|
|
21
23
|
|
|
22
24
|
- `directories.source` – where to write source code
|
|
23
25
|
- `directories.tests` – test directory, subject to assigned ownership
|
|
@@ -94,17 +96,21 @@ Say what stopped you.
|
|
|
94
96
|
|
|
95
97
|
Use the fewest clear words that preserve all necessary information.
|
|
96
98
|
|
|
97
|
-
##
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
99
|
+
## Fit the answer to the audience
|
|
100
|
+
|
|
101
|
+
- Start with what the reader knows, what they do not know, and what they need from this answer
|
|
102
|
+
- Lead with the answer, recommendation, or result they need
|
|
103
|
+
- Include only the context needed to understand it and act; repeat known information only when necessary to connect the new information
|
|
104
|
+
- Omit a detail only when it does not affect the reader's understanding, decision, or next action
|
|
105
|
+
- If unsure whether a detail matters, include its essential point briefly rather than relying on the reader to ask
|
|
106
|
+
- When reporting information to the user, be extremely concise and sacrifice grammar for sake of concision
|
|
107
|
+
- A headline or three-word answer is enough when it fully answers the question
|
|
108
|
+
- Use fragments freely; skip introductions, recaps, and supporting detail the user does not need
|
|
109
|
+
- Shorten wording, not meaning; keep conditions and ownership clear
|
|
110
|
+
- Match completeness to the audience, not a length target
|
|
111
|
+
- An agent handoff needs every detail required to continue correctly, without padding
|
|
112
|
+
- A durable document needs enough context and precise wording to stand alone for its intended reader; chat's grammar shortcuts do not apply
|
|
113
|
+
- Preserve necessary qualifications, evidence, errors, security warnings, accessibility requirements, and destructive-action confirmations; concision never overrides required disclosures
|
|
108
114
|
- Separate the current answer from decision history
|
|
109
115
|
- State what applies now before explaining how the decision changed
|
|
110
116
|
|
|
@@ -136,7 +142,7 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
136
142
|
|
|
137
143
|
## Write in plain language
|
|
138
144
|
|
|
139
|
-
- Prefer common, concrete words
|
|
145
|
+
- Prefer common, concrete words; use natural word order when it helps understanding
|
|
140
146
|
- Keep necessary technical terms and define unfamiliar abbreviations
|
|
141
147
|
- Cut grand claims, filler, repeated points, and metaphors the reader must decode
|
|
142
148
|
- Use examples when they explain a point faster than an abstract description
|
|
@@ -148,20 +154,24 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
148
154
|
- Prefer active voice, present-tense descriptions, and direct instructions
|
|
149
155
|
- Keep passive voice when the actor is unknown or irrelevant
|
|
150
156
|
- State claims at the strength supported by evidence
|
|
151
|
-
-
|
|
157
|
+
- Include sources, checks run, results, and uncertainty when the reader needs them to judge the claim or act
|
|
158
|
+
- Keep verification rigorous even when its supporting detail stays out of the report
|
|
152
159
|
- Explain an important distinction, including what something does not do, when the reader needs it
|
|
153
160
|
- Use sentence-case headings and restrained emphasis
|
|
154
|
-
- Use straight quotes
|
|
155
|
-
-
|
|
161
|
+
- Use straight quotes and three periods for an ellipsis; use the Oxford comma in durable prose
|
|
162
|
+
- Prefer parentheses over spaced en dashes for asides; use a period for a separate thought, never an em dash
|
|
163
|
+
- Use short parenthetical clarifications or examples (e.g., a concrete input) when they make something complex or ambiguous easier to understand
|
|
156
164
|
- Carry meaning in words, not emoji or color alone
|
|
157
165
|
- Format Markdown so the reader sees the intended grouping
|
|
158
166
|
- Indent nested bullets four spaces per level and leave a blank line before a list
|
|
159
|
-
-
|
|
167
|
+
- Keep list items parallel in meaning; in durable prose, also use parallel grammar and consistent punctuation
|
|
160
168
|
- Short bullet fragments need no final period
|
|
161
169
|
|
|
162
170
|
## Before you send
|
|
163
171
|
|
|
164
|
-
-
|
|
172
|
+
- Does this give the reader exactly what they need, given what they already know?
|
|
173
|
+
- Can a headline alone answer the question? If so, stop there.
|
|
174
|
+
- Have you removed unnecessary detail without hiding anything that could change the reader's understanding, decision, or next action?
|
|
165
175
|
- Does every level summarize the detail below it?
|
|
166
176
|
- Do siblings answer the same question at the same level?
|
|
167
177
|
- Can the reader follow the same names from overview to detail?
|
|
@@ -26,7 +26,9 @@ You write tests from requirements and application programming interface (API) co
|
|
|
26
26
|
|
|
27
27
|
## Project configuration
|
|
28
28
|
|
|
29
|
-
Read `project.yaml` in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints
|
|
29
|
+
Read `project.yaml` when present in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints. Without configuration, discover settings from repository instructions, manifests, existing tests, and CI under Project configuration in `orchestrator/AGENTS.md`; do not require setup or invent commands. Report invalid config and resolution errors rather than bypassing them.
|
|
30
|
+
|
|
31
|
+
Configured settings:
|
|
30
32
|
|
|
31
33
|
- `directories.tests` – where to create test files
|
|
32
34
|
- `directories.source` – source code root (for mirroring structure)
|
|
@@ -144,17 +146,21 @@ When complete, report:
|
|
|
144
146
|
|
|
145
147
|
Use the fewest clear words that preserve all necessary information.
|
|
146
148
|
|
|
147
|
-
##
|
|
148
|
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
149
|
+
## Fit the answer to the audience
|
|
150
|
+
|
|
151
|
+
- Start with what the reader knows, what they do not know, and what they need from this answer
|
|
152
|
+
- Lead with the answer, recommendation, or result they need
|
|
153
|
+
- Include only the context needed to understand it and act; repeat known information only when necessary to connect the new information
|
|
154
|
+
- Omit a detail only when it does not affect the reader's understanding, decision, or next action
|
|
155
|
+
- If unsure whether a detail matters, include its essential point briefly rather than relying on the reader to ask
|
|
156
|
+
- When reporting information to the user, be extremely concise and sacrifice grammar for sake of concision
|
|
157
|
+
- A headline or three-word answer is enough when it fully answers the question
|
|
158
|
+
- Use fragments freely; skip introductions, recaps, and supporting detail the user does not need
|
|
159
|
+
- Shorten wording, not meaning; keep conditions and ownership clear
|
|
160
|
+
- Match completeness to the audience, not a length target
|
|
161
|
+
- An agent handoff needs every detail required to continue correctly, without padding
|
|
162
|
+
- A durable document needs enough context and precise wording to stand alone for its intended reader; chat's grammar shortcuts do not apply
|
|
163
|
+
- Preserve necessary qualifications, evidence, errors, security warnings, accessibility requirements, and destructive-action confirmations; concision never overrides required disclosures
|
|
158
164
|
- Separate the current answer from decision history
|
|
159
165
|
- State what applies now before explaining how the decision changed
|
|
160
166
|
|
|
@@ -186,7 +192,7 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
186
192
|
|
|
187
193
|
## Write in plain language
|
|
188
194
|
|
|
189
|
-
- Prefer common, concrete words
|
|
195
|
+
- Prefer common, concrete words; use natural word order when it helps understanding
|
|
190
196
|
- Keep necessary technical terms and define unfamiliar abbreviations
|
|
191
197
|
- Cut grand claims, filler, repeated points, and metaphors the reader must decode
|
|
192
198
|
- Use examples when they explain a point faster than an abstract description
|
|
@@ -198,20 +204,24 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
198
204
|
- Prefer active voice, present-tense descriptions, and direct instructions
|
|
199
205
|
- Keep passive voice when the actor is unknown or irrelevant
|
|
200
206
|
- State claims at the strength supported by evidence
|
|
201
|
-
-
|
|
207
|
+
- Include sources, checks run, results, and uncertainty when the reader needs them to judge the claim or act
|
|
208
|
+
- Keep verification rigorous even when its supporting detail stays out of the report
|
|
202
209
|
- Explain an important distinction, including what something does not do, when the reader needs it
|
|
203
210
|
- Use sentence-case headings and restrained emphasis
|
|
204
|
-
- Use straight quotes
|
|
205
|
-
-
|
|
211
|
+
- Use straight quotes and three periods for an ellipsis; use the Oxford comma in durable prose
|
|
212
|
+
- Prefer parentheses over spaced en dashes for asides; use a period for a separate thought, never an em dash
|
|
213
|
+
- Use short parenthetical clarifications or examples (e.g., a concrete input) when they make something complex or ambiguous easier to understand
|
|
206
214
|
- Carry meaning in words, not emoji or color alone
|
|
207
215
|
- Format Markdown so the reader sees the intended grouping
|
|
208
216
|
- Indent nested bullets four spaces per level and leave a blank line before a list
|
|
209
|
-
-
|
|
217
|
+
- Keep list items parallel in meaning; in durable prose, also use parallel grammar and consistent punctuation
|
|
210
218
|
- Short bullet fragments need no final period
|
|
211
219
|
|
|
212
220
|
## Before you send
|
|
213
221
|
|
|
214
|
-
-
|
|
222
|
+
- Does this give the reader exactly what they need, given what they already know?
|
|
223
|
+
- Can a headline alone answer the question? If so, stop there.
|
|
224
|
+
- Have you removed unnecessary detail without hiding anything that could change the reader's understanding, decision, or next action?
|
|
215
225
|
- Does every level summarize the detail below it?
|
|
216
226
|
- Do siblings answer the same question at the same level?
|
|
217
227
|
- Can the reader follow the same names from overview to detail?
|
|
@@ -33,7 +33,7 @@ ACStack keeps project data in the project folder, the path `~/.claude/acstack/bi
|
|
|
33
33
|
|
|
34
34
|
You do not read `frontend.browser.mode` or `frontend.browser.fallback`. Step 3 asks the ACStack CLI which browser mode to use, and the CLI reads both.
|
|
35
35
|
|
|
36
|
-
If `<project folder>/project.yaml` has no `frontend` section, report SKIP and exit.
|
|
36
|
+
If `<project folder>/project.yaml` is absent or has no `frontend` section, report SKIP (no configured frontend verification) and exit. Do not create configuration or require setup for general work. Report unreadable or invalid configuration and project-data resolution errors instead of treating them as absent.
|
|
37
37
|
|
|
38
38
|
## Step 0: Read the knowledge base
|
|
39
39
|
|
package/agents/task-checker.md
CHANGED
|
@@ -15,7 +15,7 @@ You are read-only: do not edit source, tests, or specs.
|
|
|
15
15
|
## Establish scope and ownership
|
|
16
16
|
|
|
17
17
|
Read the supplied requirements, affected paths, known risks, and available command results.
|
|
18
|
-
Read `project.yaml` in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints for commands, directories, environment activation, and applicable frontend gates.
|
|
18
|
+
Read `project.yaml` when present in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints for commands, directories, environment activation, and applicable frontend gates. Without it, discover tooling from repository instructions, manifests, existing tests, and CI under Project configuration in `orchestrator/AGENTS.md`. Do not require setup, invent commands, or bypass invalid config or resolution errors.
|
|
19
19
|
|
|
20
20
|
- Distinguish focused review from ownership of completion verification
|
|
21
21
|
- If the assignment is unclear, clarify it with the delegating session before duplicating checks
|
package/agents/task-executor.md
CHANGED
|
@@ -17,7 +17,9 @@ Implement the assigned requirements under the shared Implementation discipline i
|
|
|
17
17
|
|
|
18
18
|
## Project configuration
|
|
19
19
|
|
|
20
|
-
Read `project.yaml` in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints
|
|
20
|
+
Read `project.yaml` when present in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints. Without configuration, discover settings from repository instructions, manifests, existing tests, and CI under Project configuration in `orchestrator/AGENTS.md`; do not require setup or invent commands. Report invalid config and resolution errors rather than bypassing them.
|
|
21
|
+
|
|
22
|
+
Configured settings:
|
|
21
23
|
|
|
22
24
|
- `directories.source` – where to write source code
|
|
23
25
|
- `directories.tests` – test directory, subject to assigned ownership
|
package/agents/test-writer.md
CHANGED
|
@@ -26,7 +26,9 @@ You write tests from requirements and application programming interface (API) co
|
|
|
26
26
|
|
|
27
27
|
## Project configuration
|
|
28
28
|
|
|
29
|
-
Read `project.yaml` in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints
|
|
29
|
+
Read `project.yaml` when present in the project folder that `~/.claude/acstack/bin/acstack project-data path` prints. Without configuration, discover settings from repository instructions, manifests, existing tests, and CI under Project configuration in `orchestrator/AGENTS.md`; do not require setup or invent commands. Report invalid config and resolution errors rather than bypassing them.
|
|
30
|
+
|
|
31
|
+
Configured settings:
|
|
30
32
|
|
|
31
33
|
- `directories.tests` – where to create test files
|
|
32
34
|
- `directories.source` – source code root (for mirroring structure)
|
package/cli/package.json
CHANGED
package/docs/config-reference.md
CHANGED
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
*Every key in `project.yaml`, the values it takes, its default, and what changes when you change it.*
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Optional `<project folder>/project.yaml` holds saved ACStack project settings.
|
|
6
6
|
The project folder is the repository's ACStack data folder, the path `~/.claude/acstack/bin/acstack project-data path` prints (section 1 explains where it lives).
|
|
7
7
|
|
|
8
|
+
General implementation, investigation, and review work without setup. Without this file, agents use repository instructions, manifests, existing tests, and CI to discover commands and directories. They do not invent commands or create configuration automatically. Run `/acstack:setup` when you want saved settings or storage-backed features such as maps and living specs.
|
|
9
|
+
|
|
10
|
+
Existing configuration keeps its gates. Unreadable or invalid configuration, legacy data, and project-data conflicts require the reported repair; they are not absent-config fallbacks. Orphan warnings alone do not block general work.
|
|
11
|
+
|
|
8
12
|
- **It names what to run**: the test, build, lint, typecheck, and format commands
|
|
9
13
|
- **It names where to look**: the source and test directories, and the frontend
|
|
10
14
|
- **It configures required gates**: spec sync, frontend verification, and design review
|
|
11
|
-
- **
|
|
15
|
+
- **Agents read it when present** before running project checks
|
|
12
16
|
- **A key you leave out takes the default** this document gives it
|
|
13
17
|
|
|
14
18
|
Three terms first.
|
|
@@ -70,7 +74,8 @@ These commands report configuration without changing settings.
|
|
|
70
74
|
|
|
71
75
|
- `~/.claude/acstack/bin/acstack project-data path` prints the project folder's absolute path, even before the folder exists
|
|
72
76
|
- It exits non-zero outside a Git repository
|
|
73
|
-
- It exits non-zero with a message
|
|
77
|
+
- It exits non-zero with a repair message for legacy, invalid, or conflicting data
|
|
78
|
+
- Orphan warnings do not block a valid current repository or adopt the orphan's settings
|
|
74
79
|
- The session-start hook states the same path in the agent's context
|
|
75
80
|
- This document writes a part inside it as `<project folder>/project.yaml`, `<project folder>/specs/`, and so on
|
|
76
81
|
- `/acstack:setup` creates the folder with `mkdir -p "$(~/.claude/acstack/bin/acstack project-data path)"`
|
package/hooks/session-start.sh
CHANGED
|
@@ -186,11 +186,6 @@ if ! project_folder=$(acstack_project_folder "$cli_wrapper"); then
|
|
|
186
186
|
exit 0
|
|
187
187
|
fi
|
|
188
188
|
|
|
189
|
-
if [ ! -f "$project_folder/project.yaml" ]; then
|
|
190
|
-
echo 'acstack: no project config found. Run /acstack:setup to set up.' >&2
|
|
191
|
-
exit 0
|
|
192
|
-
fi
|
|
193
|
-
|
|
194
189
|
claude_md="${plugin_root}/orchestrator/AGENTS.md"
|
|
195
190
|
|
|
196
191
|
if [ -z "$plugin_root" ] || [ ! -r "$claude_md" ]; then
|
package/orchestrator/AGENTS.md
CHANGED
|
@@ -102,7 +102,15 @@ ACStack runs on Claude Code, Codex, and pi. The skills name each capability once
|
|
|
102
102
|
- Never silently migrate data or work around legacy data by creating a partial project folder
|
|
103
103
|
- Never change the Git index or force-add files to track project data
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
Project setup is optional for general implementation, investigation, and review. Resolve the project folder first; a prospective path or a folder without `project.yaml` is not an error.
|
|
106
|
+
|
|
107
|
+
- When `<project folder>/project.yaml` exists, read it before running build, test, or lint commands and preserve its configured gates
|
|
108
|
+
- Without it, use repository instructions, manifests, existing tests, and CI to discover commands, directories, and environment activation
|
|
109
|
+
- Do not invent commands, assume a profile, or create configuration automatically
|
|
110
|
+
- If no useful check is discoverable, report that limit or ask for the missing command
|
|
111
|
+
- An unreadable or invalid configuration is not absent configuration. Report it and stop work that depends on it; do not bypass its gates
|
|
112
|
+
- Legacy, conflicting, or invalid project-data resolution also requires the reported repair, not an unconfigured fallback. Orphan warnings alone do not block work
|
|
113
|
+
- Offer `/acstack:setup` when the user wants saved project settings or storage-backed features such as maps, living specs, or configured browser verification; do not require it for general work
|
|
106
114
|
|
|
107
115
|
Key fields:
|
|
108
116
|
|
|
@@ -390,7 +398,7 @@ Read-only reviewers report discrepancies to the completion owner.
|
|
|
390
398
|
|
|
391
399
|
The verification owner gathers evidence for the final revision. Opening a PR does not require running every test locally.
|
|
392
400
|
|
|
393
|
-
|
|
401
|
+
Use `<project folder>/project.yaml` when present, otherwise discover commands under Project configuration above. Inspect the project's CI configuration before relying on it:
|
|
394
402
|
|
|
395
403
|
1. Use focused local checks by default: cover changed behavior, affected callers, and relevant integration paths
|
|
396
404
|
2. Run applicable build, lint, and typecheck checks; scope them when the tooling supports it
|
|
@@ -9,17 +9,21 @@ keep-coding-instructions: true
|
|
|
9
9
|
<!-- acstack:communication:start -->
|
|
10
10
|
Use the fewest clear words that preserve all necessary information.
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## Fit the answer to the audience
|
|
13
13
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
14
|
+
- Start with what the reader knows, what they do not know, and what they need from this answer
|
|
15
|
+
- Lead with the answer, recommendation, or result they need
|
|
16
|
+
- Include only the context needed to understand it and act; repeat known information only when necessary to connect the new information
|
|
17
|
+
- Omit a detail only when it does not affect the reader's understanding, decision, or next action
|
|
18
|
+
- If unsure whether a detail matters, include its essential point briefly rather than relying on the reader to ask
|
|
19
|
+
- When reporting information to the user, be extremely concise and sacrifice grammar for sake of concision
|
|
20
|
+
- A headline or three-word answer is enough when it fully answers the question
|
|
21
|
+
- Use fragments freely; skip introductions, recaps, and supporting detail the user does not need
|
|
22
|
+
- Shorten wording, not meaning; keep conditions and ownership clear
|
|
23
|
+
- Match completeness to the audience, not a length target
|
|
24
|
+
- An agent handoff needs every detail required to continue correctly, without padding
|
|
25
|
+
- A durable document needs enough context and precise wording to stand alone for its intended reader; chat's grammar shortcuts do not apply
|
|
26
|
+
- Preserve necessary qualifications, evidence, errors, security warnings, accessibility requirements, and destructive-action confirmations; concision never overrides required disclosures
|
|
23
27
|
- Separate the current answer from decision history
|
|
24
28
|
- State what applies now before explaining how the decision changed
|
|
25
29
|
|
|
@@ -51,7 +55,7 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
51
55
|
|
|
52
56
|
## Write in plain language
|
|
53
57
|
|
|
54
|
-
- Prefer common, concrete words
|
|
58
|
+
- Prefer common, concrete words; use natural word order when it helps understanding
|
|
55
59
|
- Keep necessary technical terms and define unfamiliar abbreviations
|
|
56
60
|
- Cut grand claims, filler, repeated points, and metaphors the reader must decode
|
|
57
61
|
- Use examples when they explain a point faster than an abstract description
|
|
@@ -63,20 +67,24 @@ Use the fewest clear words that preserve all necessary information.
|
|
|
63
67
|
- Prefer active voice, present-tense descriptions, and direct instructions
|
|
64
68
|
- Keep passive voice when the actor is unknown or irrelevant
|
|
65
69
|
- State claims at the strength supported by evidence
|
|
66
|
-
-
|
|
70
|
+
- Include sources, checks run, results, and uncertainty when the reader needs them to judge the claim or act
|
|
71
|
+
- Keep verification rigorous even when its supporting detail stays out of the report
|
|
67
72
|
- Explain an important distinction, including what something does not do, when the reader needs it
|
|
68
73
|
- Use sentence-case headings and restrained emphasis
|
|
69
|
-
- Use straight quotes
|
|
70
|
-
-
|
|
74
|
+
- Use straight quotes and three periods for an ellipsis; use the Oxford comma in durable prose
|
|
75
|
+
- Prefer parentheses over spaced en dashes for asides; use a period for a separate thought, never an em dash
|
|
76
|
+
- Use short parenthetical clarifications or examples (e.g., a concrete input) when they make something complex or ambiguous easier to understand
|
|
71
77
|
- Carry meaning in words, not emoji or color alone
|
|
72
78
|
- Format Markdown so the reader sees the intended grouping
|
|
73
79
|
- Indent nested bullets four spaces per level and leave a blank line before a list
|
|
74
|
-
-
|
|
80
|
+
- Keep list items parallel in meaning; in durable prose, also use parallel grammar and consistent punctuation
|
|
75
81
|
- Short bullet fragments need no final period
|
|
76
82
|
|
|
77
83
|
## Before you send
|
|
78
84
|
|
|
79
|
-
-
|
|
85
|
+
- Does this give the reader exactly what they need, given what they already know?
|
|
86
|
+
- Can a headline alone answer the question? If so, stop there.
|
|
87
|
+
- Have you removed unnecessary detail without hiding anything that could change the reader's understanding, decision, or next action?
|
|
80
88
|
- Does every level summarize the detail below it?
|
|
81
89
|
- Do siblings answer the same question at the same level?
|
|
82
90
|
- Can the reader follow the same names from overview to detail?
|