acstack 0.0.0-stage → 0.47.1
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 +19 -0
- package/LICENSE +21 -0
- package/README.md +389 -2
- package/THIRD_PARTY_NOTICES +14 -0
- package/TROUBLESHOOTING.md +225 -0
- package/agents/codex/frontend-verifier.toml +352 -0
- package/agents/codex/task-checker.toml +345 -0
- package/agents/codex/task-executor.toml +157 -0
- package/agents/codex/test-writer.toml +149 -0
- package/agents/frontend-verifier.md +351 -0
- package/agents/task-checker.md +344 -0
- package/agents/task-executor.md +156 -0
- package/agents/test-writer.md +148 -0
- package/assets/playwriter-bridge/build-launcher.ps1 +32 -0
- package/assets/playwriter-bridge/doctor.ps1 +450 -0
- package/assets/playwriter-bridge/launcher-src.cs +131 -0
- package/assets/playwriter-bridge/opener.js +330 -0
- package/assets/playwriter-bridge/opener.ps1 +63 -0
- package/assets/playwriter-bridge/register-tasks.ps1 +328 -0
- package/assets/playwriter-bridge/relay.ps1 +50 -0
- package/assets/playwriter-bridge/stop.ps1 +125 -0
- package/assets/playwriter-bridge/sync.ps1 +271 -0
- package/assets/playwriter-bridge/tunnel.ps1 +325 -0
- package/assets/playwriter-bridge/vm-free-port.sh +166 -0
- package/assets/terminal-workspace/client-keybindings.md +87 -0
- package/assets/terminal-workspace/config.example.yaml +334 -0
- package/assets/terminal-workspace/setup.sh +4404 -0
- package/cli/README.md +47 -0
- package/cli/bin/acstack.js +3 -0
- package/cli/dist/index.js +25984 -0
- package/cli/dist/index.js.map +7 -0
- package/cli/package.json +59 -0
- package/docs/adr/0001-ste-writing-standard.md +16 -0
- package/docs/adr/0002-version-gate-not-auto-bump.md +35 -0
- package/docs/adr/0003-handoff-ack-command.md +19 -0
- package/docs/adr/0004-dev-setup-per-host.md +13 -0
- package/docs/adr/0005-two-orchestrators-per-host.md +25 -0
- package/docs/adr/0006-document-opener-service.md +89 -0
- package/docs/adr/0007-lead-check-reads-the-transcript.md +87 -0
- package/docs/adr/0008-cli-audits-skill-interviews.md +37 -0
- package/docs/adr/0009-verify-the-write-not-the-writer.md +51 -0
- package/docs/adr/0010-promote-dev-to-main-by-fast-forward.md +115 -0
- package/docs/adr/0011-node-header-is-the-edge-encoding.md +20 -0
- package/docs/adr/0012-node-kind-is-a-closed-set-of-five.md +31 -0
- package/docs/adr/0013-the-diagram-renderer-is-pure.md +23 -0
- package/docs/adr/0014-reading-a-node-hides-its-generated-diagram.md +29 -0
- package/docs/adr/0015-a-node-id-links-to-its-issue-through-an-anchor.md +37 -0
- package/docs/adr/0016-the-map-root-carries-no-status-of-its-own.md +21 -0
- package/docs/adr/0017-call-impeccable-copy-only-its-questions.md +13 -0
- package/docs/adr/index.md +17 -0
- package/docs/config-reference.md +572 -0
- package/docs/dev-setups.md +164 -0
- package/docs/migrate-0.8.md +28 -0
- package/docs/playwriter-bridge-windows.md +15 -0
- package/docs/terminal-workspace-keys.md +137 -0
- package/docs/terminal-workspace.md +1780 -0
- package/docs/workflows.md +309 -0
- package/hooks/ac-writing-style-reminder.sh +86 -0
- package/hooks/context-pressure.sh +583 -0
- package/hooks/hooks.json +50 -0
- package/hooks/session-start-handoff.sh +165 -0
- package/hooks/session-start.sh +214 -0
- package/orchestrator/AGENTS.md +532 -0
- package/output-styles/ac-writing-style.md +286 -0
- package/package.json +50 -4
- package/pi/agents/frontend-verifier.md +357 -0
- package/pi/agents/task-checker.md +348 -0
- package/pi/agents/task-executor.md +160 -0
- package/pi/agents/test-writer.md +154 -0
- package/pi/extension.ts +723 -0
- package/profiles/fullstack-python.yaml +29 -0
- package/profiles/node-typescript.yaml +23 -0
- package/profiles/python.yaml +24 -0
- package/skills/archive/SKILL.md +160 -0
- package/skills/bootstrap/SKILL.md +109 -0
- package/skills/bridge/HANDOFF.md +93 -0
- package/skills/bridge/SKILL-VM.md +292 -0
- package/skills/bridge/SKILL-WINDOWS.md +526 -0
- package/skills/bridge/SKILL.md +121 -0
- package/skills/browser-verify/SKILL.md +229 -0
- package/skills/code-review/SKILL.md +44 -0
- package/skills/commit/SKILL.md +106 -0
- package/skills/compact-and-continue/SKILL.md +241 -0
- package/skills/explore/SKILL.md +149 -0
- package/skills/grilling/SKILL.md +134 -0
- package/skills/handoff/SKILL.md +250 -0
- package/skills/handoff/launch-herdr.md +197 -0
- package/skills/handoff/launch-without-herdr.md +30 -0
- package/skills/handoff/lead-check.md +59 -0
- package/skills/handoff/outcomes.md +162 -0
- package/skills/handoff/running-agent.md +50 -0
- package/skills/handoff/watch.md +115 -0
- package/skills/host/SKILL.md +247 -0
- package/skills/host/detect-host.sh +297 -0
- package/skills/host/herdr.md +79 -0
- package/skills/host/install-herdr-block.sh +467 -0
- package/skills/host/install-orca.sh +512 -0
- package/skills/host/notes.md +97 -0
- package/skills/host/orca.md +160 -0
- package/skills/host/questions.md +163 -0
- package/skills/host/report.md +42 -0
- package/skills/implement/SKILL.md +230 -0
- package/skills/implement/decision-log.md +62 -0
- package/skills/implement/design-pass.md +32 -0
- package/skills/implement/relaxed-tdd.md +28 -0
- package/skills/map/SKILL.md +250 -0
- package/skills/map/frontend.md +227 -0
- package/skills/map/trackers/files.md +74 -0
- package/skills/map/trackers/github.md +180 -0
- package/skills/map/visuals.md +387 -0
- package/skills/new-worktree/SKILL.md +155 -0
- package/skills/new-worktree/detect-orchestrator.sh +328 -0
- package/skills/new-worktree/detect-orchestrator.test.sh +894 -0
- package/skills/new-worktree/herdr.md +84 -0
- package/skills/new-worktree/orca.md +101 -0
- package/skills/pre-commit-review/SKILL.md +242 -0
- package/skills/pre-commit-review/auto-fix.md +19 -0
- package/skills/pre-commit-review/interactive.md +35 -0
- package/skills/quick-fix/SKILL.md +125 -0
- package/skills/record-context/SKILL.md +106 -0
- package/skills/setup/SKILL.md +250 -0
- package/skills/setup/browser.md +123 -0
- package/skills/setup/design-review.md +97 -0
- package/skills/setup/first-run.md +114 -0
- package/skills/setup/report.md +68 -0
- package/skills/setup/row-fixes.md +196 -0
- package/skills/setup/terminal-workspace.md +153 -0
- package/skills/sync/SKILL.md +171 -0
- package/skills/teardown-worktree/SKILL.md +245 -0
- package/skills/teardown-worktree/detector.md +39 -0
- package/skills/teardown-worktree/herdr.md +113 -0
- package/skills/teardown-worktree/orca.md +61 -0
- package/skills/terminal-workspace/SKILL.md +249 -0
- package/skills/terminal-workspace/components.md +36 -0
- package/skills/terminal-workspace/config-choices.md +69 -0
- package/skills/terminal-workspace/emulator-keys.md +48 -0
- package/skills/terminal-workspace/headless-clipboard.md +175 -0
- package/skills/terminal-workspace/turn-off-and-update.md +104 -0
- package/skills/test-conventions/SKILL.md +59 -0
- package/skills/visual-docs/SKILL.md +246 -0
- package/skills/writing/SKILL.md +231 -0
- package/skills/writing/examples.md +153 -0
- package/skills/writing/vocabulary.md +96 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Writing examples
|
|
2
|
+
|
|
3
|
+
The `Write:` and `Not:` pair for each rule in `SKILL.md`, except rules 3 and 11, which keep theirs inline.
|
|
4
|
+
|
|
5
|
+
### 1. Cap a descriptive sentence at 25 words, and an instruction at 20 words (ASD-STE100)
|
|
6
|
+
|
|
7
|
+
- Write: The SessionStart hook creates the symlink at `~/.claude/acstack/bin/acstack`.
|
|
8
|
+
- Not: The SessionStart hook, which runs whenever a session begins and which the plugin installs for you, is responsible for creating the symlink that points at the CLI inside the current plugin cache.
|
|
9
|
+
|
|
10
|
+
### 2. Give each sentence one instruction (ASD-STE100)
|
|
11
|
+
|
|
12
|
+
- Write: Run the tests. Stage the spec files.
|
|
13
|
+
- Not: Run the tests and stage the spec files, then check the baseline count.
|
|
14
|
+
|
|
15
|
+
### 4. Break a paragraph at three sentences
|
|
16
|
+
|
|
17
|
+
- Write: Three sentences, then a new paragraph, even mid-argument.
|
|
18
|
+
- Not: A sixth sentence of setup inside the same block.
|
|
19
|
+
|
|
20
|
+
### 5. Open a paragraph with its point
|
|
21
|
+
|
|
22
|
+
- Write: Spec sync runs at commit time. It maps changed files to domains, then rewrites each spec.
|
|
23
|
+
- Not: Specs can drift. One option is to update them by hand. Spec sync runs at commit time.
|
|
24
|
+
|
|
25
|
+
### 6. Use one term for one meaning across a document (ASD-STE100)
|
|
26
|
+
|
|
27
|
+
- Write: The map holds nodes. Each node has a status.
|
|
28
|
+
- Not: The map holds nodes. Each item has a status.
|
|
29
|
+
|
|
30
|
+
### 7. Define a term of art in plain words, before you first use it
|
|
31
|
+
|
|
32
|
+
- Write: Work the frontier, the nodes ready to work now.
|
|
33
|
+
- Not: Work the frontier, the unblocked open nodes the tracker returns.
|
|
34
|
+
|
|
35
|
+
- Write: define `map` and `node`, then say what `/acstack:map` does
|
|
36
|
+
- Not: say what `/acstack:map` does, then define `map` in the next subsection
|
|
37
|
+
|
|
38
|
+
### 8. Spell out an abbreviation at first use
|
|
39
|
+
|
|
40
|
+
- Write: an architecture decision record (ADR)
|
|
41
|
+
- Not: an ADR
|
|
42
|
+
|
|
43
|
+
### 9. Cap a noun string at three words (ASD-STE100)
|
|
44
|
+
|
|
45
|
+
- Write: the knowledge base for browser verification
|
|
46
|
+
- Not: the browser verification knowledge base file
|
|
47
|
+
|
|
48
|
+
### 10. Keep the articles (ASD-STE100)
|
|
49
|
+
|
|
50
|
+
- Write: Update the spec in the domain directory.
|
|
51
|
+
- Not: Update spec in domain directory.
|
|
52
|
+
|
|
53
|
+
### 12. Use the short form
|
|
54
|
+
|
|
55
|
+
- Write: To stage the specs, run the commit skill. It warns because the cap is a heuristic.
|
|
56
|
+
- Not: In order to stage the specs, run the commit skill. It warns due to the fact that the cap is a heuristic.
|
|
57
|
+
|
|
58
|
+
### 13. Name the actor and put it in front of the verb (ASD-STE100)
|
|
59
|
+
|
|
60
|
+
- Write: The task-checker runs the full suite.
|
|
61
|
+
- Not: The full suite is run.
|
|
62
|
+
|
|
63
|
+
### 14. Write descriptions in the present tense and procedures in the imperative (ASD-STE100)
|
|
64
|
+
|
|
65
|
+
- Write: The hook writes the symlink. Run the hook after you install the plugin.
|
|
66
|
+
- Not: The hook will have written the symlink. You should then probably run it.
|
|
67
|
+
|
|
68
|
+
### 15. Make a claim once, at the strength the evidence supports
|
|
69
|
+
|
|
70
|
+
- Write: The cap misfires inside tables.
|
|
71
|
+
- Not: It may possibly be the case that the cap could sometimes misfire inside tables.
|
|
72
|
+
|
|
73
|
+
### 16. Name the source of a claim
|
|
74
|
+
|
|
75
|
+
- Write: ASD-STE100 caps a descriptive sentence at 25 words.
|
|
76
|
+
- Not: Experts believe that shorter sentences read better.
|
|
77
|
+
|
|
78
|
+
### 17. Describe a thing by what it does
|
|
79
|
+
|
|
80
|
+
- Write: The tunnel forwards port 19988 to Chrome on the laptop.
|
|
81
|
+
- Not: The tunnel offers a seamless, robust bridge to your browser.
|
|
82
|
+
|
|
83
|
+
### 18. Name the file, the number, and the actor
|
|
84
|
+
|
|
85
|
+
- Write: Three of the eleven skills restate these rules, `commit` among them.
|
|
86
|
+
- Not: Several files restate these rules.
|
|
87
|
+
|
|
88
|
+
### 19. Recommend one option and give the reason
|
|
89
|
+
|
|
90
|
+
- Write: Use the files backend. It needs no network.
|
|
91
|
+
- Not: There is a files backend and an issues backend. Both carry trade-offs.
|
|
92
|
+
|
|
93
|
+
### 20. State what a thing is, then stop
|
|
94
|
+
|
|
95
|
+
- Write: The skill holds the rules. The CLI checks them.
|
|
96
|
+
- Not: The skill is not just a style guide but a contract.
|
|
97
|
+
- Not: The hook writes the symlink rather than copying it.
|
|
98
|
+
|
|
99
|
+
### 21. List as many items as there are
|
|
100
|
+
|
|
101
|
+
- Write: The lint warns and never blocks.
|
|
102
|
+
- Not: The lint is fast, focused, and forgiving.
|
|
103
|
+
|
|
104
|
+
### 22. Name the thing a pronoun stands for
|
|
105
|
+
|
|
106
|
+
- Write: Only `/acstack:map` creates a map.
|
|
107
|
+
- Not: Only `/acstack:map` creates one.
|
|
108
|
+
|
|
109
|
+
### 23. Write for a developer who has never seen this repository
|
|
110
|
+
|
|
111
|
+
- Write: Node 14 asks which tracker backend ships first.
|
|
112
|
+
- Not: The node from this morning's grill.
|
|
113
|
+
|
|
114
|
+
- Write: the frontier, meaning the nodes you can work right now
|
|
115
|
+
- Not: work the frontier
|
|
116
|
+
|
|
117
|
+
### 24. State what you checked, and when
|
|
118
|
+
|
|
119
|
+
- Write: `acstack lint-prose` does not exist yet, as of 2026-08-22.
|
|
120
|
+
- Not: My knowledge has a cutoff, so this may have changed since.
|
|
121
|
+
|
|
122
|
+
### 25. Connect clauses with a period or a comma, and set an aside off with an en dash
|
|
123
|
+
|
|
124
|
+
- Write: The lint warns. It never blocks. The rule – a heuristic – misfires inside tables.
|
|
125
|
+
- Not: The same two sentences joined by an em dash, or by a colon in mid sentence.
|
|
126
|
+
|
|
127
|
+
- Write: proposals, designs, and tasks
|
|
128
|
+
- Not: proposals, designs and tasks
|
|
129
|
+
|
|
130
|
+
### 26. Write a heading in sentence case, and end a fragment with no period
|
|
131
|
+
|
|
132
|
+
- Write: `## Before you finish`, and a table cell that reads `make sure`
|
|
133
|
+
- Not: `## Before You Finish.`, and a table cell that reads `make sure.`
|
|
134
|
+
|
|
135
|
+
### 27. Give a heading content that its paragraph does not repeat
|
|
136
|
+
|
|
137
|
+
- Write: `## Sentences`
|
|
138
|
+
- Not: `## This section covers the rules that apply to sentences`
|
|
139
|
+
|
|
140
|
+
### 28. Bold a single term for emphasis
|
|
141
|
+
|
|
142
|
+
- Write: **fog** names whatever nobody can state precisely yet.
|
|
143
|
+
- Not: **ACStack** ships a **CLI** that **many** skills call.
|
|
144
|
+
|
|
145
|
+
### 29. Carry the meaning in words
|
|
146
|
+
|
|
147
|
+
- Write: Done. 12 tests pass.
|
|
148
|
+
- Not: The same line with a tick emoji in front and a rocket after.
|
|
149
|
+
|
|
150
|
+
### 30. End with the last fact
|
|
151
|
+
|
|
152
|
+
- Write: The build passes. The baseline holds at 214 tests.
|
|
153
|
+
- Not: Let me know if you would like me to help with anything else.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
`acstack lint-prose` reads this layout. One Markdown table per section, columns
|
|
3
|
+
`| Avoid | Write instead | Note |`, one entry per row. `Avoid` holds one
|
|
4
|
+
lowercase word or phrase, never a regular expression. `Write instead` holds a
|
|
5
|
+
replacement, or `-` when the fix is to delete the word. Words sit under
|
|
6
|
+
`## Words`. The marks sit under `## Marks`, in a second table of the same shape.
|
|
7
|
+
Emoji are not listed, because the lint detects them by the Unicode Extended_Pictographic property.
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
# Vocabulary
|
|
11
|
+
|
|
12
|
+
## Words
|
|
13
|
+
|
|
14
|
+
| Avoid | Write instead | Note |
|
|
15
|
+
| --- | --- | --- |
|
|
16
|
+
| additionally | also | |
|
|
17
|
+
| crucial | important | |
|
|
18
|
+
| delve | look at | |
|
|
19
|
+
| enduring | lasting | |
|
|
20
|
+
| enhance | improve | |
|
|
21
|
+
| garner | get | |
|
|
22
|
+
| interplay | - | name the two things and how they meet |
|
|
23
|
+
| intricate | complex | |
|
|
24
|
+
| landscape | - | name the thing, puffery as in evolving landscape |
|
|
25
|
+
| pivotal | important | also puffery, as in pivotal moment |
|
|
26
|
+
| showcase | show | |
|
|
27
|
+
| tapestry | - | name the thing |
|
|
28
|
+
| testament | - | state the fact instead, puffery as in testament to |
|
|
29
|
+
| underscore | show | |
|
|
30
|
+
| setting the stage | - | puffery |
|
|
31
|
+
| indelible mark | - | puffery |
|
|
32
|
+
| deeply rooted | - | puffery |
|
|
33
|
+
| nestled | - | promotional |
|
|
34
|
+
| vibrant | - | promotional |
|
|
35
|
+
| breathtaking | - | promotional |
|
|
36
|
+
| groundbreaking | new | promotional |
|
|
37
|
+
| renowned | - | promotional |
|
|
38
|
+
| stunning | - | promotional |
|
|
39
|
+
| must-visit | - | promotional |
|
|
40
|
+
| seamless | - | promotional, say what it does |
|
|
41
|
+
| robust | - | promotional, say what it handles |
|
|
42
|
+
| cutting-edge | new | promotional |
|
|
43
|
+
| serves as | is | indirect copula |
|
|
44
|
+
| stands as | is | indirect copula |
|
|
45
|
+
| boasts | has | indirect copula |
|
|
46
|
+
| substrate | - | abstract metaphor, name the thing |
|
|
47
|
+
| wedge | - | abstract metaphor, name the thing |
|
|
48
|
+
| locus | - | abstract metaphor, name the thing |
|
|
49
|
+
| vantage | - | abstract metaphor, name the thing |
|
|
50
|
+
| nexus | - | abstract metaphor, name the thing |
|
|
51
|
+
| bedrock | - | abstract metaphor, name the thing |
|
|
52
|
+
| modality | - | abstract metaphor, name the thing |
|
|
53
|
+
| paradigm | - | abstract metaphor, name the thing |
|
|
54
|
+
| north star | - | abstract metaphor, name the goal |
|
|
55
|
+
| flywheel | - | abstract metaphor, name the loop |
|
|
56
|
+
| endgame | - | abstract metaphor, name the outcome |
|
|
57
|
+
| gold-plating | - | abstract metaphor, name the extra work |
|
|
58
|
+
| ratchet | - | abstract metaphor, name the mechanism |
|
|
59
|
+
| utilize | use | |
|
|
60
|
+
| commence | start | unnecessarily fancy |
|
|
61
|
+
| ascertain | find out | unnecessarily fancy |
|
|
62
|
+
| endeavour | try | unnecessarily fancy |
|
|
63
|
+
| myriad | many | unnecessarily fancy |
|
|
64
|
+
| plethora | many | unnecessarily fancy |
|
|
65
|
+
| elucidate | explain | unnecessarily fancy |
|
|
66
|
+
| leverage | use | |
|
|
67
|
+
| facilitate | help | |
|
|
68
|
+
| numerous | many | |
|
|
69
|
+
| in the event that | if | |
|
|
70
|
+
| in order to | to | judgment call: keep it when "to" alone reads wrong |
|
|
71
|
+
| due to the fact that | because | |
|
|
72
|
+
| prior to | before | |
|
|
73
|
+
| subsequent to | after | |
|
|
74
|
+
| commence | start | |
|
|
75
|
+
| terminate | end | |
|
|
76
|
+
| ensure | make sure | or check; keep when it is the literal verb |
|
|
77
|
+
| experts believe | - | vague sourcing, name the source |
|
|
78
|
+
| industry reports suggest | - | vague sourcing, name the report |
|
|
79
|
+
| some critics argue | - | vague sourcing, name who argues it |
|
|
80
|
+
| it is widely known | - | vague sourcing, cite it or cut it |
|
|
81
|
+
| highlighting | - | -ing filler, start a new sentence |
|
|
82
|
+
| showcasing | - | -ing filler, start a new sentence |
|
|
83
|
+
| ensuring that | make sure | -ing filler |
|
|
84
|
+
| reflecting | - | -ing filler, start a new sentence |
|
|
85
|
+
| fostering | - | -ing filler, and AI vocabulary |
|
|
86
|
+
|
|
87
|
+
## Marks
|
|
88
|
+
|
|
89
|
+
| Avoid | Write instead | Note |
|
|
90
|
+
| --- | --- | --- |
|
|
91
|
+
| — | en dash with spaces | or a period between the two clauses |
|
|
92
|
+
| “ | " | curly double quote, opening |
|
|
93
|
+
| ” | " | curly double quote, closing |
|
|
94
|
+
| ‘ | ' | curly single quote, opening |
|
|
95
|
+
| ’ | ' | curly single quote, closing |
|
|
96
|
+
| … | ... | or a period |
|