learnship 1.9.12 → 1.9.14

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 — 42 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": "1.9.12",
4
+ "version": "1.9.14",
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 — 42 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",
5
- "version": "1.9.12",
5
+ "version": "1.9.14",
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": "1.9.12",
3
+ "version": "1.9.14",
4
4
  "description": "Agentic engineering done right — 42 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/",
@@ -92,6 +92,44 @@ follow. The map should become territory.
92
92
 
93
93
  ---
94
94
 
95
+ ## Request Routing Protocol
96
+
97
+ **This section is mandatory. Apply it before responding to ANY user message.**
98
+
99
+ When a user sends a message — whether it's a vague idea, a specific bug report, a feature request, or a detailed technical prompt — you MUST route it through the correct learnship workflow. **Do not make code changes, fix bugs, or implement anything in direct response to a user message.** Every task goes through a workflow.
100
+
101
+ ### Decision tree — apply in order:
102
+
103
+ **1. Is there a `.planning/PROJECT.md`?**
104
+ - **No** → Stop. Tell the user: "No project found. Run `/new-project` to initialize." Do nothing else.
105
+ - **Yes** → Continue to step 2.
106
+
107
+ **2. Does the user message look like a task, problem, bug, or feature request?**
108
+ (Anything that would result in a code change, file edit, config change, or new capability)
109
+ - **Yes** → Route to step 3. Do NOT start implementing.
110
+ - **No** (pure question, status check, discussion) → Answer normally.
111
+
112
+ **3. How large/complex is the task?**
113
+ - **Small, self-contained** (estimated < 1 hour, touches ≤ 3 files, no design decisions needed):
114
+ → Tell the user: "This looks like a quick task. I'll run `/quick` for this — it gives us atomic commits and state tracking without full planning ceremony. Proceed?"
115
+ → Wait for confirmation, then invoke `/quick "[description]"`.
116
+ - **Medium or uncertain** (design decisions needed, multiple files, touches active phase work):
117
+ → Tell the user: "This touches phase [N] work. I'll run `/discuss-phase [N]` to capture your intent before planning. Proceed?"
118
+ → Wait for confirmation, then invoke `discuss-phase`.
119
+ - **Large or cross-cutting** (new capability, affects multiple phases, architectural):
120
+ → Tell the user: "This is significant scope. Let me check where we are first."
121
+ → Run `/ls` to show current status, then recommend the right workflow (plan-phase, new-milestone, etc).
122
+
123
+ **4. Never self-route silently.**
124
+ Always tell the user which workflow you're about to invoke and why, then wait for a "yes" before proceeding. Do not assume consent from a detailed prompt.
125
+
126
+ ### Examples of what NOT to do:
127
+ - User says "the login button is broken" → ❌ Don't fix it directly → ✅ Route to `/quick`
128
+ - User says "I want to add dark mode" → ❌ Don't start implementing → ✅ Route to `discuss-phase`
129
+ - User pastes a detailed spec → ❌ Don't treat it as a command to execute → ✅ Classify size, propose workflow, wait for yes
130
+
131
+ ---
132
+
95
133
  ## Platform Context
96
134
 
97
135
  This project uses **learnship**. Key facts:
@@ -121,47 +121,67 @@ Display:
121
121
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
122
122
  ```
123
123
 
124
- Ask openly: **"What do you want to build?"**
124
+ This step is **strictly sequential**. You must complete each numbered exchange fully before moving to the next. Do not batch questions. Do not skip exchanges. Do not proceed to Step 4 until Exchange 4 is complete.
125
125
 
126
- Wait for their response. Then follow the thread each answer opens new questions. Dig into:
127
- - What excited them / what problem sparked this
128
- - What they mean by vague terms ("simple", "fast", "clean")
129
- - What it would actually look like in use
130
- - What's already decided vs. open
131
- - Who the users are and what they need
126
+ **Exchange 1Opening question:**
132
127
 
133
- Use the questioning techniques from `@./references/questioning.md`.
128
+ Ask: **"What do you want to build?"**
134
129
 
135
- > **⚠ MANDATORY MINIMUM — Do not ask to create PROJECT.md until you have asked AT LEAST 3 follow-up questions after the user's first answer. No matter how detailed the first response is, one answer is never enough. A single detailed prompt is not a project definition it is a starting point. Ask follow-ups about: who uses it, what the edge cases are, what success looks like, what they've already tried, what must NOT happen. Only after at least 3 follow-ups have been exchanged may you proceed.**
130
+ > 🛑 STOP. Wait for the user's answer. Do not continue until you have received it. Record their answer internally as `ANSWER_1`.
136
131
 
137
- When you have enough depth (minimum 3 follow-ups exchanged), ask:
132
+ **Exchange 2 First follow-up:**
138
133
 
139
- "I think I understand what you're after. Ready to create PROJECT.md, or do you want to explore more?"
134
+ Based on `ANSWER_1`, ask one focused follow-up. Choose the most important unknown from:
135
+ - Who are the users and what problem does this solve for them specifically?
136
+ - What does success look like — how will you know it's working?
137
+ - What's already decided vs. still open?
138
+ - What must NOT happen (constraints, anti-goals)?
140
139
 
141
- - **Create PROJECT.md** proceed
142
- - **Keep exploring** → continue questions
140
+ > 🛑 STOP. Wait for the user's answer. Do not continue until you have received it. Record their answer internally as `ANSWER_2`.
143
141
 
144
- Loop until ready.
142
+ **Exchange 3 — Second follow-up:**
143
+
144
+ Based on `ANSWER_1` + `ANSWER_2`, ask a second focused follow-up that digs into a gap the first two answers left open. Do not repeat themes already covered.
145
+
146
+ > 🛑 STOP. Wait for the user's answer. Do not continue until you have received it. Record their answer internally as `ANSWER_3`.
147
+
148
+ **Exchange 4 — Third follow-up:**
149
+
150
+ Based on all previous answers, ask a third follow-up that clarifies scope, edge cases, or the most important implementation decision not yet surfaced.
151
+
152
+ > 🛑 STOP. Wait for the user's answer. Do not continue until you have received it. Record their answer internally as `ANSWER_4`.
153
+
154
+ **Gate check — before proceeding to Step 4:**
155
+
156
+ Verify internally: do you have `ANSWER_1`, `ANSWER_2`, `ANSWER_3`, and `ANSWER_4` recorded? If any is missing, go back and ask it. Only after all four answers are in hand may you ask:
157
+
158
+ "I think I have a solid picture of what you're building. Ready for me to write PROJECT.md, or is there more you want to cover first?"
159
+
160
+ - **Write PROJECT.md** → proceed to Step 4
161
+ - **More to cover** → continue asking follow-ups, then re-ask this gate question
162
+
163
+ Use the questioning techniques from `@./references/questioning.md` to shape the follow-up questions.
145
164
 
146
165
  ## Step 4: Write PROJECT.md
147
166
 
148
167
  Synthesize all gathered context into `.planning/PROJECT.md` using `@./templates/project.md` as the template.
149
168
 
150
- Once written, **show the user the full contents of `.planning/PROJECT.md`** and ask:
169
+ Once written, display the full raw contents of `.planning/PROJECT.md` in your response — do not summarize it, show the whole file.
170
+
171
+ Then ask exactly this:
151
172
 
152
- "Here's the PROJECT.md I've written from our conversation. Does this accurately capture what you want to build, or should we adjust anything?"
173
+ "That's the PROJECT.md I've written. Does this capture what you want to build? Reply **yes** to continue, or tell me what to change."
153
174
 
154
- - **Looks good** continue
155
- - **Needs changes** → ask what to adjust, update PROJECT.md, re-present, loop until confirmed
175
+ > 🛑 STOP. Wait for the user's explicit reply. Do not proceed to Step 5 under any circumstances until the user has replied to this question. A reply of "yes", "looks good", "go ahead", or any clear positive is acceptable. Silence, no reply, or a new unrelated message is NOT acceptable — ask again.
156
176
 
157
- > **⚠ STOP — do not proceed to Step 5 until the user has explicitly confirmed PROJECT.md. This is a mandatory gate. Do not interpret silence or a brief "ok" as confirmation wait for a clear positive signal.**
177
+ If user requests changes: update PROJECT.md, show the full file again, re-ask the confirmation question. Loop until confirmed.
158
178
 
159
179
  **If `commit_mode` is `auto`:**
160
180
  ```bash
161
181
  git add .planning/PROJECT.md && git commit -m "docs: initialize project"
162
182
  ```
163
183
 
164
- > **⚠ STOP do not proceed to Step 5 until you have asked the research question below and received the user's answer.**
184
+ > 🛑 STOP. Do not proceed to Step 5 until you have asked the research question below AND received the user's explicit answer to it.
165
185
 
166
186
  ## Step 5: Research Decision
167
187
 
@@ -169,7 +189,7 @@ Ask: "Research the domain ecosystem before defining requirements?"
169
189
  - **Research first** (recommended) — Discover standard stacks, expected features, architecture patterns
170
190
  - **Skip research** — I know this domain well, go straight to requirements
171
191
 
172
- > **⚠ STOP wait for the user's choice before continuing.**
192
+ > 🛑 STOP. Wait for the user's explicit choice before continuing. Do not default to "Research first" — wait for the user's actual reply.
173
193
 
174
194
  **If Research first:**
175
195
 
@@ -203,7 +223,7 @@ Files: .planning/research/
203
223
 
204
224
  ## Step 6: Define Requirements
205
225
 
206
- > **⚠ STOP do not write REQUIREMENTS.md until you have presented feature categories to the user and received their v1 selections. This is an interactive step.**
226
+ > 🛑 STOP. Do not write REQUIREMENTS.md until you have presented feature categories to the user and received their explicit v1 selections. This is a fully interactive step — you must wait for input.
207
227
 
208
228
  ```
209
229
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -227,7 +247,7 @@ Create `.planning/REQUIREMENTS.md` with v1 requirements (with REQ-IDs like `AUTH
227
247
 
228
248
  Present the full list for confirmation. If user wants adjustments, iterate.
229
249
 
230
- > **⚠ STOP wait for the user to confirm the requirements list before writing REQUIREMENTS.md or continuing.**
250
+ > 🛑 STOP. Wait for the user to explicitly confirm the requirements list before writing REQUIREMENTS.md or continuing to Step 7.
231
251
 
232
252
  **If `commit_mode` is `auto`:**
233
253
  ```bash
@@ -271,7 +291,7 @@ Ask for approval:
271
291
  - **Adjust phases** → get feedback, revise, re-present
272
292
  - **Review full file** → show raw ROADMAP.md, then re-ask
273
293
 
274
- > **⚠ STOP do not proceed to Step 8 until the user has explicitly approved the roadmap.**
294
+ > 🛑 STOP. Do not proceed to Step 8 until the user has explicitly approved the roadmap.
275
295
 
276
296
  **If `commit_mode` is `auto`:**
277
297
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learnship",
3
- "version": "1.9.12",
3
+ "version": "1.9.14",
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",