solveos-cli 0.1.0
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/LICENSE +21 -0
- package/README.md +194 -0
- package/agents/solveos-build-validator.md +183 -0
- package/agents/solveos-debugger.md +226 -0
- package/agents/solveos-executor.md +187 -0
- package/agents/solveos-plan-validator.md +200 -0
- package/agents/solveos-planner.md +190 -0
- package/agents/solveos-researcher.md +152 -0
- package/agents/solveos-reviewer.md +263 -0
- package/commands/solveos/archive.md +106 -0
- package/commands/solveos/build.md +170 -0
- package/commands/solveos/fast.md +85 -0
- package/commands/solveos/new-cycle.md +165 -0
- package/commands/solveos/new.md +142 -0
- package/commands/solveos/next.md +86 -0
- package/commands/solveos/plan.md +139 -0
- package/commands/solveos/quick.md +109 -0
- package/commands/solveos/research.md +117 -0
- package/commands/solveos/review.md +198 -0
- package/commands/solveos/ship.md +129 -0
- package/commands/solveos/status.md +78 -0
- package/commands/solveos/validate-build.md +155 -0
- package/commands/solveos/validate-plan.md +115 -0
- package/dist/bin/install.d.ts +11 -0
- package/dist/bin/install.d.ts.map +1 -0
- package/dist/bin/install.js +158 -0
- package/dist/bin/install.js.map +1 -0
- package/dist/hooks/brief-anchor.d.ts +68 -0
- package/dist/hooks/brief-anchor.d.ts.map +1 -0
- package/dist/hooks/brief-anchor.js +236 -0
- package/dist/hooks/brief-anchor.js.map +1 -0
- package/dist/hooks/context-monitor.d.ts +70 -0
- package/dist/hooks/context-monitor.d.ts.map +1 -0
- package/dist/hooks/context-monitor.js +166 -0
- package/dist/hooks/context-monitor.js.map +1 -0
- package/dist/lib/artifacts.d.ts +63 -0
- package/dist/lib/artifacts.d.ts.map +1 -0
- package/dist/lib/artifacts.js +382 -0
- package/dist/lib/artifacts.js.map +1 -0
- package/dist/lib/config.d.ts +10 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +29 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/runtime-adapters/claude-code.d.ts +18 -0
- package/dist/lib/runtime-adapters/claude-code.d.ts.map +1 -0
- package/dist/lib/runtime-adapters/claude-code.js +125 -0
- package/dist/lib/runtime-adapters/claude-code.js.map +1 -0
- package/dist/lib/runtime-adapters/cursor.d.ts +18 -0
- package/dist/lib/runtime-adapters/cursor.d.ts.map +1 -0
- package/dist/lib/runtime-adapters/cursor.js +113 -0
- package/dist/lib/runtime-adapters/cursor.js.map +1 -0
- package/dist/lib/runtime-adapters/gemini-cli.d.ts +18 -0
- package/dist/lib/runtime-adapters/gemini-cli.d.ts.map +1 -0
- package/dist/lib/runtime-adapters/gemini-cli.js +127 -0
- package/dist/lib/runtime-adapters/gemini-cli.js.map +1 -0
- package/dist/lib/runtime-adapters/opencode.d.ts +14 -0
- package/dist/lib/runtime-adapters/opencode.d.ts.map +1 -0
- package/dist/lib/runtime-adapters/opencode.js +109 -0
- package/dist/lib/runtime-adapters/opencode.js.map +1 -0
- package/dist/lib/runtime-detect.d.ts +22 -0
- package/dist/lib/runtime-detect.d.ts.map +1 -0
- package/dist/lib/runtime-detect.js +73 -0
- package/dist/lib/runtime-detect.js.map +1 -0
- package/dist/lib/security.d.ts +88 -0
- package/dist/lib/security.d.ts.map +1 -0
- package/dist/lib/security.js +230 -0
- package/dist/lib/security.js.map +1 -0
- package/dist/types.d.ts +224 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +31 -0
- package/dist/types.js.map +1 -0
- package/dist/workflows/state-machine.d.ts +55 -0
- package/dist/workflows/state-machine.d.ts.map +1 -0
- package/dist/workflows/state-machine.js +271 -0
- package/dist/workflows/state-machine.js.map +1 -0
- package/dist/workflows/wave-executor.d.ts +112 -0
- package/dist/workflows/wave-executor.d.ts.map +1 -0
- package/dist/workflows/wave-executor.js +496 -0
- package/dist/workflows/wave-executor.js.map +1 -0
- package/package.json +58 -0
- package/templates/build-validation.md +82 -0
- package/templates/config-default.json +21 -0
- package/templates/plan-brief.md +106 -0
- package/templates/plan-validation-log.md +77 -0
- package/templates/post-ship-review.md +75 -0
- package/templates/pre-ship-review.md +56 -0
- package/templates/research-summary.md +30 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mode": "interactive",
|
|
3
|
+
"gates": {
|
|
4
|
+
"research": true,
|
|
5
|
+
"plan_validation": true,
|
|
6
|
+
"build_validation": true,
|
|
7
|
+
"review_pre_ship": true,
|
|
8
|
+
"review_post_ship": true
|
|
9
|
+
},
|
|
10
|
+
"plan_validation_max_passes": 3,
|
|
11
|
+
"granularity": "standard",
|
|
12
|
+
"auto_advance": false,
|
|
13
|
+
"domain": "software",
|
|
14
|
+
"runtime": "auto",
|
|
15
|
+
"hooks": {
|
|
16
|
+
"context_monitor": true,
|
|
17
|
+
"context_monitor_threshold": 60,
|
|
18
|
+
"brief_anchor": true,
|
|
19
|
+
"brief_anchor_interval": 10
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Plan Brief
|
|
2
|
+
|
|
3
|
+
<!-- This is the central artifact of your solveOS cycle.
|
|
4
|
+
Every answer here becomes an instruction for AI execution.
|
|
5
|
+
Every ambiguity becomes a guess in the output.
|
|
6
|
+
Be specific. Be honest. Leave nothing implied. -->
|
|
7
|
+
|
|
8
|
+
## Problem
|
|
9
|
+
|
|
10
|
+
<!-- What is broken, missing, or needed?
|
|
11
|
+
Write 1-2 sentences. State the problem, not the solution.
|
|
12
|
+
Bad: "We need to add a caching layer."
|
|
13
|
+
Good: "API response times exceed 2 seconds under load, causing user drop-off." -->
|
|
14
|
+
|
|
15
|
+
_Replace this with a clear problem statement._
|
|
16
|
+
|
|
17
|
+
## Audience
|
|
18
|
+
|
|
19
|
+
<!-- Who experiences this problem? Be specific.
|
|
20
|
+
Name a person, role, or group — not "everyone" or "users."
|
|
21
|
+
Bad: "Users"
|
|
22
|
+
Good: "Backend engineers on the payments team who deploy 3x/day." -->
|
|
23
|
+
|
|
24
|
+
_Replace this with your target audience._
|
|
25
|
+
|
|
26
|
+
## Goal
|
|
27
|
+
|
|
28
|
+
<!-- What does success look like? One sentence, starts with a verb.
|
|
29
|
+
This is the finish line — how you know you're done.
|
|
30
|
+
Bad: "Improve performance."
|
|
31
|
+
Good: "Reduce p95 API response time to under 500ms at current load." -->
|
|
32
|
+
|
|
33
|
+
_Replace this with a concrete goal._
|
|
34
|
+
|
|
35
|
+
## Appetite
|
|
36
|
+
|
|
37
|
+
<!-- How much time/effort are you willing to invest?
|
|
38
|
+
This is a bet, not an estimate. It sets the scope ceiling.
|
|
39
|
+
If you'd only spend 2 hours on this, say so. That shapes the plan.
|
|
40
|
+
Bad: "As long as it takes."
|
|
41
|
+
Good: "4 hours of focused work. If it's not done by then, we re-scope." -->
|
|
42
|
+
|
|
43
|
+
_Replace this with your appetite._
|
|
44
|
+
|
|
45
|
+
## Constraints
|
|
46
|
+
|
|
47
|
+
<!-- What are the non-negotiables? Skills, dependencies, existing decisions.
|
|
48
|
+
List anything that limits how the work can be done. -->
|
|
49
|
+
|
|
50
|
+
- _Constraint 1_
|
|
51
|
+
- _Constraint 2_
|
|
52
|
+
|
|
53
|
+
## Success Criteria
|
|
54
|
+
|
|
55
|
+
<!-- How will you know it's done? Each criterion must be:
|
|
56
|
+
- Measurable (a human or test can verify it)
|
|
57
|
+
- Falsifiable (you can prove it failed)
|
|
58
|
+
Use checkbox format. These become your build validation checklist. -->
|
|
59
|
+
|
|
60
|
+
- [ ] _Criterion 1_
|
|
61
|
+
- [ ] _Criterion 2_
|
|
62
|
+
- [ ] _Criterion 3_
|
|
63
|
+
|
|
64
|
+
## Core Assumption
|
|
65
|
+
|
|
66
|
+
<!-- What must be true for this plan to work?
|
|
67
|
+
Every plan has a bet underneath it. Name it explicitly.
|
|
68
|
+
If this assumption is wrong, the plan may need to change.
|
|
69
|
+
Bad: "This should work."
|
|
70
|
+
Good: "The existing database schema can support the new query pattern
|
|
71
|
+
without migration." -->
|
|
72
|
+
|
|
73
|
+
_Replace this with your core assumption._
|
|
74
|
+
|
|
75
|
+
## Rabbit Holes
|
|
76
|
+
|
|
77
|
+
<!-- What unknowns could drag the build off track?
|
|
78
|
+
These are areas where you could lose time exploring without progress.
|
|
79
|
+
Naming them is a defense mechanism — it makes you notice when you're in one. -->
|
|
80
|
+
|
|
81
|
+
- _Rabbit hole 1_
|
|
82
|
+
- _Rabbit hole 2_
|
|
83
|
+
|
|
84
|
+
## Out of Scope
|
|
85
|
+
|
|
86
|
+
<!-- What are you explicitly NOT solving in this cycle?
|
|
87
|
+
Saying "not this" is as important as saying "this."
|
|
88
|
+
Prevents scope creep and mid-build pivots. -->
|
|
89
|
+
|
|
90
|
+
- _Out of scope item 1_
|
|
91
|
+
- _Out of scope item 2_
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
<!-- Plan Phase Exit Checklist (from solveOS framework):
|
|
96
|
+
Before moving to Build, verify:
|
|
97
|
+
[ ] Problem is stated without embedding a solution
|
|
98
|
+
[ ] Audience is specific (not "users" or "everyone")
|
|
99
|
+
[ ] Goal starts with a verb and is one sentence
|
|
100
|
+
[ ] Appetite is a bet, not an estimate
|
|
101
|
+
[ ] Constraints are listed (even if few)
|
|
102
|
+
[ ] Every success criterion is measurable and falsifiable
|
|
103
|
+
[ ] Core assumption is explicit and testable
|
|
104
|
+
[ ] At least one rabbit hole is identified
|
|
105
|
+
[ ] Out of scope is non-empty
|
|
106
|
+
[ ] A stranger could read this brief and build from it -->
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
## Plan Validation Log — Pass {n}
|
|
2
|
+
|
|
3
|
+
**Date:** _YYYY-MM-DD_
|
|
4
|
+
**Pass:** _{n} of {max}_
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
### Question 1: Is the problem correctly stated?
|
|
9
|
+
|
|
10
|
+
<!-- Is this the actual problem, or a symptom? Is the audience named specifically?
|
|
11
|
+
Could someone outside the project understand what's wrong? -->
|
|
12
|
+
|
|
13
|
+
**Assessment:** _Pass / Gaps found_
|
|
14
|
+
|
|
15
|
+
**Details:**
|
|
16
|
+
_Explanation of assessment_
|
|
17
|
+
|
|
18
|
+
**Gaps (if any):**
|
|
19
|
+
- _Gap description_
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### Question 2: Is the plan feasible?
|
|
24
|
+
|
|
25
|
+
<!-- Can the goal be achieved within the stated constraints and appetite?
|
|
26
|
+
Do the constraints conflict with each other? Is the appetite realistic? -->
|
|
27
|
+
|
|
28
|
+
**Assessment:** _Pass / Gaps found_
|
|
29
|
+
|
|
30
|
+
**Details:**
|
|
31
|
+
_Explanation of assessment_
|
|
32
|
+
|
|
33
|
+
**Gaps (if any):**
|
|
34
|
+
- _Gap description_
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
### Question 3: Is it specific enough to build from?
|
|
39
|
+
|
|
40
|
+
<!-- Could someone who didn't write the brief execute it and produce the same result?
|
|
41
|
+
Would two people interpret the success criteria the same way? -->
|
|
42
|
+
|
|
43
|
+
**Assessment:** _Pass / Gaps found_
|
|
44
|
+
|
|
45
|
+
**Details:**
|
|
46
|
+
_Explanation of assessment_
|
|
47
|
+
|
|
48
|
+
**Gaps (if any):**
|
|
49
|
+
- _Gap description_
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### Additional Checks
|
|
54
|
+
|
|
55
|
+
**Are success criteria measurable and falsifiable?**
|
|
56
|
+
_Yes / No — details_
|
|
57
|
+
|
|
58
|
+
**What would you cut if scope had to be reduced by 50%?**
|
|
59
|
+
_Answer_
|
|
60
|
+
|
|
61
|
+
**What is the single biggest unacknowledged risk?**
|
|
62
|
+
_Answer_
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
### Summary
|
|
67
|
+
|
|
68
|
+
**Gaps found:** _{count}_
|
|
69
|
+
**Changes recommended:**
|
|
70
|
+
- _Change 1_
|
|
71
|
+
- _Change 2_
|
|
72
|
+
|
|
73
|
+
### Decision
|
|
74
|
+
|
|
75
|
+
- [ ] Ready to build — no critical gaps remain
|
|
76
|
+
- [ ] Needs another pass — refine the brief and re-validate
|
|
77
|
+
- [ ] Needs escalation — fundamental issues require research or rethink
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
## Post-Ship Review — Cycle {n}
|
|
2
|
+
|
|
3
|
+
**Date:** _YYYY-MM-DD_
|
|
4
|
+
**Time since ship:** _How long since shipping_
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
### Success Criteria Measurement
|
|
9
|
+
|
|
10
|
+
<!-- For each success criterion from the Plan Brief, measure against real-world results.
|
|
11
|
+
Use evidence, not hopes. "Users seem to like it" is not evidence.
|
|
12
|
+
"3 out of 5 users completed the flow without help" is evidence. -->
|
|
13
|
+
|
|
14
|
+
| # | Criterion | Result | Evidence |
|
|
15
|
+
|---|-----------|--------|----------|
|
|
16
|
+
| 1 | _Criterion from BRIEF.md_ | _Met / Partially met / Not met_ | _What actually happened_ |
|
|
17
|
+
| 2 | _Criterion from BRIEF.md_ | _Met / Partially met / Not met_ | _What actually happened_ |
|
|
18
|
+
|
|
19
|
+
**Overall:** _{x} Met, {y} Partially met, {z} Not met out of {total}_
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### What worked well?
|
|
24
|
+
|
|
25
|
+
<!-- Specific decisions, approaches, or tools that produced good outcomes -->
|
|
26
|
+
|
|
27
|
+
- _What worked and why_
|
|
28
|
+
|
|
29
|
+
### What didn't work?
|
|
30
|
+
|
|
31
|
+
<!-- Specific decisions that led to problems or waste -->
|
|
32
|
+
|
|
33
|
+
- _What didn't work and why_
|
|
34
|
+
|
|
35
|
+
### Most impactful decision
|
|
36
|
+
|
|
37
|
+
<!-- Name the one decision — positive or negative — that mattered more than any other -->
|
|
38
|
+
|
|
39
|
+
**Decision:** _The one decision that mattered most_
|
|
40
|
+
**Impact:** _What happened because of this decision_
|
|
41
|
+
**Lesson:** _What to do differently or repeat_
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
### Feed-Forward for Next Cycle
|
|
46
|
+
|
|
47
|
+
<!-- These items become inputs to the next cycle's Plan Brief via /solveos:new-cycle.
|
|
48
|
+
Be specific — vague feed-forward is useless feed-forward. -->
|
|
49
|
+
|
|
50
|
+
#### New problems revealed
|
|
51
|
+
|
|
52
|
+
<!-- Problems that only became visible after shipping.
|
|
53
|
+
Frame as problem statements, not solutions. -->
|
|
54
|
+
|
|
55
|
+
- _Problem statement_
|
|
56
|
+
|
|
57
|
+
#### Deferred scope
|
|
58
|
+
|
|
59
|
+
<!-- Items intentionally cut from this cycle.
|
|
60
|
+
For each: is it still important? Has the context changed? -->
|
|
61
|
+
|
|
62
|
+
- _Item — still important? context changed?_
|
|
63
|
+
|
|
64
|
+
#### Wrong assumptions
|
|
65
|
+
|
|
66
|
+
<!-- Assumptions from the Plan Brief that turned out to be incorrect -->
|
|
67
|
+
|
|
68
|
+
- _Assumption_ → _What reality showed instead_
|
|
69
|
+
|
|
70
|
+
#### Open questions
|
|
71
|
+
|
|
72
|
+
<!-- Questions that remain unanswered.
|
|
73
|
+
Would a Research gate help in the next cycle? -->
|
|
74
|
+
|
|
75
|
+
- _Question_
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
## Pre-Ship Review
|
|
2
|
+
|
|
3
|
+
**Date:** _YYYY-MM-DD_
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Does the result solve the stated problem?
|
|
8
|
+
|
|
9
|
+
<!-- Re-read the problem field from the Plan Brief.
|
|
10
|
+
Does the build actually address this problem? -->
|
|
11
|
+
|
|
12
|
+
**Assessment:** _Yes / Partially / No_
|
|
13
|
+
|
|
14
|
+
**Details:**
|
|
15
|
+
_Explanation of what's solved and what isn't_
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
### Would the named audience find this useful?
|
|
20
|
+
|
|
21
|
+
<!-- Re-read the audience field from the Plan Brief.
|
|
22
|
+
Put yourself in their position. -->
|
|
23
|
+
|
|
24
|
+
**Audience:** _From Plan Brief_
|
|
25
|
+
**Assessment:** _Yes / Partially / No_
|
|
26
|
+
|
|
27
|
+
**Details:**
|
|
28
|
+
_Explanation — usefulness, usability, quality match for this audience_
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### What is the weakest part?
|
|
33
|
+
|
|
34
|
+
<!-- Every piece of work has a weakest part. Name it. -->
|
|
35
|
+
|
|
36
|
+
**Weakest part:** _Specific description_
|
|
37
|
+
|
|
38
|
+
**Impact:** _How much does this weakness matter for the stated audience?_
|
|
39
|
+
|
|
40
|
+
**Decision on weakness:**
|
|
41
|
+
- [ ] Accept — weakness is in a non-critical area
|
|
42
|
+
- [ ] Fix — weakness is significant enough to iterate
|
|
43
|
+
- [ ] Defer — add to next cycle
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### Ship readiness
|
|
48
|
+
|
|
49
|
+
<!-- Be honest: are you shipping because it's ready, or because you're tired?
|
|
50
|
+
Sunk cost is not a reason to ship. "Good enough" is valid only if you can
|
|
51
|
+
articulate why it's good enough for this specific audience. -->
|
|
52
|
+
|
|
53
|
+
**Assessment:** _Ready to ship / Not ready — needs iteration_
|
|
54
|
+
|
|
55
|
+
**Rationale:**
|
|
56
|
+
_Why it's ready, or why it's not_
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
## Research Summary
|
|
2
|
+
|
|
3
|
+
**Question:** _Replace with the specific research question_
|
|
4
|
+
**Time spent:** _Replace with duration_
|
|
5
|
+
|
|
6
|
+
### Key Findings
|
|
7
|
+
|
|
8
|
+
- _Finding 1_
|
|
9
|
+
- _Finding 2_
|
|
10
|
+
- _Finding 3_
|
|
11
|
+
|
|
12
|
+
### Conclusions
|
|
13
|
+
|
|
14
|
+
<!-- What do these findings mean for the Plan Brief?
|
|
15
|
+
How do they affect the problem statement, constraints, or approach? -->
|
|
16
|
+
|
|
17
|
+
- _Conclusion 1_
|
|
18
|
+
- _Conclusion 2_
|
|
19
|
+
|
|
20
|
+
### Open Questions / Remaining Unknowns
|
|
21
|
+
|
|
22
|
+
<!-- What do you still not know? What could change the plan if discovered later? -->
|
|
23
|
+
|
|
24
|
+
- _Open question 1_
|
|
25
|
+
- _Open question 2_
|
|
26
|
+
|
|
27
|
+
### Decision
|
|
28
|
+
|
|
29
|
+
- [ ] I have enough information to write the Plan Brief
|
|
30
|
+
- [ ] I need more research: _specify what_
|