steroids-cli 0.4.48 → 0.4.50

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/README.md CHANGED
@@ -31,12 +31,12 @@ Steroids is an AI-powered task orchestration system that automates software deve
31
31
  * [Key Features](#key-features)
32
32
  * [Project Structure](#project-structure)
33
33
  * [Quickstart](#quickstart)
34
+ * [Web Dashboard](#web-dashboard)
34
35
  * [CLI Commands](#cli-commands)
35
36
  * [Runner Daemon](#runner-daemon)
36
37
  * [Coordinator System](#coordinator-system)
37
38
  * [Disputes](#disputes)
38
39
  * [Hooks](#hooks)
39
- * [Web Dashboard](#web-dashboard)
40
40
  * [Configuration](#configuration)
41
41
  * [Quality & Safety](#quality--safety)
42
42
  * [The Suite](#the-suite)
@@ -205,6 +205,40 @@ Steroids processes tasks in order, looping coder/reviewer until completion or di
205
205
 
206
206
  ---
207
207
 
208
+ ## Web Dashboard
209
+
210
+ Steroids ships with a full web dashboard for monitoring tasks, runners, and project health.
211
+
212
+ On first run, `steroids web` clones the dashboard repository to `~/.steroids/webui/` and installs everything automatically. On subsequent runs, it pulls the latest version before launching — so you're always up to date.
213
+
214
+ ```bash
215
+ # Launch the dashboard (first run clones the repo, subsequent runs auto-update)
216
+ steroids web
217
+ ```
218
+
219
+ That's it. Open your browser at:
220
+
221
+ - **Web UI:** [http://localhost:3500](http://localhost:3500)
222
+ - **API:** [http://localhost:3501](http://localhost:3501)
223
+
224
+ ### Managing the Dashboard
225
+
226
+ | Command | Description |
227
+ |---------|-------------|
228
+ | `steroids web` | Launch the dashboard (auto-clones on first run, auto-updates on every run) |
229
+ | `steroids web stop` | Stop the dashboard |
230
+ | `steroids web status` | Check if the dashboard is running |
231
+
232
+ ### What You Get
233
+
234
+ - **Multi-project view** — See all registered projects at a glance
235
+ - **Task queues** — Pending, in-progress, review, completed
236
+ - **Runner status** — Active daemons with heartbeat monitoring
237
+ - **Audit trails** — Full history of every task state change
238
+ - **Configuration** — Edit project settings from the browser
239
+
240
+ ---
241
+
208
242
  ## CLI Commands
209
243
 
210
244
  ### Core Commands
@@ -424,43 +458,6 @@ Configure hooks in `.steroids/config.yaml` or manage via CLI.
424
458
 
425
459
  ---
426
460
 
427
- ## Web Dashboard
428
-
429
- Steroids includes a web dashboard for visual monitoring. It auto-clones on first run:
430
-
431
- ```bash
432
- # Launch the dashboard (clones repo to ~/.steroids/webui/ on first run)
433
- steroids web
434
-
435
- # Check status
436
- steroids web status
437
-
438
- # Pull latest changes and reinstall
439
- steroids web update
440
-
441
- # Stop the dashboard
442
- steroids web stop
443
-
444
- # Access at
445
- # Web UI: http://localhost:3500
446
- # API: http://localhost:3501
447
- ```
448
-
449
- | Command | Description |
450
- |---------|-------------|
451
- | `steroids web` | Clone (if needed) and launch WebUI + API |
452
- | `steroids web update` | Pull latest code and reinstall dependencies |
453
- | `steroids web stop` | Stop running WebUI and API processes |
454
- | `steroids web status` | Check if dashboard is running |
455
-
456
- ### Features
457
-
458
- - **Multi-project view** — See all registered projects
459
- - **Task queues** — Pending, in-progress, review, completed
460
- - **Runner status** — Active daemons with heartbeat
461
- - **Audit trails** — Full history of task state changes
462
- - **Configuration** — Edit project settings from the browser
463
-
464
461
  ---
465
462
 
466
463
  ## Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/commands/llm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8JnD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4HlF"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/commands/llm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAsOnD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4HlF"}
@@ -18,17 +18,88 @@ const LLM_INSTRUCTIONS = `# STEROIDS LLM QUICK REFERENCE
18
18
  Steroids=automated task orchestration system.
19
19
  It manages tasks and invokes LLM agents (coders/reviewers) to execute them.
20
20
  The system spawns separate LLM processes for coding and reviewing.
21
+ Deterministic daemon — never makes decisions, just follows the state machine.
21
22
 
22
- ## TASK FLOW
23
- pending → in_progress (coder works) → review (reviewer checks) → completed OR rejected→pending
24
- Runner daemon picks tasks and invokes appropriate LLM agents automatically.
23
+ ## TASK STATE MACHINE
24
+
25
+ ### All 8 Statuses
26
+
27
+ | Marker | Status | Terminal? | Runner picks it? | Description |
28
+ |--------|-------------|-----------|-------------------|------------------------------------------------|
29
+ | [ ] | pending | No | YES → coder | Not started, waiting for coder |
30
+ | [-] | in_progress | No | YES → coder | Coder is actively working |
31
+ | [o] | review | No | YES → reviewer | Coder finished, waiting for reviewer |
32
+ | [x] | completed | YES | No | Reviewer approved, code pushed |
33
+ | [!] | disputed | YES | No | Coder/reviewer disagreement, code pushed |
34
+ | [F] | failed | YES | No | Exceeded 15 rejections, needs human |
35
+ | [S] | skipped | YES | No | Fully external — nothing to code |
36
+ | [s] | partial | YES | No | Some coded, rest needs external setup |
37
+
38
+ CRITICAL: skipped [S] and partial [s] are TERMINAL states. The runner will NEVER
39
+ pick them up for coding. Once a task is marked partial/skipped, it is DONE from the
40
+ runner's perspective. If coding is still needed, reset to pending manually.
41
+
42
+ ### State Transitions
43
+
44
+ pending [ ] → in_progress [-] → review [o] → completed [x] (approved)
45
+ ↓ rejected → back to in_progress [-]
46
+ ↓ disputed → disputed [!] (code pushed, move on)
47
+ if 15 rejections → failed [F] (full stop)
48
+ Human can mark at any time → skipped [S] or partial [s] (terminal)
49
+
50
+ ### Coordinator Intervention
51
+ At rejection thresholds [2, 5, 9], a coordinator LLM is invoked to analyze the
52
+ rejection pattern and provide guidance to both coder and reviewer. This breaks
53
+ coder/reviewer deadlocks without human intervention.
54
+
55
+ ## TASK SELECTION ALGORITHM
56
+
57
+ Runner selects tasks in strict priority order:
58
+
59
+ Priority 1: review [o] — complete reviews before starting new work
60
+ Priority 2: in_progress [-] — resume incomplete work
61
+ Priority 3: pending [ ] — start new work
62
+
63
+ Within each priority, ordered by: section position (lower=first), then created_at (older=first).
64
+
65
+ ### Filters Applied Before Selection
66
+ 1. Terminal statuses excluded: completed, disputed, failed, skipped, partial
67
+ 2. Tasks in skipped sections excluded (unless runner focused on specific section)
68
+ 3. Tasks in sections with UNMET DEPENDENCIES excluded (see below)
69
+ 4. Tasks locked by another runner excluded
70
+
71
+ If no selectable task exists → runner goes idle.
72
+
73
+ ## SECTION DEPENDENCIES
74
+
75
+ Sections can declare dependencies on other sections:
76
+ steroids sections depends-on <A> <B> → Section A depends on Section B
77
+
78
+ Effect: ALL tasks in section B must be completed before ANY task in section A
79
+ can be picked by the runner. "Completed" means status=completed (not just
80
+ skipped/partial — those count as incomplete for dependency purposes).
81
+
82
+ Dependency checks:
83
+ - Cycle detection prevents circular dependencies
84
+ - Runner evaluates dependencies at task selection time
85
+ - Use \`steroids sections graph\` to visualize the dependency tree
86
+
87
+ Commands:
88
+ steroids sections depends-on <id> <dep-id> # add dependency
89
+ steroids sections no-depends-on <id> <dep-id> # remove dependency
90
+ steroids sections list --deps # show deps inline
91
+ steroids sections graph # ASCII dependency tree
92
+ steroids sections graph --mermaid # Mermaid syntax
93
+ steroids sections graph --json # JSON output
25
94
 
26
95
  ## ARCHITECTURE
27
- - Tasks stored in .steroids/steroids.db (per project)
96
+ - Tasks stored in .steroids/steroids.db (SQLite, per project)
28
97
  - Runner daemon executes the loop (one per project)
29
98
  - Coder LLM: implements task, commits, submits for review
30
99
  - Reviewer LLM: verifies implementation, approves or rejects
31
- - You (reading this): likely helping user manage/debug the system
100
+ - Coordinator LLM: breaks deadlocks at rejection thresholds [2, 5, 9]
101
+ - Build verification: orchestrator re-runs build+tests after coder submits
102
+ - If build/tests fail → auto-reject back to in_progress (coder fixes)
32
103
 
33
104
  ## MULTI-PROJECT
34
105
  - Multiple projects can have runners simultaneously
@@ -44,7 +115,7 @@ steroids tasks # pending tasks (current project)
44
115
  steroids tasks --status active # in_progress+review (current project)
45
116
  steroids tasks --status active --global # active across ALL projects
46
117
  steroids tasks --status all # all tasks
47
- steroids tasks audit <id> # view task spec, history, rejection notes
118
+ steroids tasks audit <id> # view task spec, history, rejection notes
48
119
 
49
120
  ### Add Tasks
50
121
  steroids tasks add "Title" --section <id> --source <spec-file>
@@ -79,8 +150,13 @@ steroids tasks skip <id> --partial --notes "reason" # coded some, rest e
79
150
 
80
151
  ### Sections
81
152
  steroids sections list # list sections
153
+ steroids sections list --deps # list with dependencies shown
82
154
  steroids sections skip <id> # exclude from runner
83
155
  steroids sections unskip <id> # include in runner
156
+ steroids sections priority <id> <val> # set priority (0-100 or high/medium/low)
157
+ steroids sections depends-on <A> <B> # A depends on B (B must complete first)
158
+ steroids sections no-depends-on <A> <B> # remove dependency
159
+ steroids sections graph # show dependency graph
84
160
 
85
161
  ### Runners (daemon that executes tasks)
86
162
  steroids runners list # all runners (all projects)
@@ -115,26 +191,22 @@ steroids tasks reject <id> --model human --notes "reason" # reject manually
115
191
  ### Restart failed task
116
192
  steroids tasks update <id> --status pending --reset-rejections # reset to pending with fresh count
117
193
 
194
+ ### Fix incorrectly marked partial/skipped tasks
195
+ steroids tasks update <id> --status pending --actor human:cli
196
+ # Use when: a task was marked partial/skipped but still needs coding
197
+
118
198
  ### Skip external setup task
119
199
  steroids tasks skip <id> --notes "spec says SKIP, needs Cloud SQL setup"
120
200
  # Use when: spec says SKIP/MANUAL, requires cloud console, account creation, etc.
121
201
  # --partial: use if you coded some parts but rest needs human action
122
202
 
123
- ## TASK STATES
124
- - pending: waiting to be picked up
125
- - in_progress: coder is working on it
126
- - review: coder submitted, waiting for reviewer
127
- - completed: approved by reviewer
128
- - skipped: fully external (Cloud SQL, manual setup) - human must do
129
- - partial: some coded, rest external - human must complete
130
- - failed: exceeded 15 rejections, needs human intervention
131
- - disputed: coder/reviewer disagreement, needs human resolution
132
-
133
203
  ## IMPORTANT NOTES
134
204
  - Task spec is in source file (see tasks audit output)
135
- - Max 15 rejections before task fails
205
+ - Max 15 rejections before task fails; coordinator intervenes at [2, 5, 9]
136
206
  - Runner auto-restarts via cron (steroids runners cron install)
137
207
  - Each project isolated: own database, own runner
208
+ - Section dependencies block entire sections, not individual tasks
209
+ - Build+test verification happens automatically after coder submits
138
210
  `;
139
211
  const HELP = (0, help_js_1.generateHelp)({
140
212
  command: 'llm',
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/commands/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/commands/llm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8JnD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmElF"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8JnD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFlF"}
@@ -157,6 +157,23 @@ async function webCommand(args, flags) {
157
157
  if (freshClone) {
158
158
  installAndBuild(out);
159
159
  }
160
+ else {
161
+ // Always pull latest before launching
162
+ out.log('Checking for updates...');
163
+ try {
164
+ const result = (0, node_child_process_1.execSync)('git pull', { cwd: WEB_DIR, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
165
+ if (result.includes('Already up to date')) {
166
+ out.log('Already up to date.');
167
+ }
168
+ else {
169
+ out.log('Updated. Reinstalling...');
170
+ installAndBuild(out);
171
+ }
172
+ }
173
+ catch {
174
+ out.log('Could not check for updates (offline?). Launching with current version.');
175
+ }
176
+ }
160
177
  launchProcesses(out);
161
178
  break;
162
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steroids-cli",
3
- "version": "0.4.48",
3
+ "version": "0.4.50",
4
4
  "description": "Automated task execution system with coder/reviewer loop",
5
5
  "main": "dist/index.js",
6
6
  "bin": {