theslopmachine 1.0.3 → 1.0.6
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 +38 -78
- package/README.md +42 -317
- package/RELEASE.md +8 -150
- package/assets/agents/developer.md +61 -240
- package/assets/agents/slopmachine-claude.md +234 -566
- package/assets/agents/slopmachine.md +211 -533
- package/assets/claude/agents/developer.md +61 -330
- package/assets/skills/beads-operations/SKILL.md +103 -57
- package/assets/skills/clarification-gate/SKILL.md +62 -53
- package/assets/skills/claude-worker-management/SKILL.md +127 -559
- package/assets/skills/developer-session-lifecycle/SKILL.md +82 -270
- package/assets/skills/development-guidance/SKILL.md +117 -188
- package/assets/skills/evaluation-triage/SKILL.md +86 -93
- package/assets/skills/final-evaluation-orchestration/SKILL.md +154 -314
- package/assets/skills/integrated-verification/SKILL.md +129 -141
- package/assets/skills/owner-evidence-discipline/SKILL.md +23 -6
- package/assets/skills/p8-readiness-reconciliation/SKILL.md +43 -84
- package/assets/skills/planning-gate/SKILL.md +75 -635
- package/assets/skills/planning-guidance/SKILL.md +89 -156
- package/assets/skills/report-output-discipline/SKILL.md +17 -9
- package/assets/skills/retrospective-analysis/SKILL.md +7 -7
- package/assets/skills/scaffold-guidance/SKILL.md +71 -183
- package/assets/skills/submission-packaging/SKILL.md +100 -233
- package/assets/skills/verification-gates/SKILL.md +37 -263
- package/assets/slopmachine/backend-evaluation-prompt.md +211 -165
- package/assets/slopmachine/clarification-faithfulness-review-prompt.md +8 -6
- package/assets/slopmachine/clarifier-agent-prompt.md +30 -97
- package/assets/slopmachine/exact-readme-template.md +7 -9
- package/assets/slopmachine/frontend-evaluation-prompt.md +221 -179
- package/assets/slopmachine/owner-verification-checklist.md +67 -282
- package/assets/slopmachine/phase-1-design-prompt.md +32 -538
- package/assets/slopmachine/phase-1-design-template.md +66 -571
- package/assets/slopmachine/phase-2-execution-planning-prompt.md +47 -689
- package/assets/slopmachine/phase-2-plan-template.md +151 -934
- package/assets/slopmachine/scaffold-playbooks/selection-matrix.md +5 -5
- package/assets/slopmachine/scaffold-playbooks/shared-contract.md +8 -6
- package/assets/slopmachine/scaffold-playbooks/stack-go-gin-templ-postgres.md +3 -3
- package/assets/slopmachine/scaffold-playbooks/stack-vue-koa-mysql.md +1 -1
- package/assets/slopmachine/scaffold-playbooks/tech-backend-gin-templ.md +1 -1
- package/assets/slopmachine/templates/AGENTS.md +61 -186
- package/assets/slopmachine/templates/CLAUDE.md +61 -185
- package/assets/slopmachine/test-coverage-prompt.md +4 -4
- package/assets/slopmachine/utils/README.md +242 -0
- package/assets/slopmachine/utils/claude_create_session.mjs +2 -1
- package/assets/slopmachine/utils/claude_export_session.mjs +2 -1
- package/assets/slopmachine/utils/claude_live_common.mjs +21 -13
- package/assets/slopmachine/utils/claude_live_launch.mjs +4 -3
- package/assets/slopmachine/utils/claude_live_status.mjs +98 -3
- package/assets/slopmachine/utils/claude_live_turn.mjs +2 -2
- package/assets/slopmachine/utils/claude_resume_session.mjs +2 -1
- package/assets/slopmachine/utils/claude_wait_for_rate_limit_reset.sh +0 -0
- package/assets/slopmachine/utils/claude_worker_common.mjs +36 -5
- package/assets/slopmachine/utils/convert_ai_session.py +85 -85
- package/assets/slopmachine/utils/convert_exported_ai_session.mjs +5 -1
- package/assets/slopmachine/utils/export_ai_session.mjs +3 -2
- package/assets/slopmachine/utils/package_claude_session.mjs +15 -11
- package/assets/slopmachine/utils/prepare_evaluation_prompt.mjs +18 -6
- package/assets/slopmachine/utils/prepare_evaluation_send_packet.mjs +34 -7
- package/assets/slopmachine/utils/prepare_strict_audit_workspace.mjs +10 -8
- package/assets/slopmachine/workflow-init.js +8 -8
- package/package.json +9 -3
- package/src/cli.js +11 -5
- package/src/constants.js +31 -31
- package/src/init.js +200 -173
- package/src/install.js +222 -14
- package/src/send-data.js +47 -43
- package/src/utils.js +1 -1
- package/tsconfig.json +24 -0
- package/assets/claude/skills/integration-fanin/SKILL.md +0 -122
- package/assets/claude/skills/module-handoff/SKILL.md +0 -98
- package/assets/claude/skills/module-lane-execution/SKILL.md +0 -126
- package/assets/claude/skills/shared-surface-control/SKILL.md +0 -97
- package/assets/skills/hardening-gate/SKILL.md +0 -12
- package/assets/slopmachine/templates/plan.md +0 -966
package/MANUAL.md
CHANGED
|
@@ -1,96 +1,56 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
## What it is
|
|
4
|
-
|
|
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.
|
|
1
|
+
# SlopMachine v2 Manual
|
|
6
2
|
|
|
7
3
|
## Install
|
|
8
4
|
|
|
9
|
-
Run:
|
|
5
|
+
Run from this repository:
|
|
10
6
|
|
|
11
|
-
```
|
|
12
|
-
|
|
7
|
+
```sh
|
|
8
|
+
npm install
|
|
9
|
+
npm link
|
|
10
|
+
slopmachine install
|
|
13
11
|
```
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
The installer copies OpenCode agents to `~/.config/opencode/agents`, Claude assets to `~/.claude`, shared skills to `~/.agents/skills`, and slopmachine assets to `~/slopmachine`.
|
|
14
|
+
|
|
15
|
+
## Initialize A Task
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
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`
|
|
23
|
-
- merged plugin/MCP config into `~/.config/opencode/opencode.json`
|
|
17
|
+
```sh
|
|
18
|
+
slopmachine init /path/to/task-root
|
|
19
|
+
```
|
|
24
20
|
|
|
25
|
-
The
|
|
21
|
+
The initialized root is intentionally sparse and packaging-friendly. Product code belongs in `repo/`; product-facing docs belong in `docs/`; final kept reports belong in `.tmp/`; project facts belong in `metadata.json`.
|
|
26
22
|
|
|
27
|
-
|
|
23
|
+
Use `--claude` for `slopmachine-claude` runs:
|
|
28
24
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- concrete verified or partial-proof playbooks for the common scaffold families
|
|
25
|
+
```sh
|
|
26
|
+
slopmachine init --claude /path/to/task-root
|
|
27
|
+
```
|
|
33
28
|
|
|
34
|
-
|
|
29
|
+
The active developer rulebook is recorded in `../.ai/metadata.json` as `developer_rulebook_file`. The unused rulebook is removed from the task folder.
|
|
35
30
|
|
|
36
|
-
|
|
31
|
+
## Continue From A Phase Alias
|
|
37
32
|
|
|
38
|
-
```
|
|
39
|
-
slopmachine init
|
|
33
|
+
```sh
|
|
34
|
+
slopmachine init --continue-from P5 /path/to/task-root
|
|
40
35
|
```
|
|
41
36
|
|
|
42
|
-
|
|
37
|
+
Legacy aliases remain accepted for CLI compatibility, but owner-facing language uses Phase 1 through Phase 8.
|
|
38
|
+
|
|
39
|
+
## Developer Rulebooks
|
|
43
40
|
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
OpenCode developer agents read `AGENTS.md`. Claude developer agents read `CLAUDE.md`. Only the selected rulebook is seeded into a task root. These files are product engineering rulebooks, not owner workflow instructions.
|
|
42
|
+
|
|
43
|
+
## Verification
|
|
44
|
+
|
|
45
|
+
For this package:
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
npm run typecheck
|
|
49
|
+
npm run check
|
|
46
50
|
```
|
|
47
51
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
- updates `.gitignore`
|
|
54
|
-
- bootstraps beads_rust (`br`)
|
|
55
|
-
- creates parent-root `docs/`, `.tmp/`, `metadata.json`, and root `.beads/`
|
|
56
|
-
- creates `repo/`
|
|
57
|
-
- copies the packaged default repo rulebook into `repo/AGENTS.md`
|
|
58
|
-
- copies the packaged Claude repo rulebook into `repo/CLAUDE.md`
|
|
59
|
-
- seeds `repo/README.md`, `repo/plan.md`, and `repo/.claude/settings.json`
|
|
60
|
-
- seeds `.ai/startup-context.md` plus the parent-root planning docs under `docs/`
|
|
61
|
-
- later, when `P5` closes, the workflow preserves the final truthful execution record in `docs/plan.md` and removes `repo/plan.md` before evaluation begins
|
|
62
|
-
- creates the initial git commit so the workspace starts with a clean tree
|
|
63
|
-
- optionally opens `opencode` in `repo/`
|
|
64
|
-
- parallel worktrees should stay under hidden parent-root `.ai/worktrees/` so the visible workspace root stays clean
|
|
65
|
-
|
|
66
|
-
## Rough workflow
|
|
67
|
-
|
|
68
|
-
1. Intake and setup
|
|
69
|
-
2. Clarification
|
|
70
|
-
3. Planning
|
|
71
|
-
4. Development, starting with the scaffold step inside `plan.md`
|
|
72
|
-
5. Rough integrated verification and hardening: repo coherence and small owner-side fixes only, with no Docker execution
|
|
73
|
-
6. Evaluation and fix verification, including the final coverage and README audit inside `P7`
|
|
74
|
-
7. Final readiness decision
|
|
75
|
-
8. Submission packaging, including the owner-only Docker and `./run_tests.sh` check
|
|
76
|
-
9. Retrospective
|
|
77
|
-
|
|
78
|
-
The intended fast path is:
|
|
79
|
-
|
|
80
|
-
- plan well
|
|
81
|
-
- land the minimal scaffold baseline
|
|
82
|
-
- execute the plan end to end
|
|
83
|
-
- make the repo coherent
|
|
84
|
-
- proceed through evaluation without Docker execution
|
|
85
|
-
- after evaluation is complete, have the owner run and fix `docker compose up --build` and `./run_tests.sh` before submission closes
|
|
86
|
-
|
|
87
|
-
## Important notes
|
|
88
|
-
|
|
89
|
-
- theslopmachine depends on Node.js/npm, OpenCode, beads_rust (`br`), git, python3, and Docker being available.
|
|
90
|
-
- Unix-like setup paths also depend on `bash` and `curl`, and Linux fallback archive handling depends on `tar`.
|
|
91
|
-
- the Claude-backed path also depends on the `claude` CLI plus `tmux`.
|
|
92
|
-
- packaging and send-data depend on archive support: `zip` on non-Windows systems or PowerShell on Windows.
|
|
93
|
-
- The workflow-owner agents use mandatory skills for specific phases; skipping them is considered a workflow failure.
|
|
94
|
-
- `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.
|
|
95
|
-
- 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.
|
|
96
|
-
- Submission packaging collects the final docs, accepted evaluation reports, cleaned OpenCode session exports or one Claude session zip bundle containing only the tracked relevant Claude sessions, and the cleaned repo into the required final structure.
|
|
52
|
+
For generated product repos, developer lanes should run targeted, relevant verification unless explicitly asked to run Docker or `run_tests.sh`.
|
|
53
|
+
|
|
54
|
+
## Asset Continuity
|
|
55
|
+
|
|
56
|
+
`src/constants.js` defines the required packaged slopmachine assets. Installation and initialization should only refer to files present under `assets/`.
|
package/README.md
CHANGED
|
@@ -1,347 +1,72 @@
|
|
|
1
|
-
#
|
|
1
|
+
# SlopMachine v2
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
SlopMachine is a local project bootstrap and workflow CLI for generating, reviewing, verifying, and packaging software delivery tasks with OpenCode and Claude support.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- the `slopmachine` owner agent
|
|
8
|
-
- the `slopmachine-claude` owner agent
|
|
9
|
-
- the `developer` implementation agent
|
|
10
|
-
- required skills under `~/.agents/skills/`
|
|
11
|
-
- Claude worker runtime assets under `~/.claude/`
|
|
12
|
-
- workflow support files under `~/slopmachine/`, including scaffold playbooks
|
|
13
|
-
- the post-bugfix coverage/README audit prompt at `~/slopmachine/test-coverage-prompt.md`
|
|
14
|
-
- OpenCode MCP entries for `context7` and `exa`
|
|
5
|
+
This v2 package keeps the existing installer and CLI behavior while updating the bundled agents, skills, prompts, templates, and workflow guidance around an eight-phase owner process.
|
|
15
6
|
|
|
16
7
|
## Requirements
|
|
17
8
|
|
|
18
|
-
- Node.js 18
|
|
19
|
-
-
|
|
20
|
-
- `
|
|
21
|
-
-
|
|
22
|
-
- `
|
|
23
|
-
- `bash` on Unix-like systems
|
|
24
|
-
- `curl` on Unix-like systems
|
|
25
|
-
- `tar` on Linux for fallback archive handling
|
|
26
|
-
- `opencode`
|
|
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
|
|
32
|
-
|
|
33
|
-
`slopmachine setup` verifies or installs what it can.
|
|
34
|
-
|
|
35
|
-
## Install
|
|
9
|
+
- Node.js 18 or newer
|
|
10
|
+
- macOS, Linux, or WSL
|
|
11
|
+
- `opencode` for OpenCode owner and developer agents
|
|
12
|
+
- Claude Code for Claude live developer sessions, when using Claude lanes
|
|
13
|
+
- `br` from beads-rust for task lifecycle tracking
|
|
36
14
|
|
|
37
|
-
From
|
|
15
|
+
## Install From This Repo
|
|
38
16
|
|
|
39
|
-
```
|
|
17
|
+
```sh
|
|
40
18
|
npm install
|
|
41
|
-
npm run check
|
|
42
|
-
npm pack
|
|
43
|
-
npm install -g ./theslopmachine-<version>.tgz
|
|
44
|
-
slopmachine setup
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
If you install a freshly packed local tarball, rerun `slopmachine setup` before bootstrapping a workspace so the installed home assets under `~/slopmachine`, `~/.config/opencode/agents`, and `~/.agents/skills` are refreshed to match the package you just installed.
|
|
48
|
-
|
|
49
|
-
For local development instead:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
19
|
npm link
|
|
20
|
+
slopmachine install
|
|
53
21
|
```
|
|
54
22
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
### `slopmachine setup`
|
|
58
|
-
|
|
59
|
-
Use this once per machine, then rerun any time you want to refresh packaged assets.
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
slopmachine setup
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
What it does:
|
|
66
|
-
|
|
67
|
-
- verifies or installs `opencode`
|
|
68
|
-
- verifies `npm`, `br`, `git`, `python3`, Docker, and the Claude/live-bridge packaging dependencies
|
|
69
|
-
- installs packaged agents into `~/.config/opencode/agents/`
|
|
70
|
-
- installs packaged skills into `~/.agents/skills/`
|
|
71
|
-
- installs Claude runtime assets into `~/.claude/`
|
|
72
|
-
- installs workflow files into `~/slopmachine/`
|
|
73
|
-
- installs scaffold playbooks into `~/slopmachine/scaffold-playbooks/`
|
|
74
|
-
- installs `~/slopmachine/test-coverage-prompt.md` for the final post-bugfix audit
|
|
75
|
-
- updates `~/.config/opencode/opencode.json`
|
|
76
|
-
- ensures packaged MCP entries for `context7` and `exa`
|
|
77
|
-
- optionally asks for an upload token if one is not already stored
|
|
78
|
-
|
|
79
|
-
Notes:
|
|
80
|
-
|
|
81
|
-
- existing upload token is preserved and setup skips that prompt when one already exists
|
|
82
|
-
- existing `context7` and `exa` entries are preserved if already configured
|
|
83
|
-
- package-managed assets are refreshed on rerun
|
|
84
|
-
- scaffold assets now include a shared Docker contract, family matrices, and concrete default playbooks under `~/slopmachine/scaffold-playbooks/`
|
|
85
|
-
|
|
86
|
-
Current scaffold inventory includes:
|
|
87
|
-
|
|
88
|
-
- shared Docker/runtime/test contract
|
|
89
|
-
- generic unknown-tech scaffold guide
|
|
90
|
-
- frontend, backend, database, platform, and overlay family matrices
|
|
91
|
-
- experimentally verified concrete playbooks for:
|
|
92
|
-
- React/Vite
|
|
93
|
-
- Vue/Vite
|
|
94
|
-
- Angular
|
|
95
|
-
- FastAPI
|
|
96
|
-
- Spring Boot
|
|
97
|
-
- Django
|
|
98
|
-
- Laravel
|
|
99
|
-
- Livewire
|
|
100
|
-
- Go/Chi
|
|
101
|
-
- Android Java Views
|
|
102
|
-
- Android Kotlin Compose
|
|
103
|
-
- Electron/Vite desktop
|
|
104
|
-
- Tauri desktop
|
|
105
|
-
- Expo iOS-on-Linux
|
|
106
|
-
- experimentally verified Linux partial-proof playbooks for:
|
|
107
|
-
- native Swift iOS
|
|
108
|
-
- native Objective-C iOS
|
|
109
|
-
|
|
110
|
-
These playbooks are baseline-only references. The redesigned workflow uses them to define the scaffold step at the start of development inside `plan.md` before the single broad implementation run continues.
|
|
111
|
-
|
|
112
|
-
### `slopmachine init`
|
|
113
|
-
|
|
114
|
-
Use this in a new or empty project directory to create a SlopMachine workspace.
|
|
23
|
+
`slopmachine install` installs bundled agents, Claude assets, shared skills, slopmachine prompt assets, utility scripts, and MCP config entries under the current user home.
|
|
115
24
|
|
|
116
|
-
|
|
117
|
-
mkdir my-project
|
|
118
|
-
cd my-project
|
|
119
|
-
slopmachine init
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Or open OpenCode immediately after bootstrap:
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
slopmachine init -o
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
To adopt an existing project into a SlopMachine workspace and request a later workflow starting phase:
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
slopmachine init --adopt --phase P3
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Equivalent smoother existing-project bootstrap:
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
slopmachine init --continue-from P3
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
What it creates:
|
|
141
|
-
|
|
142
|
-
- `repo/`
|
|
143
|
-
- `docs/`
|
|
144
|
-
- `.tmp/`
|
|
145
|
-
- `metadata.json`
|
|
146
|
-
- `.ai/metadata.json`
|
|
147
|
-
- `.ai/startup-context.md`
|
|
148
|
-
- hidden `.ai/worktrees/` for parallel git worktrees when used
|
|
149
|
-
- root `.beads/`
|
|
150
|
-
- `repo/AGENTS.md`
|
|
151
|
-
- `repo/CLAUDE.md`
|
|
152
|
-
- `repo/plan.md`
|
|
153
|
-
- `repo/.claude/settings.json`
|
|
154
|
-
- `repo/README.md`
|
|
155
|
-
- `docs/questions.md`
|
|
156
|
-
- `docs/design.md`
|
|
157
|
-
- `docs/api-spec.md`
|
|
158
|
-
- `docs/plan.md`
|
|
159
|
-
- `docs/test-coverage.md`
|
|
160
|
-
|
|
161
|
-
Important details:
|
|
162
|
-
|
|
163
|
-
- `run_id` is created in `.ai/metadata.json`
|
|
164
|
-
- the workspace root is the parent directory containing `repo/`
|
|
165
|
-
- parent-root `.tmp/` is the audit and fix-check artifact directory used during `P7`
|
|
166
|
-
- parent-root `.tmp/` also holds `test_coverage_and_readme_audit_report.md` after the final post-bugfix audit
|
|
167
|
-
- parent-root `metadata.json` is strict project metadata only and must contain exactly these keys: `prompt`, `project_type`, `frontend_language`, `backend_language`, `database`, `frontend_framework`, `backend_framework`
|
|
168
|
-
- `project_type` should use only `fullstack`, `backend`, `android`, `ios`, `desktop`, or `web` when known
|
|
169
|
-
- Beads lives in the workspace root, not inside `repo/`
|
|
170
|
-
- `repo/.claude/settings.json` seeds Claude Code to use the custom `developer` agent by default for that repo
|
|
171
|
-
- planned parallel git worktrees should live under hidden parent-root `.ai/worktrees/` by default so root-level `repo-lane-*` folders do not clutter the workspace
|
|
172
|
-
- when `P5` completes, the workflow moves `repo/plan.md` to parent-root `docs/plan.md`; packaging later validates that `repo/plan.md`, `repo/AGENTS.md`, and `repo/CLAUDE.md` are absent from the delivered `repo/`
|
|
173
|
-
- after non-`-o` bootstrap, the command prints the exact `cd repo` next step so you can continue immediately
|
|
174
|
-
- `--adopt` moves the current project files into `repo/`, preserves root workflow state in the parent workspace, and skips the automatic bootstrap commit
|
|
175
|
-
- `--continue-from <PX>` is a smoother alias for existing-project bootstrap; it implies adoption mode and seeds the requested start phase in one step
|
|
176
|
-
- if `--continue-from <PX>` is run while your current working directory is already the real project `repo/`, or if the explicit target path itself points at that `repo/` directory, SlopMachine automatically treats `..` as the workspace root and writes the workflow state there instead of creating `repo/repo`
|
|
177
|
-
- when a later start phase is seeded for adoption or recovery, the Beads workflow phases before that requested phase are created and immediately marked completed so tracker state matches the seeded entry point
|
|
178
|
-
- in the `slopmachine-claude` path, if adopted or resumed later-phase work has no recoverable tracked Claude developer session yet, the owner must launch and orient the needed Claude lane first and only then continue the substantive work in that same session
|
|
179
|
-
- `--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
|
|
180
|
-
- `repo/plan.md` is seeded at bootstrap and becomes the definitive repo-local execution checklist through planning, development, and `P5`; after `P5`, the preserved reference copy is `docs/plan.md`
|
|
181
|
-
|
|
182
|
-
### `slopmachine set-token`
|
|
183
|
-
|
|
184
|
-
Stores the upload token used by `send-data`.
|
|
25
|
+
## Commands
|
|
185
26
|
|
|
186
|
-
```
|
|
27
|
+
```sh
|
|
28
|
+
slopmachine --help
|
|
29
|
+
slopmachine install
|
|
30
|
+
slopmachine init <target-dir>
|
|
31
|
+
slopmachine init --claude <target-dir>
|
|
187
32
|
slopmachine set-token
|
|
188
33
|
```
|
|
189
34
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
- prompts for the plaintext upload token
|
|
193
|
-
- stores it in `~/.config/slopmachine/config.json`
|
|
194
|
-
- replaces an existing token if one is already stored
|
|
195
|
-
- does not validate the token over the network during entry
|
|
196
|
-
|
|
197
|
-
### `slopmachine send-data <owner-session-id>`
|
|
198
|
-
|
|
199
|
-
Exports workflow artifacts and uploads them to the configured Supabase endpoint.
|
|
200
|
-
|
|
201
|
-
```bash
|
|
202
|
-
slopmachine send-data <owner-session-id>
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
Supported options:
|
|
206
|
-
|
|
207
|
-
- `--dry-run`
|
|
208
|
-
- `--yes`
|
|
209
|
-
- `--label <text>`
|
|
210
|
-
- `--project-id <id>`
|
|
211
|
-
- `--output <path>`
|
|
212
|
-
- `--endpoint <url>`
|
|
213
|
-
|
|
214
|
-
Examples:
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
slopmachine send-data ses_abc123
|
|
218
|
-
slopmachine send-data ses_abc123 --dry-run
|
|
219
|
-
slopmachine send-data ses_abc123 --yes --label sprint-12
|
|
220
|
-
slopmachine send-data ses_abc123 --endpoint "https://<project-ref>.supabase.co/functions/v1/slopmachine-upload"
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
Where to run it:
|
|
224
|
-
|
|
225
|
-
- preferred: workspace root
|
|
226
|
-
- also supported: `repo/`
|
|
227
|
-
|
|
228
|
-
If run from `repo/`, the command resolves the parent workspace root automatically.
|
|
229
|
-
|
|
230
|
-
What it exports live:
|
|
231
|
-
|
|
232
|
-
- owner session from the positional `owner-session-id`
|
|
233
|
-
- developer sessions from `.ai/metadata.json`
|
|
234
|
-
- `beads-export.json` from root `.beads/`
|
|
235
|
-
|
|
236
|
-
What it includes when present:
|
|
237
|
-
|
|
238
|
-
- `.tmp/`
|
|
239
|
-
- `retrospective-<run_id>.md`
|
|
240
|
-
- `improvement-actions-<run_id>.md`
|
|
241
|
-
- `test_coverage_and_readme_audit_report.md`
|
|
242
|
-
|
|
243
|
-
What it always includes:
|
|
244
|
-
|
|
245
|
-
- `metadata.json`
|
|
246
|
-
- `ai-metadata.json`
|
|
247
|
-
- `manifest.json`
|
|
248
|
-
|
|
249
|
-
Fail-fast conditions:
|
|
250
|
-
|
|
251
|
-
- missing owner session id argument
|
|
252
|
-
- missing `.ai/metadata.json`
|
|
253
|
-
- missing `run_id`
|
|
254
|
-
- missing tracked developer session ids
|
|
255
|
-
- owner session export failure
|
|
256
|
-
- developer session export failure
|
|
257
|
-
|
|
258
|
-
Warn-only conditions:
|
|
259
|
-
|
|
260
|
-
- missing `.tmp/`
|
|
261
|
-
- missing retrospective files
|
|
262
|
-
|
|
263
|
-
Output behavior:
|
|
264
|
-
|
|
265
|
-
- creates a flat zip archive
|
|
266
|
-
- keeps the local zip by default
|
|
267
|
-
- default zip path:
|
|
268
|
-
- `~/slopmachine/retrospectives/send-data-<run_id>.zip`
|
|
269
|
-
- shows a preview before upload unless `--yes` is passed
|
|
35
|
+
Use `slopmachine init` to create or adopt a task root. By default it seeds `AGENTS.md` for OpenCode developer lanes. Use `slopmachine init --claude` to seed `CLAUDE.md` and `.claude/` for script-managed Claude Code lanes. The unused rulebook is not left in the task folder, and `../.ai/metadata.json` records the active `developer_rulebook_file`.
|
|
270
36
|
|
|
271
|
-
##
|
|
37
|
+
## Phase Map
|
|
272
38
|
|
|
273
|
-
|
|
39
|
+
The owner workflow uses sequential phase names:
|
|
274
40
|
|
|
275
|
-
-
|
|
41
|
+
- Phase 1: Clarification
|
|
42
|
+
- Phase 2: Planning
|
|
43
|
+
- Phase 3: Development
|
|
44
|
+
- Phase 4: Integrated Verification And Hardening
|
|
45
|
+
- Phase 5: Evaluation And Fix Verification
|
|
46
|
+
- Phase 6: Final Readiness Decision
|
|
47
|
+
- Phase 7: Submission Packaging
|
|
48
|
+
- Phase 8: Retrospective
|
|
276
49
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
```json
|
|
280
|
-
{
|
|
281
|
-
"upload": {
|
|
282
|
-
"endpoint": "https://<project-ref>.supabase.co/functions/v1/slopmachine-upload",
|
|
283
|
-
"token": "sm_u_...",
|
|
284
|
-
"timeoutMs": 30000
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
OpenCode config managed by setup:
|
|
290
|
-
|
|
291
|
-
- `~/.config/opencode/opencode.json`
|
|
292
|
-
|
|
293
|
-
Packaged MCPs managed by setup:
|
|
294
|
-
|
|
295
|
-
- `context7`
|
|
296
|
-
- `exa`
|
|
297
|
-
|
|
298
|
-
## Installed Assets
|
|
299
|
-
|
|
300
|
-
Agents:
|
|
301
|
-
|
|
302
|
-
- `~/.config/opencode/agents/slopmachine.md`
|
|
303
|
-
- `~/.config/opencode/agents/slopmachine-claude.md`
|
|
304
|
-
- `~/.config/opencode/agents/developer.md`
|
|
305
|
-
|
|
306
|
-
Skills:
|
|
307
|
-
|
|
308
|
-
- installed under `~/.agents/skills/`
|
|
309
|
-
|
|
310
|
-
Claude runtime assets:
|
|
311
|
-
|
|
312
|
-
- `~/.claude/agents/developer.md`
|
|
313
|
-
- `~/.claude/skills/frontend-design/`
|
|
314
|
-
|
|
315
|
-
Workflow files:
|
|
316
|
-
|
|
317
|
-
- installed under `~/slopmachine/`
|
|
318
|
-
- includes `~/slopmachine/test-coverage-prompt.md`
|
|
50
|
+
The CLI still accepts legacy start aliases where needed: `P1`, `P2`, `P3`, `P4`, `P5`, `P7`, `P8`, `P9`, and `P10`.
|
|
319
51
|
|
|
320
52
|
## Verification
|
|
321
53
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
```bash
|
|
54
|
+
```sh
|
|
55
|
+
npm run typecheck
|
|
325
56
|
npm run check
|
|
326
57
|
```
|
|
327
58
|
|
|
328
|
-
|
|
59
|
+
`npm run check` runs the TypeScript check and verifies the CLI help path.
|
|
329
60
|
|
|
330
|
-
|
|
331
|
-
slopmachine --help
|
|
332
|
-
slopmachine set-token
|
|
333
|
-
slopmachine setup
|
|
334
|
-
```
|
|
61
|
+
## Package Contents
|
|
335
62
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
63
|
+
- `src/`: CLI implementation
|
|
64
|
+
- `bin/`: executable entrypoint
|
|
65
|
+
- `assets/agents/`: OpenCode agents
|
|
66
|
+
- `assets/claude/`: Claude agents and Claude-specific skills
|
|
67
|
+
- `assets/skills/`: shared owner skills
|
|
68
|
+
- `assets/slopmachine/`: workflow prompts, templates, scaffold playbooks, and utility scripts
|
|
341
69
|
|
|
342
|
-
##
|
|
70
|
+
## Developer-Facing Boundaries
|
|
343
71
|
|
|
344
|
-
- the
|
|
345
|
-
- the owner session id is currently supplied manually to `send-data`
|
|
346
|
-
- developer session ids come from `.ai/metadata.json`
|
|
347
|
-
- broad workflow files and session exports live at workspace root, not inside `repo/`
|
|
72
|
+
Developer-facing prompts and rulebooks avoid owner workflow mechanics. They focus on good engineering practice: read the code, follow `AGENTS.md` or `CLAUDE.md`, implement real behavior, keep README claims honest, test meaningful behavior, avoid secrets, do not run Docker or `run_tests.sh` unless asked, and provide proof for completed work.
|
package/RELEASE.md
CHANGED
|
@@ -1,152 +1,10 @@
|
|
|
1
|
-
# Release
|
|
1
|
+
# Release Notes
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## v2 rebuild
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
2. Test install into an isolated fake home:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
SLOPMACHINE_HOME="$(pwd)/.tmp-home" SLOPMACHINE_NONINTERACTIVE=1 SLOPMACHINE_PLUGIN_BOOTSTRAP=0 node ./bin/slopmachine.js setup
|
|
15
|
-
```
|
|
16
|
-
|
|
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
|
-
|
|
19
|
-
Users can later refresh to the newest published package with:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
slopmachine upgrade
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
3. Test init into an isolated temp project:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
mkdir -p .tmp-project
|
|
29
|
-
SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init .tmp-project
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
4. Test the open-after-bootstrap path:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
mkdir -p .tmp-project-open
|
|
36
|
-
SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init -o .tmp-project-open
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
5. Test existing-project adoption bootstrap:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
mkdir -p .tmp-project-adopt
|
|
43
|
-
printf 'console.log("hello")\n' > .tmp-project-adopt/index.js
|
|
44
|
-
SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init --adopt --phase P3 .tmp-project-adopt
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
6. Test smoother existing-project bootstrap alias:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
mkdir -p .tmp-project-continue
|
|
51
|
-
printf 'console.log("hello")\n' > .tmp-project-continue/index.js
|
|
52
|
-
SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init --continue-from P3 .tmp-project-continue
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
7. Test `repo/` auto-wrap for `--continue-from`:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
mkdir -p .tmp-project-continue-parent/repo
|
|
59
|
-
printf 'console.log("hello")\n' > .tmp-project-continue-parent/repo/index.js
|
|
60
|
-
(cd .tmp-project-continue-parent/repo && SLOPMACHINE_HOME="$(pwd)/../../.tmp-home" node ../../../bin/slopmachine.js init --continue-from P3)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Note:
|
|
64
|
-
|
|
65
|
-
- `slopmachine init` is Node-driven.
|
|
66
|
-
- Workflow bootstrap is driven through the packaged Node helper `workflow-init.js`.
|
|
67
|
-
- before packing or publishing, make sure `git status --short` does not show junk artifacts such as `.DS_Store`, `__pycache__/`, or other accidental packaging noise
|
|
68
|
-
|
|
69
|
-
## Pack the npm package
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
npm pack
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
This should produce a tarball named like:
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
theslopmachine-<version>.tgz
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
`<version>` comes from `package.json`, which is the single package-version source of truth.
|
|
82
|
-
|
|
83
|
-
## Inspect package contents
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
tar -tzf theslopmachine-<version>.tgz
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Check that the tarball includes:
|
|
90
|
-
|
|
91
|
-
- `bin/`
|
|
92
|
-
- `src/`
|
|
93
|
-
- `assets/agents/`
|
|
94
|
-
- `assets/skills/`
|
|
95
|
-
- `assets/slopmachine/`
|
|
96
|
-
- `README.md`
|
|
97
|
-
- `RELEASE.md`
|
|
98
|
-
|
|
99
|
-
And specifically verify that the tarball includes the current workflow assets:
|
|
100
|
-
|
|
101
|
-
- `assets/agents/slopmachine.md`
|
|
102
|
-
- `assets/agents/slopmachine-claude.md`
|
|
103
|
-
- `assets/agents/developer.md`
|
|
104
|
-
- `assets/claude/agents/developer.md`
|
|
105
|
-
- `assets/skills/clarification-gate/`
|
|
106
|
-
- `assets/skills/claude-worker-management/`
|
|
107
|
-
- `assets/skills/planning-guidance/`
|
|
108
|
-
- `assets/skills/submission-packaging/`
|
|
109
|
-
- `assets/slopmachine/scaffold-playbooks/`
|
|
110
|
-
- 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
|
|
111
|
-
- `assets/slopmachine/templates/AGENTS.md`
|
|
112
|
-
- `assets/slopmachine/templates/CLAUDE.md`
|
|
113
|
-
- `assets/slopmachine/clarifier-agent-prompt.md`
|
|
114
|
-
- `assets/slopmachine/phase-1-design-prompt.md`
|
|
115
|
-
- `assets/slopmachine/phase-1-design-template.md`
|
|
116
|
-
- `assets/slopmachine/phase-2-execution-planning-prompt.md`
|
|
117
|
-
- `assets/slopmachine/owner-verification-checklist.md`
|
|
118
|
-
- `assets/slopmachine/exact-readme-template.md`
|
|
119
|
-
- `assets/slopmachine/workflow-init.js`
|
|
120
|
-
- `assets/slopmachine/utils/cleanup_delivery_artifacts.py`
|
|
121
|
-
- `assets/slopmachine/utils/package_claude_session.mjs`
|
|
122
|
-
- `assets/slopmachine/utils/prepare_strict_audit_workspace.mjs`
|
|
123
|
-
- `assets/slopmachine/utils/claude_wait_for_rate_limit_reset.mjs`
|
|
124
|
-
- `assets/slopmachine/utils/claude_wait_for_rate_limit_reset.sh`
|
|
125
|
-
- `assets/slopmachine/utils/claude_live_common.mjs`
|
|
126
|
-
- `assets/slopmachine/utils/claude_live_launch.mjs`
|
|
127
|
-
- `assets/slopmachine/utils/claude_live_turn.mjs`
|
|
128
|
-
- `assets/slopmachine/utils/claude_live_status.mjs`
|
|
129
|
-
- `assets/slopmachine/utils/claude_live_stop.mjs`
|
|
130
|
-
- `assets/slopmachine/utils/run_with_timeout.mjs`
|
|
131
|
-
- `assets/slopmachine/test-coverage-prompt.md`
|
|
132
|
-
|
|
133
|
-
## Publish
|
|
134
|
-
|
|
135
|
-
When ready to publish:
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
npm publish
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
If you want a dry run first:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
npm publish --dry-run
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Versioning
|
|
148
|
-
|
|
149
|
-
- `package.json` is the single package-version source of truth for the tarball name and CLI version banner
|
|
150
|
-
- bump `package.json` version before each release
|
|
151
|
-
- keep the CLI command as `slopmachine`
|
|
152
|
-
- keep the npm package name as `theslopmachine`
|
|
5
|
+
- Preserves the reference CLI/package behavior.
|
|
6
|
+
- Rebuilds owner agents around Phase 1 through Phase 8 terminology.
|
|
7
|
+
- Adds generic developer prompts for OpenCode and Claude.
|
|
8
|
+
- Adds task-root `AGENTS.md` and `CLAUDE.md` templates focused on product engineering practice.
|
|
9
|
+
- Includes Claude-specific worker skills and all required slopmachine utility scripts.
|
|
10
|
+
- Keeps legacy `P*` phase aliases for CLI compatibility.
|