learnship 2.0.1 → 2.0.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "learnship",
3
3
  "description": "Agentic engineering done right — 49 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system. Works with Claude Code, Windsurf, Cursor, Gemini CLI, OpenCode, and Codex.",
4
- "version": "2.0.1",
4
+ "version": "2.0.2",
5
5
  "author": {
6
6
  "name": "Favio Vazquez",
7
7
  "email": "favio.vazquezp@gmail.com"
@@ -2,7 +2,7 @@
2
2
  "name": "learnship",
3
3
  "displayName": "learnship",
4
4
  "description": "Agentic engineering done right — 49 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",
5
- "version": "2.0.1",
5
+ "version": "2.0.2",
6
6
  "logo": "assets/logo.png",
7
7
  "author": {
8
8
  "name": "Favio Vazquez",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learnship",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "Agentic engineering done right — 49 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",
5
5
  "author": "Favio Vazquez",
6
6
  "homepage": "https://faviovazquez.github.io/learnship/",
@@ -96,7 +96,14 @@ git status --short .planning/ 2>/dev/null | head -10
96
96
  node -e "
97
97
  try{
98
98
  const cfg=JSON.parse(require('fs').readFileSync('.planning/config.json','utf8'));
99
- const missing=['mode','granularity','model_profile','learning_mode'].filter(k=>!(k in cfg));
99
+ const top=['mode','granularity','model_profile','learning_mode','parallelization','test_first'].filter(k=>!(k in cfg));
100
+ const nested=[];
101
+ if(!cfg.planning||!('commit_mode' in cfg.planning)) nested.push('planning.commit_mode');
102
+ if(!cfg.workflow||!('review' in cfg.workflow)) nested.push('workflow.review');
103
+ if(!cfg.workflow||!('solutions_search' in cfg.workflow)) nested.push('workflow.solutions_search');
104
+ if(!cfg.review||!('auto_after_verify' in cfg.review)) nested.push('review.auto_after_verify');
105
+ if(!cfg.ship) nested.push('ship.*');
106
+ const missing=[...top,...nested];
100
107
  if(missing.length)console.log('W004: config.json missing fields: '+missing.join(', '));
101
108
  }catch(e){}
102
109
  "
@@ -94,6 +94,43 @@ If a MILESTONE-CONTEXT.md was consumed, delete it:
94
94
  git rm .planning/MILESTONE-CONTEXT.md 2>/dev/null || true
95
95
  ```
96
96
 
97
+ ## Step 6b: Config Review
98
+
99
+ Check if the project config has all v2 keys:
100
+
101
+ ```bash
102
+ node -e "
103
+ const fs=require('fs');
104
+ try{
105
+ const cfg=JSON.parse(fs.readFileSync('.planning/config.json','utf8'));
106
+ const missing=[];
107
+ if(!('model_profile' in cfg)) missing.push('model_profile');
108
+ if(!('test_first' in cfg)) missing.push('test_first');
109
+ if(!('parallelization' in cfg)) missing.push('parallelization');
110
+ if(!cfg.workflow||!('review' in cfg.workflow)) missing.push('workflow.review');
111
+ if(!cfg.workflow||!('solutions_search' in cfg.workflow)) missing.push('workflow.solutions_search');
112
+ if(!cfg.review||!('auto_after_verify' in cfg.review)) missing.push('review.auto_after_verify');
113
+ if(!cfg.ship) missing.push('ship.*');
114
+ if(!cfg.planning||!('commit_mode' in cfg.planning)) missing.push('planning.commit_mode');
115
+ if(missing.length)console.log('MISSING: '+missing.join(', '));
116
+ else console.log('CONFIG_COMPLETE');
117
+ }catch(e){console.log('NO_CONFIG');}
118
+ "
119
+ ```
120
+
121
+ **If MISSING or NO_CONFIG:** Offer to update config with v2 defaults:
122
+
123
+ ```
124
+ Your config is missing some v2 settings: [list]
125
+
126
+ These control: multi-persona review, solutions search, ship pipeline, TDD mode.
127
+ Want me to add them with recommended defaults? (yes/no)
128
+ ```
129
+
130
+ If yes: merge missing keys into `.planning/config.json` using the defaults from `@./templates/config.json`. Show the updated config for confirmation.
131
+
132
+ **If CONFIG_COMPLETE:** Continue silently.
133
+
97
134
  ## Step 7: Research Decision
98
135
 
99
136
  Read `workflow.research` from `.planning/config.json`.
@@ -183,7 +220,7 @@ git commit -m "docs: update AGENTS.md — milestone [VERSION] started"
183
220
 
184
221
  **[VERSION] — [Name]** — [N] phases, [X] requirements
185
222
 
186
- ▶ Next: discuss-phase 1 → plan-phase 1 → execute-phase 1
223
+ ▶ Next: discuss-phase 1 → plan-phase 1 → execute-phase 1 → verify-work 1 → review → ship → compound
187
224
  ```
188
225
 
189
226
  ---
@@ -99,14 +99,40 @@ Ask: "How should the learning partner (agentic-learning) work during this projec
99
99
  - **Auto** (recommended) — I'll offer relevant learning actions at natural checkpoints (after planning, after execution, etc.)
100
100
  - **Manual** — I'll only activate when you explicitly invoke `@agentic-learning`
101
101
 
102
- **Group C — Workflow agents (these add quality but cost tokens/time):**
102
+ **Group C — Model profile:**
103
103
 
104
- Ask: "Which workflow agents should be enabled?"
104
+ Ask: "Which model quality tier do you want?"
105
+ - **Quality** — Large-tier models for all decision-making agents (highest cost, best results)
106
+ - **Balanced** (recommended) — Large for planning, medium for execution
107
+ - **Budget** — Medium for code, small for research/verification (lowest cost)
108
+
109
+ **Group D — Development style:**
110
+
111
+ Ask: "Test-first (TDD) mode?"
112
+ - **No** (recommended) — Write tests alongside implementation
113
+ - **Yes** — Enforce red-green-refactor: write failing test first, verify red, implement, verify green
114
+
115
+ **Group E — Workflow agents (these add quality but cost tokens/time):**
116
+
117
+ Ask: "Which workflow agents and quality steps should be enabled?"
105
118
  - **Research** (recommended) — Investigate domain before planning each phase
106
119
  - **Plan Check** (recommended) — Verify plans achieve their goals before execution
107
120
  - **Verifier** (recommended) — Confirm deliverables match phase goals after execution
121
+ - **Review** (recommended) — Multi-persona code review after verification
122
+ - **Solutions Search** (recommended) — Search prior solutions for reusable patterns during planning
123
+
124
+ Ask: "Auto-trigger review after verify-work passes?"
125
+ - **No** (recommended) — Run `/review` manually when ready
126
+ - **Yes** — Automatically start review after verification succeeds
108
127
 
109
- **Group DParallel execution:**
128
+ **Group FShip pipeline defaults:**
129
+
130
+ Ask: "Ship pipeline preferences?"
131
+ - **Auto-test before shipping** (recommended: yes) — Run tests before every ship
132
+ - **Conventional commits** (recommended: yes) — Use `feat:`, `fix:`, `docs:` commit prefixes
133
+ - **Auto-generate PR description** (recommended: yes) — Create PR body from commit messages
134
+
135
+ **Group G — Parallel execution:**
110
136
 
111
137
  <!-- LEARNSHIP_PARALLEL_BLOCK -->
112
138
 
@@ -124,30 +150,51 @@ Create `.planning/config.json` with all settings:
124
150
  {
125
151
  "mode": "yolo|interactive",
126
152
  "granularity": "coarse|standard|fine",
127
- "commit_docs": true|false,
128
- "commit_mode": "auto|manual",
153
+ "model_profile": "quality|balanced|budget",
129
154
  "learning_mode": "auto|manual",
130
155
  "parallelization": false|true,
156
+ "test_first": false|true,
157
+ "planning": {
158
+ "commit_docs": true|false,
159
+ "commit_mode": "auto|manual",
160
+ "search_gitignored": false
161
+ },
131
162
  "workflow": {
132
163
  "research": true|false,
133
164
  "plan_check": true|false,
134
- "verifier": true|false
165
+ "verifier": true|false,
166
+ "validation": true|false,
167
+ "review": true|false,
168
+ "solutions_search": true|false
169
+ },
170
+ "review": {
171
+ "auto_after_verify": false|true
172
+ },
173
+ "ship": {
174
+ "auto_test": true|false,
175
+ "conventional_commits": true|false,
176
+ "pr_template": true|false
177
+ },
178
+ "git": {
179
+ "branching_strategy": "none|phase|milestone",
180
+ "phase_branch_template": "phase-{phase}-{slug}",
181
+ "milestone_branch_template": "{milestone}-{slug}"
135
182
  }
136
183
  }
137
184
  ```
138
185
 
139
- If `commit_docs` is false, add `.planning/` to `.gitignore`:
186
+ If `planning.commit_docs` is false, add `.planning/` to `.gitignore`:
140
187
  ```bash
141
188
  echo ".planning/" >> .gitignore
142
189
  ```
143
190
 
144
- **If `commit_mode` is `auto`:** Stage and commit the initial setup now:
191
+ **If `planning.commit_mode` is `auto`:** Stage and commit the initial setup now:
145
192
  ```bash
146
193
  git add .gitignore .planning/config.json
147
194
  git commit -m "chore: initialize learnship project setup"
148
195
  ```
149
196
 
150
- **If `commit_mode` is `manual`:** Show this message and skip all future commit steps:
197
+ **If `planning.commit_mode` is `manual`:** Show this message and skip all future commit steps:
151
198
  ```
152
199
  → Manual commit mode — I will not run any git commits.
153
200
  Stage and commit whenever you are ready.
@@ -401,9 +448,13 @@ Files created:
401
448
 
402
449
  ▶ Next: `/discuss-phase 1` — **start here, not `/plan-phase`**
403
450
 
404
- The phase loop is: `discuss-phase` → `plan-phase` → `execute-phase` → `verify-work`
451
+ The full phase loop:
452
+ `discuss-phase` → `plan-phase` → `execute-phase` → `verify-work` → `review` → `ship` → `compound`
453
+
405
454
  `discuss-phase` is mandatory before planning — it captures your intent and writes the CONTEXT.md that plan-phase depends on. Skipping it means planning without context.
406
455
 
456
+ After verify-work passes: `/review` for multi-persona code review, `/ship` to test+commit+push+PR, `/compound` to capture what you learned.
457
+
407
458
  > **Platform detected:** `[PLATFORM]` — parallelization is `[true/false]`
408
459
  ```
409
460
 
@@ -22,15 +22,28 @@ cp templates/config.json .planning/config.json 2>/dev/null || cat > .planning/co
22
22
  "granularity": "standard",
23
23
  "model_profile": "balanced",
24
24
  "learning_mode": "auto",
25
+ "parallelization": false,
26
+ "test_first": false,
25
27
  "planning": {
26
28
  "commit_docs": true,
29
+ "commit_mode": "auto",
27
30
  "search_gitignored": false
28
31
  },
29
32
  "workflow": {
30
33
  "research": true,
31
34
  "plan_check": true,
32
35
  "verifier": true,
33
- "validation": true
36
+ "validation": true,
37
+ "review": true,
38
+ "solutions_search": true
39
+ },
40
+ "review": {
41
+ "auto_after_verify": false
42
+ },
43
+ "ship": {
44
+ "auto_test": true,
45
+ "conventional_commits": true,
46
+ "pr_template": true
34
47
  },
35
48
  "git": {
36
49
  "branching_strategy": "none",
@@ -64,12 +77,19 @@ Current configuration:
64
77
  [2] Granularity: [current] (coarse | standard | fine)
65
78
  [3] Model profile: [current] (quality | balanced | budget)
66
79
  [4] Learning mode: [current] (auto | manual)
67
- [5] Research agent: [on/off]
68
- [6] Plan check agent: [on/off]
69
- [7] Verifier agent: [on/off]
70
- [8] Test validation: [on/off]
71
- [9] Git branching: [current] (none | phase | milestone)
72
- [10] Commit docs: [on/off]
80
+ [5] Test-first (TDD): [on/off]
81
+ [6] Research agent: [on/off]
82
+ [7] Plan check agent: [on/off]
83
+ [8] Verifier agent: [on/off]
84
+ [9] Test validation: [on/off]
85
+ [10] Review workflow: [on/off]
86
+ [11] Solutions search: [on/off]
87
+ [12] Auto-review after verify: [on/off]
88
+ [13] Ship: auto-test: [on/off]
89
+ [14] Ship: conventional commits: [on/off]
90
+ [15] Ship: PR template: [on/off]
91
+ [16] Git branching: [current] (none | phase | milestone)
92
+ [17] Commit docs: [on/off]
73
93
 
74
94
  Enter a number to change a setting, or 'done' to save.
75
95
  ```
@@ -118,7 +138,16 @@ Learning mode controls when learning actions are offered:
118
138
  Current: [current]. New value?
119
139
  ```
120
140
 
121
- **[5-7] Agent toggles (research / plan_check / verifier):**
141
+ **[5] Test-first (TDD):**
142
+ ```
143
+ Test-first mode enforces red-green-refactor during execute-phase:
144
+ - on: write failing test → verify red → implement → verify green
145
+ - off: write tests alongside implementation (default)
146
+
147
+ Current: [current]. New value? (on/off)
148
+ ```
149
+
150
+ **[6-8] Agent toggles (research / plan_check / verifier):**
122
151
  ```
123
152
  [Research / Plan check / Verifier] agent:
124
153
  - on: agent runs (recommended for production work)
@@ -127,7 +156,7 @@ Current: [current]. New value?
127
156
  Current: [current]. New value? (on/off)
128
157
  ```
129
158
 
130
- **[8] Test validation:**
159
+ **[9] Test validation:**
131
160
  ```
132
161
  Test validation maps automated test coverage to requirements during plan-phase.
133
162
  - on: plans include automated verify commands per task (recommended)
@@ -136,7 +165,43 @@ Test validation maps automated test coverage to requirements during plan-phase.
136
165
  Current: [current]. New value? (on/off)
137
166
  ```
138
167
 
139
- **[9] Git branching:**
168
+ **[10] Review workflow:**
169
+ ```
170
+ Multi-persona code review after verification:
171
+ - on: /review is available and can be auto-triggered (recommended)
172
+ - off: skip review workflow
173
+
174
+ Current: [current]. New value? (on/off)
175
+ ```
176
+
177
+ **[11] Solutions search:**
178
+ ```
179
+ Search .planning/solutions/ for prior art during plan-phase:
180
+ - on: reuse patterns from solved problems (recommended)
181
+ - off: skip solutions search
182
+
183
+ Current: [current]. New value? (on/off)
184
+ ```
185
+
186
+ **[12] Auto-review after verify:**
187
+ ```
188
+ Automatically trigger /review after verify-work passes:
189
+ - on: review starts immediately after successful verification
190
+ - off: run /review manually when ready (default)
191
+
192
+ Current: [current]. New value? (on/off)
193
+ ```
194
+
195
+ **[13-15] Ship pipeline (auto_test / conventional_commits / pr_template):**
196
+ ```
197
+ [Auto-test / Conventional commits / PR template]:
198
+ - on: enabled (recommended)
199
+ - off: disabled
200
+
201
+ Current: [current]. New value? (on/off)
202
+ ```
203
+
204
+ **[16] Git branching:**
140
205
  ```
141
206
  Branching strategy:
142
207
  - none: no automatic branches (good for solo work)
@@ -146,7 +211,7 @@ Branching strategy:
146
211
  Current: [current]. New value?
147
212
  ```
148
213
 
149
- **[10] Commit docs:**
214
+ **[17] Commit docs:**
150
215
  ```
151
216
  Whether .planning/ files are committed to git:
152
217
  - on: planning artifacts tracked in git (default)
@@ -166,15 +231,28 @@ cat > .planning/config.json << EOF
166
231
  "granularity": "[value]",
167
232
  "model_profile": "[value]",
168
233
  "learning_mode": "[value]",
234
+ "parallelization": [true/false],
235
+ "test_first": [true/false],
169
236
  "planning": {
170
237
  "commit_docs": [true/false],
238
+ "commit_mode": "[auto/manual]",
171
239
  "search_gitignored": false
172
240
  },
173
241
  "workflow": {
174
242
  "research": [true/false],
175
243
  "plan_check": [true/false],
176
244
  "verifier": [true/false],
177
- "validation": [true/false]
245
+ "validation": [true/false],
246
+ "review": [true/false],
247
+ "solutions_search": [true/false]
248
+ },
249
+ "review": {
250
+ "auto_after_verify": [true/false]
251
+ },
252
+ "ship": {
253
+ "auto_test": [true/false],
254
+ "conventional_commits": [true/false],
255
+ "pr_template": [true/false]
178
256
  },
179
257
  "git": {
180
258
  "branching_strategy": "[value]",
@@ -181,14 +181,28 @@ Display summary:
181
181
  | Skipped | [N] |
182
182
  ```
183
183
 
184
- **If no issues:**
184
+ **If no issues:**
185
+
186
+ Read `review.auto_after_verify` from `.planning/config.json` (defaults to `false`).
187
+
188
+ **If `review.auto_after_verify` is `true`:**
189
+ ```
190
+ All tests passed. ✓
191
+
192
+ Auto-review is enabled — starting multi-persona code review now.
193
+ ```
194
+ Immediately run the `review` workflow for this phase's changes.
195
+
196
+ **If `review.auto_after_verify` is `false`:**
185
197
  ```
186
198
  All tests passed. ✓
187
199
 
188
- 💡 Compound learnings? Run `/compound` to capture any notable solutions
189
- or patterns from this phase while context is fresh.
200
+ Recommended next steps:
201
+ `/review` — multi-persona code review (6 lenses: correctness, testing, security, performance, maintainability, adversarial)
202
+ `/ship` — test → lint → commit → push → PR
203
+ `/compound` — capture notable solutions or patterns while context is fresh
190
204
 
191
- Next: discuss-phase [X+1]
205
+ Or continue: discuss-phase [X+1]
192
206
  ```
193
207
 
194
208
  **If issues found:** Continue to Step 7.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learnship",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "Learn as you build. Build with intent. — A multi-platform agentic engineering system for Windsurf, Claude Code, Cursor, OpenCode, Gemini CLI, and Codex: spec-driven workflows, integrated learning, and production-grade design.",
5
5
  "keywords": [
6
6
  "agentic",
@@ -97,7 +97,7 @@ follow. The map should become territory.
97
97
  This project uses **learnship**. Key facts:
98
98
 
99
99
  - All planning artifacts live in `.planning/` — read STATE.md and ROADMAP.md first when unsure where we are
100
- - The phase loop: `discuss-phase` → `plan-phase` → `execute-phase` → `verify-work`
100
+ - The phase loop: `discuss-phase` → `plan-phase` → `execute-phase` → `verify-work` → `review` → `ship` → `compound`
101
101
  - Current status is always in `.planning/STATE.md`
102
102
  - Decisions are tracked in `.planning/DECISIONS.md` — read it before proposing approaches that may conflict
103
103
  - Run `/ls` if context is unclear about what phase we're on or what to do next — it shows status and offers to run the next step