@weldr/runr 0.3.1 → 0.7.2
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/CHANGELOG.md +150 -1
- package/README.md +124 -111
- package/dist/audit/classifier.js +331 -0
- package/dist/cli.js +593 -282
- package/dist/commands/audit.js +259 -0
- package/dist/commands/bundle.js +180 -0
- package/dist/commands/continue.js +276 -0
- package/dist/commands/doctor.js +430 -45
- package/dist/commands/hooks.js +352 -0
- package/dist/commands/init.js +368 -8
- package/dist/commands/intervene.js +109 -0
- package/dist/commands/journal.js +167 -0
- package/dist/commands/meta.js +245 -0
- package/dist/commands/mode.js +157 -0
- package/dist/commands/orchestrate.js +29 -0
- package/dist/commands/packs.js +47 -0
- package/dist/commands/preflight.js +8 -5
- package/dist/commands/resume.js +421 -3
- package/dist/commands/run.js +63 -4
- package/dist/commands/status.js +47 -0
- package/dist/commands/submit.js +374 -0
- package/dist/config/schema.js +61 -1
- package/dist/diagnosis/analyzer.js +86 -1
- package/dist/diagnosis/formatter.js +3 -0
- package/dist/diagnosis/index.js +1 -0
- package/dist/diagnosis/stop-explainer.js +267 -0
- package/dist/diagnostics/stop-explainer.js +267 -0
- package/dist/guards/checkpoint.js +119 -0
- package/dist/journal/builder.js +497 -0
- package/dist/journal/redactor.js +68 -0
- package/dist/journal/renderer.js +220 -0
- package/dist/journal/types.js +7 -0
- package/dist/orchestrator/artifacts.js +17 -2
- package/dist/orchestrator/receipt.js +304 -0
- package/dist/output/stop-footer.js +185 -0
- package/dist/packs/actions.js +176 -0
- package/dist/packs/loader.js +200 -0
- package/dist/packs/renderer.js +46 -0
- package/dist/receipt/intervention.js +465 -0
- package/dist/receipt/writer.js +296 -0
- package/dist/redaction/redactor.js +95 -0
- package/dist/repo/context.js +147 -20
- package/dist/review/check-parser.js +211 -0
- package/dist/store/checkpoint-metadata.js +111 -0
- package/dist/store/run-store.js +21 -0
- package/dist/supervisor/runner.js +161 -10
- package/dist/tasks/task-metadata.js +74 -1
- package/dist/ux/brain.js +528 -0
- package/dist/ux/render.js +123 -0
- package/dist/ux/safe-commands.js +133 -0
- package/dist/ux/state.js +193 -0
- package/dist/ux/telemetry.js +110 -0
- package/package.json +5 -1
- package/packs/pr/pack.json +50 -0
- package/packs/pr/templates/AGENTS.md.tmpl +120 -0
- package/packs/pr/templates/CLAUDE.md.tmpl +101 -0
- package/packs/pr/templates/bundle.md.tmpl +27 -0
- package/packs/solo/pack.json +82 -0
- package/packs/solo/templates/AGENTS.md.tmpl +80 -0
- package/packs/solo/templates/CLAUDE.md.tmpl +126 -0
- package/packs/solo/templates/bundle.md.tmpl +27 -0
- package/packs/solo/templates/claude-cmd-bundle.md.tmpl +40 -0
- package/packs/solo/templates/claude-cmd-resume.md.tmpl +43 -0
- package/packs/solo/templates/claude-cmd-submit.md.tmpl +51 -0
- package/packs/solo/templates/claude-skill.md.tmpl +96 -0
- package/packs/trunk/pack.json +50 -0
- package/packs/trunk/templates/AGENTS.md.tmpl +87 -0
- package/packs/trunk/templates/CLAUDE.md.tmpl +126 -0
- package/packs/trunk/templates/bundle.md.tmpl +27 -0
- package/dist/commands/__tests__/report.test.js +0 -202
- package/dist/config/__tests__/presets.test.js +0 -104
- package/dist/context/__tests__/artifact.test.js +0 -130
- package/dist/context/__tests__/pack.test.js +0 -191
- package/dist/env/__tests__/fingerprint.test.js +0 -116
- package/dist/orchestrator/__tests__/policy.test.js +0 -185
- package/dist/orchestrator/__tests__/schema-version.test.js +0 -65
- package/dist/supervisor/__tests__/evidence-gate.test.js +0 -111
- package/dist/supervisor/__tests__/ownership.test.js +0 -103
- package/dist/supervisor/__tests__/state-machine.test.js +0 -290
- package/dist/workers/__tests__/claude.test.js +0 -88
- package/dist/workers/__tests__/codex.test.js +0 -81
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,152 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.7.0] - 2026-01-06
|
|
11
|
+
|
|
12
|
+
**Hybrid Workflow Foundation** - Productivity + Auditability together.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **runr intervene** - Record manual work with provenance
|
|
17
|
+
- SHA anchoring with `--since` for retroactive attribution
|
|
18
|
+
- Commit linking with `--commit` and `--amend-last`
|
|
19
|
+
- Command output capture with redaction
|
|
20
|
+
- Flow/Ledger mode awareness
|
|
21
|
+
|
|
22
|
+
- **runr audit** - View project history by classification
|
|
23
|
+
- Classifications: CHECKPOINT, INTERVENTION, INFERRED, ATTRIBUTED, GAP
|
|
24
|
+
- Coverage reporting with `--coverage`
|
|
25
|
+
- CI thresholds with `--fail-under` and `--fail-under-with-inferred`
|
|
26
|
+
- Strict mode with `--strict`
|
|
27
|
+
|
|
28
|
+
- **runr mode** - Switch between Flow and Ledger modes
|
|
29
|
+
- Flow mode: productivity-first, flexible interventions
|
|
30
|
+
- Ledger mode: audit-first, stricter controls
|
|
31
|
+
|
|
32
|
+
- **Redaction** - Automatic secret removal from receipts
|
|
33
|
+
- Detects tokens, API keys, passwords, credentials
|
|
34
|
+
- Pattern-based with configurable behavior
|
|
35
|
+
|
|
36
|
+
- **Review Loop Diagnostics** - Actionable guidance when runs stop
|
|
37
|
+
- Explains why review loops were detected
|
|
38
|
+
- Suggests specific fixes based on timeline analysis
|
|
39
|
+
- Identifies unmet verification requirements
|
|
40
|
+
|
|
41
|
+
- **Inferred Attribution** - Reduce audit gaps automatically
|
|
42
|
+
- Commits within intervention SHA ranges classified as inferred
|
|
43
|
+
- Both explicit and inferred coverage tracked
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
|
|
47
|
+
- Intervention receipts now include SHA anchors (base_sha, head_sha)
|
|
48
|
+
- Audit shows dual coverage: explicit vs with-inferred
|
|
49
|
+
- Config schema extended for receipts and workflow mode
|
|
50
|
+
|
|
51
|
+
### Documentation
|
|
52
|
+
|
|
53
|
+
- New: Hybrid Workflow Guide (`docs/hybrid-workflow-guide.md`)
|
|
54
|
+
- New: Intervention Patterns (`docs/examples/intervention-patterns.md`)
|
|
55
|
+
|
|
56
|
+
## [0.6.0] - 2026-01-06
|
|
57
|
+
|
|
58
|
+
**Meta-Agent UX Sprint** — Smoother onboarding and smarter defaults.
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
- **Runr Meta-Agent**: Built-in `runr meta` helper for agent workflow guidance
|
|
63
|
+
- **Claude Auto-Setup**: `--with-claude` flag wires CLAUDE.md scaffolding during init
|
|
64
|
+
- **Claude Templates**: `.claude/` template library for repeatable agent prompts
|
|
65
|
+
- **Enhanced Doctor**: Deeper diagnostics and clearer remediation in `runr doctor`
|
|
66
|
+
|
|
67
|
+
## [0.5.0] - 2026-01-05
|
|
68
|
+
|
|
69
|
+
**Solo Workflow** — Effortless dev→main checkpoints with automated safety.
|
|
70
|
+
|
|
71
|
+
### Added
|
|
72
|
+
|
|
73
|
+
- **Workflow System**: Three profiles (solo/pr/trunk) with bundle→submit integration
|
|
74
|
+
- `runr bundle <run_id>` — Generate deterministic markdown evidence packet
|
|
75
|
+
- `runr submit <run_id> --to <branch>` — Cherry-pick verified checkpoint to target branch
|
|
76
|
+
- Submit validation: clean tree, terminal state, verification evidence required
|
|
77
|
+
- Conflict handling: clean abort with diagnostic timeline event
|
|
78
|
+
- `--dry-run` mode for safe preview before integration
|
|
79
|
+
|
|
80
|
+
- **Workflow Packs**: One-command scaffolding for complete workflow setup
|
|
81
|
+
- `runr init --pack solo` — Dev branch workflow (dev → main, no PR)
|
|
82
|
+
- `runr init --pack trunk` — Trunk-based development (main only)
|
|
83
|
+
- `runr init --pack pr` — Pull request workflow (feature → main via PR)
|
|
84
|
+
- `runr packs` — List available packs
|
|
85
|
+
- Auto-generated `AGENTS.md` and `CLAUDE.md` with workflow-specific guidance
|
|
86
|
+
- Pack templates with variable substitution (project name, verification commands, branches)
|
|
87
|
+
|
|
88
|
+
- **Auto .gitignore Setup**: Packs automatically add runtime artifact entries
|
|
89
|
+
- `.runr/runs/` (runtime state)
|
|
90
|
+
- `.runr-worktrees/` (isolated worktrees)
|
|
91
|
+
- `.runr/orchestrations/` (orchestration artifacts)
|
|
92
|
+
- Keeps `.runr/runr.config.json` and `.runr/tasks/*.md` tracked
|
|
93
|
+
|
|
94
|
+
- **Meta-Agent Safety Contract**: Behavioral guardrails for agents driving Runr
|
|
95
|
+
- Rule 1: Never delete on dirty tree
|
|
96
|
+
- Rule 2: Never delete outside `.runr/` without explicit file list
|
|
97
|
+
- Rule 3: Must end with bundle + dry-run
|
|
98
|
+
- Embedded in pack templates (`CLAUDE.md`)
|
|
99
|
+
|
|
100
|
+
- **90-Second Demo**: `dogfood/hello-world/` minimal example
|
|
101
|
+
- Complete walkthrough in README
|
|
102
|
+
- Shows full workflow: init → run → bundle → submit
|
|
103
|
+
- Pre-initialized with solo pack
|
|
104
|
+
|
|
105
|
+
### Documentation
|
|
106
|
+
|
|
107
|
+
- **Solo Workflow Example**: Canonical copy-paste reference ([docs/examples/solo-workflow.md](docs/examples/solo-workflow.md))
|
|
108
|
+
- Complete 6-step workflow loop
|
|
109
|
+
- Meta-agent integration patterns (Mode A/B)
|
|
110
|
+
- .gitignore policy explained
|
|
111
|
+
- Troubleshooting section
|
|
112
|
+
- Quick reference card
|
|
113
|
+
|
|
114
|
+
- **Comprehensive Documentation Overhaul**:
|
|
115
|
+
- [Workflow Guide](docs/workflow-guide.md) — Bundle/submit/integration workflows
|
|
116
|
+
- [Packs User Guide](docs/packs-user-guide.md) — Choosing and using packs
|
|
117
|
+
- [Safety Guide](docs/safety-guide.md) — All guard mechanisms documented
|
|
118
|
+
- Updated [CLI Reference](docs/cli.md) with bundle/submit/packs commands
|
|
119
|
+
- Updated [Configuration](docs/configuration.md) with workflow config section
|
|
120
|
+
|
|
121
|
+
### Changed
|
|
122
|
+
|
|
123
|
+
- `runr init` with pack now creates workflow-ready project instead of minimal config
|
|
124
|
+
- Pack templates replace legacy example task files
|
|
125
|
+
- README.md now features 90-second demo and solo workflow reference
|
|
126
|
+
|
|
127
|
+
### Fixed
|
|
128
|
+
|
|
129
|
+
- Documentation gaps: bundle/submit/packs were shipped but undocumented
|
|
130
|
+
- Legacy `.agent/` references throughout documentation
|
|
131
|
+
- Missing .gitignore guidance caused confusion about what to commit
|
|
132
|
+
|
|
133
|
+
## [0.4.0] - 2026-01-03
|
|
134
|
+
|
|
135
|
+
**Case Files** — Every run leaves a machine-readable journal.
|
|
136
|
+
|
|
137
|
+
### Added
|
|
138
|
+
|
|
139
|
+
- **Case Files**: Auto-generated `journal.md` + `journal.json` for every run
|
|
140
|
+
- Schema v1.0 with immutable facts (timestamps, milestones, verification attempts)
|
|
141
|
+
- Living data (append-only notes)
|
|
142
|
+
- Secret redaction in error excerpts
|
|
143
|
+
- Warnings array captures all extraction issues
|
|
144
|
+
- **CLI Commands**:
|
|
145
|
+
- `runr journal [run_id]` — Generate and display journal (defaults to latest)
|
|
146
|
+
- `runr note <message> [--run-id]` — Add timestamped note (defaults to latest)
|
|
147
|
+
- `runr open [run_id]` — Open journal in $EDITOR (defaults to latest)
|
|
148
|
+
- **Auto-generation**: Journals written on run completion (stop or finish)
|
|
149
|
+
- **Non-interactive safety**: `runr open` fails cleanly in CI or when $EDITOR unset
|
|
150
|
+
|
|
151
|
+
### Fixed
|
|
152
|
+
|
|
153
|
+
- **Package bloat**: Excluded test files from npm package (81 → 69 files)
|
|
154
|
+
- **Deprecation warnings**: Replaced deprecated `getRunsRoot()` with `getRunrPaths().runs_dir`
|
|
155
|
+
|
|
10
156
|
## [0.3.0] - 2026-01-01
|
|
11
157
|
|
|
12
158
|
**Renamed to Runr.** New identity, same reliability-first mission.
|
|
@@ -208,7 +354,10 @@ Initial stable release with full dual-LLM orchestration and autonomy features.
|
|
|
208
354
|
- Worktree strategy documentation
|
|
209
355
|
- CLI reference
|
|
210
356
|
|
|
211
|
-
[Unreleased]: https://github.com/vonwao/runr/compare/v0.
|
|
357
|
+
[Unreleased]: https://github.com/vonwao/runr/compare/v0.6.0...HEAD
|
|
358
|
+
[0.6.0]: https://github.com/vonwao/runr/compare/v0.5.0...v0.6.0
|
|
359
|
+
[0.5.0]: https://github.com/vonwao/runr/compare/v0.4.0...v0.5.0
|
|
360
|
+
[0.4.0]: https://github.com/vonwao/runr/compare/v0.3.0...v0.4.0
|
|
212
361
|
[0.3.0]: https://github.com/vonwao/runr/compare/v0.2.2...v0.3.0
|
|
213
362
|
[0.2.2]: https://github.com/vonwao/runr/compare/v0.2.1...v0.2.2
|
|
214
363
|
[0.2.1]: https://github.com/vonwao/runr/compare/v0.2.0...v0.2.1
|
package/README.md
CHANGED
|
@@ -1,27 +1,80 @@
|
|
|
1
1
|
# Runr
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> Autopilot for AI-driven dev work: run tasks end-to-end, and when something breaks, stop cleanly with the next 3 best actions.
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Try it (2 minutes)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @weldr/runr
|
|
11
|
+
runr init --demo
|
|
12
|
+
cd runr-demo
|
|
13
|
+
npm install
|
|
14
|
+
|
|
15
|
+
# Task 1: success
|
|
16
|
+
runr run --task .runr/tasks/00-success.md
|
|
17
|
+
runr report latest
|
|
18
|
+
|
|
19
|
+
# Task 2: failure + recovery
|
|
20
|
+
runr run --task .runr/tasks/01-intentional-fail.md
|
|
21
|
+
runr # shows STOPPED + 3 next actions
|
|
22
|
+
runr continue
|
|
23
|
+
runr report latest
|
|
24
|
+
|
|
25
|
+
# Task 3: scope guard (expected to stop)
|
|
26
|
+
runr run --task .runr/tasks/02-scope-violation.md
|
|
27
|
+
# STOPPED: scope guard. Runr tells you what to do.
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The demo creates a self-contained TypeScript project with three tasks: success, a failure that stops with next actions (then `continue`), and a scope guard stop.
|
|
31
|
+
|
|
32
|
+
**Runr is language-agnostic.** The demo is JS/TS because it's the fastest proof. Other languages work by swapping verification commands (e.g., `pytest -q` for Python, `go test ./...` for Go).
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## In your own repo
|
|
10
37
|
|
|
11
38
|
```bash
|
|
12
39
|
npm install -g @weldr/runr
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
40
|
+
runr init --pack solo
|
|
41
|
+
|
|
42
|
+
# Start work
|
|
43
|
+
runr run --task .runr/tasks/example-task.md
|
|
44
|
+
|
|
45
|
+
# If it stops, do the obvious next thing
|
|
46
|
+
runr continue
|
|
47
|
+
|
|
48
|
+
# Inspect what happened
|
|
49
|
+
runr report latest
|
|
16
50
|
```
|
|
17
51
|
|
|
18
|
-
|
|
52
|
+
## What happens when it fails
|
|
53
|
+
|
|
54
|
+
Runr doesn't "keep going and hope." It stops with receipts and 3 next actions you can trust:
|
|
55
|
+
|
|
56
|
+
- **continue** — auto-fix what's safe, then resume
|
|
57
|
+
- **report** — open the run receipt: diffs + logs + timeline
|
|
58
|
+
- **intervene** — record manual fixes so they don't become black holes
|
|
59
|
+
|
|
60
|
+
That's the whole UX: keep momentum, keep receipts, never lose your place.
|
|
19
61
|
|
|
20
|
-
|
|
62
|
+
## The mental model
|
|
21
63
|
|
|
22
|
-
|
|
64
|
+
- **Autopilot:** run work in milestones with phase gates (plan → implement → verify → review)
|
|
65
|
+
- **Recovery:** save checkpoints so you can resume from the last verified state
|
|
66
|
+
- **Runs:** capture diffs, verification logs, and interventions automatically
|
|
23
67
|
|
|
24
|
-
##
|
|
68
|
+
## Quick links
|
|
69
|
+
|
|
70
|
+
- [Why Runr?](docs/why-runr.md)
|
|
71
|
+
- [Hybrid Workflow](docs/hybrid-workflow-guide.md)
|
|
72
|
+
- [CLI Reference](docs/cli.md)
|
|
73
|
+
- [Configuration](docs/configuration.md)
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## How it works
|
|
25
78
|
|
|
26
79
|
Runr orchestrates AI workers through phase gates with checkpoints:
|
|
27
80
|
|
|
@@ -30,93 +83,72 @@ PLAN → IMPLEMENT → VERIFY → REVIEW → CHECKPOINT → done
|
|
|
30
83
|
↑___________| (retry if verification fails)
|
|
31
84
|
```
|
|
32
85
|
|
|
33
|
-
- **Phase gates
|
|
34
|
-
- **Checkpoints
|
|
35
|
-
- **Stop handoffs
|
|
36
|
-
- **Scope guards
|
|
86
|
+
- **Phase gates:** the agent can't skip verification or claim false success
|
|
87
|
+
- **Checkpoints:** verified milestones are saved as git commits
|
|
88
|
+
- **Stop handoffs:** structured diagnostics with next actions
|
|
89
|
+
- **Scope guards:** files outside scope are protected
|
|
37
90
|
|
|
38
|
-
> **Status**: v0.
|
|
91
|
+
> **Status**: v0.7.x — Hybrid workflow with provenance tracking. Early, opinionated, evolving.
|
|
39
92
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
**The easiest way to use Runr:** Let your coding agent drive it.
|
|
43
|
-
|
|
44
|
-
Runr works as a **reliable execution backend**. Instead of learning CLI commands, your agent (Claude Code, Codex, etc.) operates Runr for you — handling runs, interpreting failures, and resuming from checkpoints.
|
|
93
|
+
---
|
|
45
94
|
|
|
46
|
-
|
|
95
|
+
## Try it: Hello World
|
|
47
96
|
|
|
48
97
|
```bash
|
|
49
|
-
|
|
50
|
-
npm install
|
|
51
|
-
|
|
52
|
-
# 2. Verify environment
|
|
53
|
-
runr doctor
|
|
54
|
-
|
|
55
|
-
# 3. Create minimal config
|
|
56
|
-
mkdir -p .runr/tasks
|
|
57
|
-
cat > .runr/runr.config.json << 'EOF'
|
|
58
|
-
{
|
|
59
|
-
"agent": { "name": "my-project", "version": "1" },
|
|
60
|
-
"scope": {
|
|
61
|
-
"presets": ["typescript", "vitest"]
|
|
62
|
-
},
|
|
63
|
-
"verification": {
|
|
64
|
-
"tier0": ["npm run typecheck"],
|
|
65
|
-
"tier1": ["npm test"]
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
EOF
|
|
98
|
+
cd dogfood/hello-world
|
|
99
|
+
npm install
|
|
100
|
+
runr run --task .runr/tasks/add-farewell.md --worktree
|
|
69
101
|
```
|
|
70
102
|
|
|
71
|
-
|
|
103
|
+
Complete walkthrough in [dogfood/hello-world/README.md](dogfood/hello-world/README.md).
|
|
72
104
|
|
|
73
|
-
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Meta-Agent Mode
|
|
74
108
|
|
|
75
|
-
|
|
109
|
+
**The easiest way to use Runr:** one command, zero ceremony.
|
|
76
110
|
|
|
77
|
-
|
|
78
|
-
1. Create a task file (`.runr/tasks/add-auth.md`)
|
|
79
|
-
2. Run `runr run --task ... --worktree`
|
|
80
|
-
3. Monitor progress with `runr status`
|
|
81
|
-
4. Handle failures, resume from checkpoints
|
|
82
|
-
5. Report results with commit links
|
|
111
|
+
Best for: longer tasks, multiple milestones, and hands-off recovery.
|
|
83
112
|
|
|
84
|
-
**
|
|
113
|
+
Runr works as a **reliable execution backend** for meta-agents (Claude Code, Codex CLI). The meta-agent operates Runr for you — handling runs, interpreting failures, and resuming from checkpoints.
|
|
85
114
|
|
|
86
|
-
|
|
115
|
+
```bash
|
|
116
|
+
# Initialize with Claude Code integration
|
|
117
|
+
runr init --pack solo --with-claude
|
|
87
118
|
|
|
88
|
-
|
|
89
|
-
|
|
119
|
+
# Launch meta-agent with workflow context
|
|
120
|
+
runr meta
|
|
121
|
+
```
|
|
90
122
|
|
|
91
|
-
|
|
92
|
-
-
|
|
123
|
+
The agent will automatically:
|
|
124
|
+
- Follow workflow rules from `AGENTS.md`
|
|
125
|
+
- Use safety playbooks from `.claude/skills/runr-workflow`
|
|
126
|
+
- Have `/runr-bundle`, `/runr-submit`, `/runr-resume` slash commands available
|
|
93
127
|
|
|
94
|
-
|
|
128
|
+
Tip: start from a clean tree. `runr meta` blocks if you have uncommitted changes.
|
|
95
129
|
|
|
96
130
|
---
|
|
97
131
|
|
|
98
|
-
##
|
|
132
|
+
## Direct CLI Usage
|
|
133
|
+
|
|
134
|
+
Tip: start from a clean tree (commit or stash first).
|
|
99
135
|
|
|
100
136
|
```bash
|
|
101
137
|
# Install
|
|
102
138
|
npm install -g @weldr/runr
|
|
103
139
|
|
|
104
|
-
# Initialize
|
|
140
|
+
# Initialize
|
|
105
141
|
cd /your/project
|
|
106
|
-
runr init
|
|
142
|
+
runr init --pack solo
|
|
107
143
|
|
|
108
144
|
# Run a task
|
|
109
145
|
runr run --task .runr/tasks/example-feature.md --worktree
|
|
110
146
|
|
|
111
|
-
#
|
|
112
|
-
runr
|
|
113
|
-
|
|
114
|
-
# Get machine-readable diagnostics
|
|
115
|
-
runr summarize <run_id>
|
|
116
|
-
# Output: .runr/runs/<run_id>/handoffs/stop.json
|
|
147
|
+
# Submit verified checkpoint
|
|
148
|
+
runr submit <run_id> --to dev
|
|
117
149
|
```
|
|
118
150
|
|
|
119
|
-
|
|
151
|
+
---
|
|
120
152
|
|
|
121
153
|
## Configuration
|
|
122
154
|
|
|
@@ -132,13 +164,15 @@ Create `.runr/runr.config.json`:
|
|
|
132
164
|
},
|
|
133
165
|
"verification": {
|
|
134
166
|
"tier0": ["npm run typecheck"],
|
|
135
|
-
"tier1": ["npm
|
|
136
|
-
"tier2": ["npm
|
|
167
|
+
"tier1": ["npm test"],
|
|
168
|
+
"tier2": ["npm run build"]
|
|
137
169
|
}
|
|
138
170
|
}
|
|
139
171
|
```
|
|
140
172
|
|
|
141
|
-
|
|
173
|
+
Tiers run from fast → slow. Keep `tier0` as a quick sanity check.
|
|
174
|
+
|
|
175
|
+
### Scope presets
|
|
142
176
|
|
|
143
177
|
Don't write patterns by hand:
|
|
144
178
|
|
|
@@ -152,30 +186,25 @@ Don't write patterns by hand:
|
|
|
152
186
|
|
|
153
187
|
Available: `nextjs`, `react`, `drizzle`, `prisma`, `vitest`, `jest`, `playwright`, `typescript`, `tailwind`, `eslint`, `env`
|
|
154
188
|
|
|
189
|
+
---
|
|
190
|
+
|
|
155
191
|
## CLI Reference
|
|
156
192
|
|
|
157
193
|
| Command | What it does |
|
|
158
194
|
|---------|--------------|
|
|
159
|
-
| `runr
|
|
195
|
+
| `runr` | Show status and next actions |
|
|
160
196
|
| `runr run --task <file>` | Start a task |
|
|
161
|
-
| `runr
|
|
162
|
-
| `runr
|
|
163
|
-
| `runr
|
|
164
|
-
| `runr
|
|
165
|
-
| `runr
|
|
166
|
-
| `runr
|
|
167
|
-
| `runr
|
|
197
|
+
| `runr continue` | Do the next obvious thing |
|
|
198
|
+
| `runr report <id>` | View run receipt: diffs, logs, timeline |
|
|
199
|
+
| `runr resume <id>` | Resume from checkpoint |
|
|
200
|
+
| `runr intervene <id>` | Record manual work |
|
|
201
|
+
| `runr submit <id> --to <branch>` | Submit verified checkpoint |
|
|
202
|
+
| `runr meta` | Launch meta-agent with workflow context |
|
|
203
|
+
| `runr init` | Initialize Runr in a repo |
|
|
204
|
+
| `runr runs bundle <id>` | Generate evidence bundle |
|
|
205
|
+
| `runr tools doctor` | Check environment health |
|
|
168
206
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
Same functionality, different vibe:
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
runr summon --task task.md # run
|
|
175
|
-
runr resurrect <id> # resume
|
|
176
|
-
runr scry <id> # status
|
|
177
|
-
runr banish # gc
|
|
178
|
-
```
|
|
207
|
+
---
|
|
179
208
|
|
|
180
209
|
## Task Files
|
|
181
210
|
|
|
@@ -197,6 +226,8 @@ OAuth2 login with Google.
|
|
|
197
226
|
- Session persists across refreshes
|
|
198
227
|
```
|
|
199
228
|
|
|
229
|
+
---
|
|
230
|
+
|
|
200
231
|
## Stop Reasons
|
|
201
232
|
|
|
202
233
|
When Runr stops, it tells you why:
|
|
@@ -209,7 +240,9 @@ When Runr stops, it tells you why:
|
|
|
209
240
|
| `review_loop_detected` | Reviewer kept requesting same changes |
|
|
210
241
|
| `time_budget_exceeded` | Ran out of time |
|
|
211
242
|
|
|
212
|
-
Every stop produces
|
|
243
|
+
Every stop produces structured diagnostics with next actions.
|
|
244
|
+
|
|
245
|
+
---
|
|
213
246
|
|
|
214
247
|
## Philosophy
|
|
215
248
|
|
|
@@ -221,15 +254,7 @@ This isn't a code generator. It orchestrates generators.
|
|
|
221
254
|
|
|
222
255
|
Agents lie. Logs don't. If it can't prove it, it didn't do it.
|
|
223
256
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
| Old | New |
|
|
227
|
-
|-----|-----|
|
|
228
|
-
| `agent` CLI | `runr` CLI |
|
|
229
|
-
| `.agent/` directory | `.runr/` directory |
|
|
230
|
-
| `agent.config.json` | `runr.config.json` |
|
|
231
|
-
| `.agent-worktrees/` | `.runr-worktrees/` |
|
|
232
|
-
Old paths still work for now, with deprecation warnings.
|
|
257
|
+
---
|
|
233
258
|
|
|
234
259
|
## Development
|
|
235
260
|
|
|
@@ -239,18 +264,6 @@ npm test # run tests
|
|
|
239
264
|
npm run dev -- run --task task.md # run from source
|
|
240
265
|
```
|
|
241
266
|
|
|
242
|
-
## Release History
|
|
243
|
-
|
|
244
|
-
| Version | Date | Highlights |
|
|
245
|
-
|---------|------|------------|
|
|
246
|
-
| v0.3.0 | **Renamed to Runr**, new CLI, new directory structure |
|
|
247
|
-
| v0.2.2 | Worktree location fix, guard diagnostics |
|
|
248
|
-
| v0.2.1 | Scope presets, review digest |
|
|
249
|
-
| v0.2.0 | Review loop detection |
|
|
250
|
-
| v0.1.0 | Initial stable release |
|
|
251
|
-
|
|
252
|
-
See [CHANGELOG.md](CHANGELOG.md) for details.
|
|
253
|
-
|
|
254
267
|
## Contributing
|
|
255
268
|
|
|
256
269
|
See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
@@ -261,4 +274,4 @@ Apache 2.0 — See [LICENSE](LICENSE).
|
|
|
261
274
|
|
|
262
275
|
---
|
|
263
276
|
|
|
264
|
-
<sub>
|
|
277
|
+
<sub>Shipping beats rerunning the same milestone twice.</sub>
|