theslopmachine 0.6.2 → 0.7.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/MANUAL.md +21 -6
- package/README.md +55 -7
- package/RELEASE.md +16 -1
- package/assets/agents/developer.md +41 -1
- package/assets/agents/slopmachine-claude.md +101 -60
- package/assets/agents/slopmachine.md +40 -17
- package/assets/claude/agents/developer.md +42 -5
- package/assets/skills/clarification-gate/SKILL.md +25 -5
- package/assets/skills/claude-worker-management/SKILL.md +290 -57
- package/assets/skills/developer-session-lifecycle/SKILL.md +83 -38
- package/assets/skills/development-guidance/SKILL.md +21 -1
- package/assets/skills/evaluation-triage/SKILL.md +34 -23
- package/assets/skills/final-evaluation-orchestration/SKILL.md +88 -50
- package/assets/skills/hardening-gate/SKILL.md +17 -3
- package/assets/skills/integrated-verification/SKILL.md +3 -3
- package/assets/skills/planning-gate/SKILL.md +32 -3
- package/assets/skills/planning-guidance/SKILL.md +72 -13
- package/assets/skills/retrospective-analysis/SKILL.md +2 -2
- package/assets/skills/scaffold-guidance/SKILL.md +129 -124
- package/assets/skills/submission-packaging/SKILL.md +33 -27
- package/assets/skills/verification-gates/SKILL.md +44 -14
- package/assets/slopmachine/backend-evaluation-prompt.md +1 -1
- package/assets/slopmachine/frontend-evaluation-prompt.md +5 -5
- package/assets/slopmachine/scaffold-playbooks/android-kotlin-compose.md +81 -0
- package/assets/slopmachine/scaffold-playbooks/android-kotlin-views.md +191 -0
- package/assets/slopmachine/scaffold-playbooks/android-native-java.md +203 -0
- package/assets/slopmachine/scaffold-playbooks/angular-default.md +181 -0
- package/assets/slopmachine/scaffold-playbooks/backend-baseline.md +142 -0
- package/assets/slopmachine/scaffold-playbooks/backend-family-matrix.md +80 -0
- package/assets/slopmachine/scaffold-playbooks/database-module-matrix.md +80 -0
- package/assets/slopmachine/scaffold-playbooks/django-default.md +166 -0
- package/assets/slopmachine/scaffold-playbooks/docker-baseline.md +189 -0
- package/assets/slopmachine/scaffold-playbooks/docker-shared-contract.md +334 -0
- package/assets/slopmachine/scaffold-playbooks/electron-vite-default.md +124 -0
- package/assets/slopmachine/scaffold-playbooks/expo-react-native-default.md +73 -0
- package/assets/slopmachine/scaffold-playbooks/fastapi-default.md +134 -0
- package/assets/slopmachine/scaffold-playbooks/frontend-baseline.md +160 -0
- package/assets/slopmachine/scaffold-playbooks/frontend-family-matrix.md +134 -0
- package/assets/slopmachine/scaffold-playbooks/generic-unknown-tech-guide.md +136 -0
- package/assets/slopmachine/scaffold-playbooks/go-chi-default.md +160 -0
- package/assets/slopmachine/scaffold-playbooks/ios-linux-portable.md +93 -0
- package/assets/slopmachine/scaffold-playbooks/ios-native-objective-c.md +151 -0
- package/assets/slopmachine/scaffold-playbooks/ios-native-swift.md +188 -0
- package/assets/slopmachine/scaffold-playbooks/laravel-default.md +216 -0
- package/assets/slopmachine/scaffold-playbooks/livewire-default.md +265 -0
- package/assets/slopmachine/scaffold-playbooks/overlay-module-matrix.md +130 -0
- package/assets/slopmachine/scaffold-playbooks/platform-family-matrix.md +79 -0
- package/assets/slopmachine/scaffold-playbooks/selection-matrix.md +72 -0
- package/assets/slopmachine/scaffold-playbooks/spring-boot-default.md +182 -0
- package/assets/slopmachine/scaffold-playbooks/tauri-default.md +80 -0
- package/assets/slopmachine/scaffold-playbooks/vue-vite-default.md +162 -0
- package/assets/slopmachine/scaffold-playbooks/web-default.md +96 -0
- package/assets/slopmachine/templates/AGENTS.md +41 -3
- package/assets/slopmachine/templates/CLAUDE.md +111 -0
- package/assets/slopmachine/test-coverage-prompt.md +561 -0
- package/assets/slopmachine/utils/claude_create_session.mjs +3 -2
- package/assets/slopmachine/utils/claude_live_channel.mjs +188 -0
- package/assets/slopmachine/utils/claude_live_common.mjs +411 -0
- package/assets/slopmachine/utils/claude_live_hook.py +47 -0
- package/assets/slopmachine/utils/claude_live_launch.mjs +187 -0
- package/assets/slopmachine/utils/claude_live_status.mjs +25 -0
- package/assets/slopmachine/utils/claude_live_stop.mjs +46 -0
- package/assets/slopmachine/utils/claude_live_turn.mjs +277 -0
- package/assets/slopmachine/utils/claude_resume_session.mjs +3 -2
- package/assets/slopmachine/utils/claude_wait_for_rate_limit_reset.mjs +23 -0
- package/assets/slopmachine/utils/claude_wait_for_rate_limit_reset.sh +5 -0
- package/assets/slopmachine/utils/claude_worker_common.mjs +361 -4
- package/assets/slopmachine/utils/cleanup_delivery_artifacts.py +4 -0
- package/assets/slopmachine/utils/export_ai_session.mjs +1 -1
- package/assets/slopmachine/utils/normalize_claude_session.py +153 -0
- package/assets/slopmachine/utils/package_claude_session.mjs +123 -0
- package/assets/slopmachine/utils/prepare_strict_audit_workspace.mjs +65 -0
- package/package.json +1 -1
- package/src/constants.js +42 -3
- package/src/init.js +173 -28
- package/src/install.js +156 -8
- package/src/send-data.js +56 -57
package/MANUAL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## What it is
|
|
4
4
|
|
|
5
|
-
theslopmachine installs
|
|
5
|
+
theslopmachine installs the workflow-owner agents, the developer agents, Claude runtime assets, and the supporting skills/templates needed to run the delivery workflow inside OpenCode and the Claude-backed path.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -16,10 +16,20 @@ This installs:
|
|
|
16
16
|
|
|
17
17
|
- agents into `~/.config/opencode/agents/`
|
|
18
18
|
- skills into `~/.agents/skills/`
|
|
19
|
+
- Claude runtime assets into `~/.claude/`
|
|
19
20
|
- theslopmachine-owned files into `~/slopmachine/`
|
|
21
|
+
- scaffold playbooks into `~/slopmachine/scaffold-playbooks/`
|
|
22
|
+
- the post-bugfix coverage/README audit prompt into `~/slopmachine/test-coverage-prompt.md`
|
|
20
23
|
- merged plugin/MCP config into `~/.config/opencode/opencode.json`
|
|
21
24
|
|
|
22
|
-
The installed agent set includes the current `slopmachine` and `developer` agents.
|
|
25
|
+
The installed agent set includes the current `slopmachine`, `slopmachine-claude`, and `developer` agents.
|
|
26
|
+
|
|
27
|
+
The installed scaffold system includes:
|
|
28
|
+
|
|
29
|
+
- one shared Docker/runtime/test contract
|
|
30
|
+
- one generic unknown-tech scaffold guide
|
|
31
|
+
- family matrices for frontend, backend, database, platform, and overlays
|
|
32
|
+
- concrete verified or partial-proof playbooks for the common scaffold families
|
|
23
33
|
|
|
24
34
|
## Start a project
|
|
25
35
|
|
|
@@ -42,7 +52,8 @@ slopmachine init -o
|
|
|
42
52
|
- updates `.gitignore`
|
|
43
53
|
- bootstraps beads_rust (`br`)
|
|
44
54
|
- creates `repo/`
|
|
45
|
-
- copies the packaged repo rulebook into `repo/AGENTS.md`
|
|
55
|
+
- copies the packaged default repo rulebook into `repo/AGENTS.md`
|
|
56
|
+
- keeps the Claude-specific `CLAUDE.md` template available for `slopmachine-claude` to choose during `P1`
|
|
46
57
|
- creates the initial git commit so the workspace starts with a clean tree
|
|
47
58
|
- optionally opens `opencode` in `repo/`
|
|
48
59
|
|
|
@@ -55,14 +66,18 @@ slopmachine init -o
|
|
|
55
66
|
5. Development
|
|
56
67
|
6. Integrated verification
|
|
57
68
|
7. Hardening
|
|
58
|
-
8. Evaluation and fix verification
|
|
69
|
+
8. Evaluation and fix verification, including the final coverage and README audit inside `P7`
|
|
59
70
|
9. Final human decision
|
|
60
71
|
10. Submission packaging
|
|
61
72
|
11. Retrospective
|
|
62
73
|
|
|
63
74
|
## Important notes
|
|
64
75
|
|
|
65
|
-
- theslopmachine depends on OpenCode, beads_rust (`br`), git, python3, and Docker being available.
|
|
76
|
+
- theslopmachine depends on Node.js/npm, OpenCode, beads_rust (`br`), git, python3, and Docker being available.
|
|
77
|
+
- Unix-like setup paths also depend on `bash` and `curl`, and Linux fallback archive handling depends on `tar`.
|
|
78
|
+
- the Claude-backed path also depends on the `claude` CLI plus `tmux`.
|
|
79
|
+
- packaging and send-data depend on archive support: `zip` on non-Windows systems or PowerShell on Windows.
|
|
66
80
|
- The workflow-owner agents use mandatory skills for specific phases; skipping them is considered a workflow failure.
|
|
67
81
|
- `slopmachine` is the lighter current engine: it keeps the owner prompt smaller, uses more specialized skills, and keeps one active developer session at a time while preserving rollover history when new sessions are intentionally started.
|
|
68
|
-
-
|
|
82
|
+
- the scaffold playbook inventory now covers the main repeated families used in current tasks: React/Vite, Vue/Vite, Angular, FastAPI, Spring Boot, Django, Laravel, Livewire, Go/Chi, Android Java Views, Android Kotlin Compose, Electron/Vite, Tauri, Expo iOS-on-Linux, plus honest Linux partial-proof native Swift and Objective-C iOS playbooks.
|
|
83
|
+
- Submission packaging collects the final docs, accepted evaluation reports, cleaned OpenCode session exports or one Claude project session zip bundle, and the cleaned repo into the required final structure.
|
package/README.md
CHANGED
|
@@ -9,17 +9,26 @@ It configures:
|
|
|
9
9
|
- the `developer` implementation agent
|
|
10
10
|
- required skills under `~/.agents/skills/`
|
|
11
11
|
- Claude worker runtime assets under `~/.claude/`
|
|
12
|
-
- workflow support files under `~/slopmachine
|
|
12
|
+
- workflow support files under `~/slopmachine/`, including scaffold playbooks
|
|
13
|
+
- the post-bugfix coverage/README audit prompt at `~/slopmachine/test-coverage-prompt.md`
|
|
13
14
|
- OpenCode MCP entries for `context7` and `exa`
|
|
14
15
|
|
|
15
16
|
## Requirements
|
|
16
17
|
|
|
17
18
|
- Node.js 18+
|
|
19
|
+
- `npm`
|
|
18
20
|
- `git`
|
|
19
21
|
- Docker
|
|
20
22
|
- `python3`
|
|
23
|
+
- `bash` on Unix-like systems
|
|
24
|
+
- `curl` on Unix-like systems
|
|
25
|
+
- `tar` on Linux for fallback archive handling
|
|
21
26
|
- `opencode`
|
|
22
27
|
- `br` (`beads_rust`)
|
|
28
|
+
- `tmux` for the `slopmachine-claude` live bridge
|
|
29
|
+
- `claude` for the `slopmachine-claude` backend
|
|
30
|
+
- `zip` on non-Windows systems for packaging and send-data archives
|
|
31
|
+
- PowerShell on Windows for packaging and send-data archives
|
|
23
32
|
|
|
24
33
|
`slopmachine setup` verifies or installs what it can.
|
|
25
34
|
|
|
@@ -31,7 +40,7 @@ From this package directory:
|
|
|
31
40
|
npm install
|
|
32
41
|
npm run check
|
|
33
42
|
npm pack
|
|
34
|
-
npm install -g ./theslopmachine-0.
|
|
43
|
+
npm install -g ./theslopmachine-0.6.2.tgz
|
|
35
44
|
```
|
|
36
45
|
|
|
37
46
|
For local development instead:
|
|
@@ -53,11 +62,13 @@ slopmachine setup
|
|
|
53
62
|
What it does:
|
|
54
63
|
|
|
55
64
|
- verifies or installs `opencode`
|
|
56
|
-
- verifies `br`, `git`, `python3`, and
|
|
65
|
+
- verifies `npm`, `br`, `git`, `python3`, Docker, and the Claude/live-bridge packaging dependencies
|
|
57
66
|
- installs packaged agents into `~/.config/opencode/agents/`
|
|
58
67
|
- installs packaged skills into `~/.agents/skills/`
|
|
59
68
|
- installs Claude runtime assets into `~/.claude/`
|
|
60
69
|
- installs workflow files into `~/slopmachine/`
|
|
70
|
+
- installs scaffold playbooks into `~/slopmachine/scaffold-playbooks/`
|
|
71
|
+
- installs `~/slopmachine/test-coverage-prompt.md` for the final post-bugfix audit
|
|
61
72
|
- updates `~/.config/opencode/opencode.json`
|
|
62
73
|
- ensures packaged MCP entries for `context7` and `exa`
|
|
63
74
|
- optionally asks for an upload token if one is not already stored
|
|
@@ -67,6 +78,33 @@ Notes:
|
|
|
67
78
|
- existing upload token is preserved and setup skips that prompt when one already exists
|
|
68
79
|
- existing `context7` and `exa` entries are preserved if already configured
|
|
69
80
|
- package-managed assets are refreshed on rerun
|
|
81
|
+
- scaffold assets now include a shared Docker contract, family matrices, and concrete default playbooks under `~/slopmachine/scaffold-playbooks/`
|
|
82
|
+
|
|
83
|
+
Current scaffold inventory includes:
|
|
84
|
+
|
|
85
|
+
- shared Docker/runtime/test contract
|
|
86
|
+
- generic unknown-tech scaffold guide
|
|
87
|
+
- frontend, backend, database, platform, and overlay family matrices
|
|
88
|
+
- experimentally verified concrete playbooks for:
|
|
89
|
+
- React/Vite
|
|
90
|
+
- Vue/Vite
|
|
91
|
+
- Angular
|
|
92
|
+
- FastAPI
|
|
93
|
+
- Spring Boot
|
|
94
|
+
- Django
|
|
95
|
+
- Laravel
|
|
96
|
+
- Livewire
|
|
97
|
+
- Go/Chi
|
|
98
|
+
- Android Java Views
|
|
99
|
+
- Android Kotlin Compose
|
|
100
|
+
- Electron/Vite desktop
|
|
101
|
+
- Tauri desktop
|
|
102
|
+
- Expo iOS-on-Linux
|
|
103
|
+
- experimentally verified Linux partial-proof playbooks for:
|
|
104
|
+
- native Swift iOS
|
|
105
|
+
- native Objective-C iOS
|
|
106
|
+
|
|
107
|
+
These playbooks are baseline-only scaffold references. Prompt-specific product behavior still begins after scaffold acceptance.
|
|
70
108
|
|
|
71
109
|
### `slopmachine init`
|
|
72
110
|
|
|
@@ -94,7 +132,7 @@ What it creates:
|
|
|
94
132
|
|
|
95
133
|
- `repo/`
|
|
96
134
|
- `docs/`
|
|
97
|
-
-
|
|
135
|
+
- `.tmp/`
|
|
98
136
|
- `sessions/`
|
|
99
137
|
- `metadata.json`
|
|
100
138
|
- `.ai/metadata.json`
|
|
@@ -104,6 +142,8 @@ What it creates:
|
|
|
104
142
|
- `.ai/startup-context.md`
|
|
105
143
|
- root `.beads/`
|
|
106
144
|
- `repo/AGENTS.md`
|
|
145
|
+
- `repo/.claude/settings.json`
|
|
146
|
+
- `repo/CLAUDE.md` is not created by default, but `slopmachine-claude` may choose it during `P1`
|
|
107
147
|
- `repo/README.md`
|
|
108
148
|
- `docs/questions.md`
|
|
109
149
|
- `docs/design.md`
|
|
@@ -114,10 +154,13 @@ Important details:
|
|
|
114
154
|
|
|
115
155
|
- `run_id` is created in `.ai/metadata.json`
|
|
116
156
|
- the workspace root is the parent directory containing `repo/`
|
|
157
|
+
- parent-root `.tmp/` is the audit and fix-check artifact directory used during `P7`
|
|
158
|
+
- parent-root `.tmp/` also holds `test_coverage_and_readme_audit_report.md` after the final post-bugfix audit
|
|
117
159
|
- Beads lives in the workspace root, not inside `repo/`
|
|
160
|
+
- `repo/.claude/settings.json` seeds Claude Code to use the custom `developer` agent by default for that repo
|
|
118
161
|
- after non-`-o` bootstrap, the command prints the exact `cd repo` next step so you can continue immediately
|
|
119
162
|
- `--adopt` moves the current project files into `repo/`, preserves root workflow state in the parent workspace, and skips the automatic bootstrap commit
|
|
120
|
-
- `--phase <PX>`
|
|
163
|
+
- `--phase <PX>` seeds the initial `current_phase` for adoption/recovery bootstrap; the owner should still fall back if the real repo evidence does not support that later phase
|
|
121
164
|
|
|
122
165
|
### `slopmachine set-token`
|
|
123
166
|
|
|
@@ -175,9 +218,13 @@ What it exports live:
|
|
|
175
218
|
|
|
176
219
|
What it includes when present:
|
|
177
220
|
|
|
178
|
-
-
|
|
221
|
+
- `.tmp/`
|
|
179
222
|
- `retrospective-<run_id>.md`
|
|
180
223
|
- `improvement-actions-<run_id>.md`
|
|
224
|
+
- `test_coverage_and_readme_audit_report.md`
|
|
225
|
+
|
|
226
|
+
What it always includes:
|
|
227
|
+
|
|
181
228
|
- `metadata.json`
|
|
182
229
|
- `ai-metadata.json`
|
|
183
230
|
- `manifest.json`
|
|
@@ -193,7 +240,7 @@ Fail-fast conditions:
|
|
|
193
240
|
|
|
194
241
|
Warn-only conditions:
|
|
195
242
|
|
|
196
|
-
- missing
|
|
243
|
+
- missing `.tmp/`
|
|
197
244
|
- missing retrospective files
|
|
198
245
|
|
|
199
246
|
Output behavior:
|
|
@@ -251,6 +298,7 @@ Claude runtime assets:
|
|
|
251
298
|
Workflow files:
|
|
252
299
|
|
|
253
300
|
- installed under `~/slopmachine/`
|
|
301
|
+
- includes `~/slopmachine/test-coverage-prompt.md`
|
|
254
302
|
|
|
255
303
|
## Verification
|
|
256
304
|
|
package/RELEASE.md
CHANGED
|
@@ -14,7 +14,7 @@ node ./bin/slopmachine.js --help
|
|
|
14
14
|
SLOPMACHINE_HOME="$(pwd)/.tmp-home" SLOPMACHINE_NONINTERACTIVE=1 SLOPMACHINE_PLUGIN_BOOTSTRAP=0 node ./bin/slopmachine.js setup
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
That setup path should install `opencode-ai
|
|
17
|
+
That setup path should install `opencode-ai` when OpenCode is missing and only refresh it when the detected version is below the minimum supported version.
|
|
18
18
|
|
|
19
19
|
Users can later refresh to the newest published package with:
|
|
20
20
|
|
|
@@ -48,6 +48,7 @@ Note:
|
|
|
48
48
|
|
|
49
49
|
- `slopmachine init` is Node-driven.
|
|
50
50
|
- Workflow bootstrap is driven through the packaged Node helper `workflow-init.js`.
|
|
51
|
+
- before packing or publishing, make sure `git status --short` does not show junk artifacts such as `.DS_Store`, `__pycache__/`, or other accidental packaging noise
|
|
51
52
|
|
|
52
53
|
## Pack the npm package
|
|
53
54
|
|
|
@@ -89,8 +90,22 @@ And specifically verify that the tarball includes the current workflow assets:
|
|
|
89
90
|
- `assets/skills/claude-worker-management/`
|
|
90
91
|
- `assets/skills/planning-guidance/`
|
|
91
92
|
- `assets/skills/submission-packaging/`
|
|
93
|
+
- `assets/slopmachine/scaffold-playbooks/`
|
|
94
|
+
- within `assets/slopmachine/scaffold-playbooks/`, verify the shared contract, family matrices, generic unknown-tech guide, and concrete verified/default playbooks are present for the currently supported scaffold families
|
|
92
95
|
- `assets/slopmachine/templates/AGENTS.md`
|
|
96
|
+
- `assets/slopmachine/templates/CLAUDE.md`
|
|
93
97
|
- `assets/slopmachine/workflow-init.js`
|
|
98
|
+
- `assets/slopmachine/utils/cleanup_delivery_artifacts.py`
|
|
99
|
+
- `assets/slopmachine/utils/package_claude_session.mjs`
|
|
100
|
+
- `assets/slopmachine/utils/prepare_strict_audit_workspace.mjs`
|
|
101
|
+
- `assets/slopmachine/utils/claude_wait_for_rate_limit_reset.mjs`
|
|
102
|
+
- `assets/slopmachine/utils/claude_wait_for_rate_limit_reset.sh`
|
|
103
|
+
- `assets/slopmachine/utils/claude_live_common.mjs`
|
|
104
|
+
- `assets/slopmachine/utils/claude_live_launch.mjs`
|
|
105
|
+
- `assets/slopmachine/utils/claude_live_turn.mjs`
|
|
106
|
+
- `assets/slopmachine/utils/claude_live_status.mjs`
|
|
107
|
+
- `assets/slopmachine/utils/claude_live_stop.mjs`
|
|
108
|
+
- `assets/slopmachine/test-coverage-prompt.md`
|
|
94
109
|
|
|
95
110
|
## Publish
|
|
96
111
|
|
|
@@ -13,6 +13,9 @@ permission:
|
|
|
13
13
|
"*": allow
|
|
14
14
|
bash: allow
|
|
15
15
|
lsp: allow
|
|
16
|
+
task: allow
|
|
17
|
+
todoread: allow
|
|
18
|
+
todowrite: allow
|
|
16
19
|
"context7_*": allow
|
|
17
20
|
"exa_*": allow
|
|
18
21
|
"grep_app_*": allow
|
|
@@ -39,6 +42,10 @@ Read and follow `AGENTS.md` before implementing.
|
|
|
39
42
|
Before coding:
|
|
40
43
|
|
|
41
44
|
- identify requirements, constraints, flows, and edge cases
|
|
45
|
+
- identify the actors or personas touched by the work and the concrete path to success for each one
|
|
46
|
+
- make the important business rules explicit before coding, including defaults, thresholds, limits, uniqueness, conflicts, reversals, retry behavior, and ownership rules when those dimensions matter
|
|
47
|
+
- define or confirm the relevant state machine when the feature has meaningful lifecycle state
|
|
48
|
+
- keep explicit out-of-scope boundaries in mind so you do not overbuild speculative features
|
|
42
49
|
- surface meaningful ambiguity instead of silently guessing
|
|
43
50
|
- make the plan concrete enough to drive real implementation
|
|
44
51
|
- keep frontend/backend surfaces aligned when both sides matter
|
|
@@ -60,17 +67,46 @@ When accepted planning artifacts already exist, treat them as the primary execut
|
|
|
60
67
|
- do not wait for the owner to restate what is already in the plan
|
|
61
68
|
- treat owner follow-up prompts mainly as narrow deltas, guardrails, or correction signals
|
|
62
69
|
|
|
70
|
+
When the owner asks for planning without coding yet:
|
|
71
|
+
|
|
72
|
+
- produce an exhaustive, section-addressable implementation plan rather than a high-level summary
|
|
73
|
+
- prefer writing almost all important implementation decisions down now instead of deferring them to coding time
|
|
74
|
+
- make unresolved items rare, narrow, and explicit
|
|
75
|
+
- if the owner asks you to write planning artifacts, fill them densely enough that later implementation can mostly execute by following the plan rather than inventing new structure
|
|
76
|
+
- when the owner asks for planning artifacts, prefer putting the real planning depth into the requested planning files rather than leaving the important detail only in chat
|
|
77
|
+
|
|
63
78
|
## Execution Model
|
|
64
79
|
|
|
65
80
|
- implement real behavior, not placeholders
|
|
66
81
|
- keep user-facing and admin-facing flows complete through their real surfaces
|
|
82
|
+
- when roles or privileges matter, keep route-level, object-level, and function-level authorization aligned with the actual actor model
|
|
83
|
+
- when third-party integrations are required but real external integration is not explicitly demanded, prefer internal stubs or adaptors over brittle live-service coupling
|
|
84
|
+
- for backend or fullstack work, keep configuration reads centralized instead of scattering direct environment access through business logic
|
|
85
|
+
- keep logging, validation, and normalized error handling on shared paths when those cross-cutting concerns are material
|
|
67
86
|
- verify the changed area locally and realistically before reporting completion
|
|
87
|
+
- when backend or fullstack API endpoints are added or changed, prefer real HTTP tests for the exact `METHOD + PATH` over controller or service bypasses when practical
|
|
88
|
+
- if mocked HTTP tests or unit-only tests still exist for an API surface, do not overstate them as equivalent to true no-mock endpoint coverage
|
|
68
89
|
- when closing a slice, think briefly about what adjacent flows, runtime paths, or doc/spec claims this slice could have affected before claiming readiness
|
|
69
90
|
- keep `README.md` as the only documentation file inside the repo unless the user explicitly asks for something else
|
|
70
91
|
- keep the repo self-sufficient and statically reviewable through code plus `README.md`; do not rely on runtime success alone to make the project understandable
|
|
71
92
|
- keep the repo self-sufficient; do not make it depend on parent-directory docs or sibling artifacts for startup, build/preview, configuration, verification, or basic understanding
|
|
72
93
|
- do not touch workflow or rulebook files such as `AGENTS.md` unless explicitly asked
|
|
73
94
|
- if the work changes acceptance-critical docs or contracts, review those docs yourself before replying instead of assuming the owner will catch inconsistencies later
|
|
95
|
+
- keep `README.md` compatible with the strict audit contract as the project matures: project type near the top, startup instructions, access method, verification method, and demo credentials for every role or the exact statement `No authentication required`
|
|
96
|
+
- for backend, fullstack, and web projects, keep the canonical `docker compose up --build` contract in `README.md` and also include the exact legacy compatibility string `docker-compose up` somewhere in startup guidance
|
|
97
|
+
- for Android, iOS, and desktop projects, keep the required Docker-contained final contract while also maintaining the project-type-specific host-side guidance sections expected by the strict README audit
|
|
98
|
+
- before reporting development complete, remove local-only setup traces and host-only dependency assumptions from the delivered README and wrapper scripts
|
|
99
|
+
|
|
100
|
+
## Parallel Execution Model
|
|
101
|
+
|
|
102
|
+
- before deeper implementation, do a quick serial-versus-parallel check instead of defaulting to one long serial branch
|
|
103
|
+
- when 2 or 3 independent work items can proceed with stable contracts and minimal shared-file churn, use `Task` fan-out instead of serializing by habit
|
|
104
|
+
- use `TodoWrite` and `TodoRead` to keep a compact live record of shared prerequisites, active branches, merge checkpoints, and remaining blockers when the work is non-trivial
|
|
105
|
+
- good parallel candidates include independent repo reading, verification passes, separate test additions, and implementation branches that touch different modules or well-separated files
|
|
106
|
+
- do not parallelize tightly coupled work that still depends on unresolved contracts, shared abstractions being invented in real time, or overlapping edits to the same files
|
|
107
|
+
- before fan-out, define the branch contract clearly: expected outcome, boundaries, important shared constraints, and merge condition
|
|
108
|
+
- after fan-in, reconcile the branches yourself, resolve any overlap cleanly, and run final targeted verification on the integrated result before reporting completion
|
|
109
|
+
- prefer a small number of meaningful branches over spawning many tiny sub-tasks; 2 or 3 good parallel branches are usually enough
|
|
74
110
|
|
|
75
111
|
## Verification Cadence
|
|
76
112
|
|
|
@@ -82,6 +118,8 @@ During ordinary work, prefer:
|
|
|
82
118
|
- targeted module or route-family tests
|
|
83
119
|
- targeted component, route, page, or state-focused tests when UI behavior is material
|
|
84
120
|
|
|
121
|
+
- fast local tooling setup is allowed during ordinary iteration, but it must not become a dependency of the final delivered runtime or broad test contract
|
|
122
|
+
|
|
85
123
|
Broad commands you are not allowed to run during ordinary work:
|
|
86
124
|
|
|
87
125
|
- never run `./run_tests.sh`
|
|
@@ -96,7 +134,7 @@ Your job is to make the broader verification likely to pass without running it y
|
|
|
96
134
|
Selected-stack defaults:
|
|
97
135
|
|
|
98
136
|
- follow the original prompt and existing repo first; use these only when they do not already specify the platform or stack
|
|
99
|
-
- web frontend/fullstack: Tailwind CSS
|
|
137
|
+
- web frontend/fullstack: Tailwind CSS by default; use `shadcn/ui` when the selected frontend ecosystem supports it cleanly, otherwise use a mainstream documented component library such as Material UI, Ant Design, Ant Design Vue, or Angular Material as appropriate to the stack
|
|
100
138
|
- mobile: Expo plus React Native plus TypeScript by default unless the prompt or existing repo says otherwise
|
|
101
139
|
- desktop: Electron plus Vite plus TypeScript by default unless the prompt or existing repo says otherwise
|
|
102
140
|
|
|
@@ -120,6 +158,8 @@ Selected-stack defaults:
|
|
|
120
158
|
- use a shared logging path and avoid random print-style debugging as the durable implementation pattern
|
|
121
159
|
- use a shared validation/error-handling path when validation materially affects the flow
|
|
122
160
|
- do not hide missing failure handling behind fake-success paths
|
|
161
|
+
- do not silently swap required interaction models, lifecycle behavior, or data-integrity rules for easier substitutes
|
|
162
|
+
- do not let mocked or indirect API tests masquerade as true endpoint coverage in docs, comments, or completion claims
|
|
123
163
|
|
|
124
164
|
## Completion Preflight
|
|
125
165
|
|