learnship 2.0.8 → 2.0.10
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.
|
|
4
|
+
"version": "2.0.10",
|
|
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.
|
|
5
|
+
"version": "2.0.10",
|
|
6
6
|
"logo": "assets/logo.png",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Favio Vazquez",
|
package/SKILL.md
CHANGED
|
@@ -106,6 +106,18 @@ Does .planning/PROJECT.md exist?
|
|
|
106
106
|
|
|
107
107
|
**This gate applies to ALL messages** — bug reports, feature requests, "quick fixes", detailed specs, anything. The only exception: if the user is currently mid-ceremony in `/new-project` (i.e., they are answering your questions), their messages are workflow answers, not tasks to route.
|
|
108
108
|
|
|
109
|
+
## `/new-project` Ceremony Enforcement
|
|
110
|
+
|
|
111
|
+
When running `/new-project`, these are non-negotiable hard gates. Violating any of them produces a broken project:
|
|
112
|
+
|
|
113
|
+
1. **Research decision = always ask the user.** After PROJECT.md is confirmed, you MUST ask: "Do you want me to research the domain ecosystem first?" and WAIT for a reply. You are FORBIDDEN from deciding this yourself — even if the tech stack is defined in PROJECT.md, the domain seems trivial, or the user gave detailed answers. Never say "no research needed" or "skipping research" on your own.
|
|
114
|
+
|
|
115
|
+
2. **Research = 5 separate files.** If the user chooses research, you MUST create exactly 5 files in `.planning/research/`: `STACK.md`, `FEATURES.md`, `ARCHITECTURE.md`, `PITFALLS.md`, `SUMMARY.md`. Do NOT write a single monolithic research file. After writing all 5, run the `node -e` verification command from the workflow. If it fails, fix the files before proceeding.
|
|
116
|
+
|
|
117
|
+
3. **AGENTS.md = copy from template.** Read `@./templates/agents.md` BEFORE writing AGENTS.md. Sections marked "copy VERBATIM" must be copied word-for-word — do not rewrite, summarize, or rephrase them. After writing, run the `node -e` verification command. If it fails, fix AGENTS.md before proceeding.
|
|
118
|
+
|
|
119
|
+
4. **Done = STOP.** After displaying the Step 9 done banner, **STOP completely**. Do NOT automatically start `/discuss-phase 1`. Do NOT say "Let me start Phase 1" or "Now starting Phase 1." Wait for the user to type their next command.
|
|
120
|
+
|
|
109
121
|
## Key Behaviors
|
|
110
122
|
|
|
111
123
|
- **Context efficiency**: Reference file paths rather than inlining file contents. Load context fresh when needed rather than carrying it forward.
|
|
@@ -45,11 +45,15 @@ When the user runs `/new-project`, execute these **9 mandatory steps in order**.
|
|
|
45
45
|
|
|
46
46
|
1. **Exchange 1 answer does NOT skip Exchanges 2–4.** No matter how detailed the user's answer to "What do you want to build?" — it is raw material for follow-ups, not a replacement. You MUST still ask Exchanges 2, 3, and 4.
|
|
47
47
|
|
|
48
|
-
2. **
|
|
48
|
+
2. **Research decision = always ask the user.** After PROJECT.md is confirmed, ask: "Do you want me to research the domain ecosystem first?" and WAIT for the user's reply. You are FORBIDDEN from deciding this yourself — even if the tech stack is defined in PROJECT.md, the domain seems trivial, or the user gave detailed answers. Never say "no research needed" or "skipping research" on your own.
|
|
49
49
|
|
|
50
|
-
3. **
|
|
50
|
+
3. **Research = 5 separate files.** If the user chooses research, create exactly 5 files in `.planning/research/`: `STACK.md`, `FEATURES.md`, `ARCHITECTURE.md`, `PITFALLS.md`, `SUMMARY.md`. Do NOT write a single monolithic research file. Run the `node -e` verification command from the workflow — it must print `RESEARCH VERIFIED OK` before proceeding.
|
|
51
51
|
|
|
52
|
-
4. **Step
|
|
52
|
+
4. **After Step 7 (roadmap approved):** Do NOT display the done banner or suggest next steps. Generate AGENTS.md (Step 8) first.
|
|
53
|
+
|
|
54
|
+
5. **AGENTS.md = copy from template.** Read `@./templates/agents.md` BEFORE writing. Sections marked "copy VERBATIM" (Soul, Principles, Request Routing Protocol, Platform Context, Skills, Regressions) must be copied word-for-word. Run the `node -e` verification — it must print `AGENTS.md VERIFIED OK` before proceeding.
|
|
55
|
+
|
|
56
|
+
6. **Step 9 = STOP.** After displaying the done banner, **STOP completely**. Do NOT automatically start `/discuss-phase 1`. Do NOT say "Let me start Phase 1." Wait for the user's next message. The next step is `/discuss-phase 1` — **start here, not `/plan-phase`**. The phase loop is: `discuss-phase` → `plan-phase` → `execute-phase` → `verify-work`.
|
|
53
57
|
|
|
54
58
|
**Routing protocol suspended during `/new-project`.** Every user message while the ceremony is in progress is an answer to a workflow question, not a task to route.
|
|
55
59
|
|
package/gemini-extension.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "learnship",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10",
|
|
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/",
|
|
@@ -282,13 +282,47 @@ git add .planning/PROJECT.md && git commit -m "docs: initialize project"
|
|
|
282
282
|
|
|
283
283
|
## Step 5: Research Decision
|
|
284
284
|
|
|
285
|
-
> **🔴 MANDATORY USER CHOICE — You must ask this question and wait for a reply. You are NOT allowed to decide this yourself
|
|
285
|
+
> **🔴 MANDATORY USER CHOICE — You must ask this question and wait for a reply. You are NOT allowed to decide this yourself.**
|
|
286
286
|
|
|
287
|
-
|
|
288
|
-
- **Research first** (recommended) — Discover standard stacks, expected features, architecture patterns
|
|
289
|
-
- **Skip research** — I know this domain well, go straight to requirements
|
|
287
|
+
Display this question to the user exactly as written:
|
|
290
288
|
|
|
291
|
-
|
|
289
|
+
```
|
|
290
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
291
|
+
learnship ► RESEARCH DECISION
|
|
292
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
293
|
+
|
|
294
|
+
Before I write the requirements — do you want me to
|
|
295
|
+
research the domain ecosystem first?
|
|
296
|
+
|
|
297
|
+
1. Research first (recommended)
|
|
298
|
+
→ Discover standard stacks, expected features,
|
|
299
|
+
architecture patterns, common pitfalls
|
|
300
|
+
|
|
301
|
+
2. Skip research
|
|
302
|
+
→ Go straight to requirements
|
|
303
|
+
|
|
304
|
+
Reply 1 or 2.
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
> � **HARD GATE — This is a user decision. You MUST wait for the user to reply.**
|
|
308
|
+
>
|
|
309
|
+
> **You are FORBIDDEN from deciding this yourself.** It does not matter if:
|
|
310
|
+
> - The tech stack is already defined in PROJECT.md
|
|
311
|
+
> - The domain seems trivial or well-understood
|
|
312
|
+
> - You already know the ecosystem
|
|
313
|
+
> - The user gave detailed answers in Deep Questioning
|
|
314
|
+
> - The project seems simple
|
|
315
|
+
>
|
|
316
|
+
> **None of these are valid reasons to skip the question.** The user ALWAYS gets asked. The user ALWAYS decides.
|
|
317
|
+
>
|
|
318
|
+
> **Forbidden responses (do NOT say anything like these):**
|
|
319
|
+
> - "The tech stack is already well-defined in PROJECT.md. No research needed."
|
|
320
|
+
> - "Since you've already described the stack, I'll skip research."
|
|
321
|
+
> - "Moving straight to requirements/roadmap."
|
|
322
|
+
> - "Research isn't necessary for this project."
|
|
323
|
+
> - Any sentence that contains "no research needed" or "skip research" that you wrote yourself (not the user).
|
|
324
|
+
>
|
|
325
|
+
> **The ONLY acceptable next action is: display the question above and wait.** Do not write REQUIREMENTS.md. Do not write ROADMAP.md. Do not proceed to Step 6. Wait for the user's reply.
|
|
292
326
|
|
|
293
327
|
**If Research first:**
|
|
294
328
|
|
|
@@ -298,46 +332,56 @@ Ask: **"Before I write the requirements — do you want me to research the domai
|
|
|
298
332
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
299
333
|
```
|
|
300
334
|
|
|
301
|
-
|
|
335
|
+
**You MUST create exactly 5 separate markdown files.** Do NOT write a single monolithic research file. Do NOT combine multiple files into one. Each file is a separate write operation.
|
|
336
|
+
|
|
337
|
+
Create the research directory first:
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
node -e "require('fs').mkdirSync('.planning/research',{recursive:true})"
|
|
341
|
+
```
|
|
302
342
|
|
|
303
|
-
|
|
304
|
-
- Required sections: `## Recommended Stack`, `## Alternatives Considered`, `## What NOT to Use` (with reasons), `## Versions`
|
|
305
|
-
2. **FEATURES.md** — What features exist in this domain
|
|
306
|
-
- Required sections: `## Table Stakes` (must-haves), `## Differentiators` (nice-to-haves), `## Anti-Features` (what to avoid)
|
|
307
|
-
3. **ARCHITECTURE.md** — How systems in this domain are typically structured
|
|
308
|
-
- Required sections: `## Component Boundaries`, `## Data Flow`, `## Build Order` (suggested sequence), `## Integration Points`
|
|
309
|
-
4. **PITFALLS.md** — Common mistakes and prevention strategies
|
|
310
|
-
- Required sections: `## Common Mistakes`, `## Warning Signs`, `## Prevention Strategies`
|
|
343
|
+
Now create each file one at a time. After writing each file, move to the next.
|
|
311
344
|
|
|
312
|
-
|
|
313
|
-
|
|
345
|
+
**File 1 of 5 — Write `.planning/research/STACK.md` now:**
|
|
346
|
+
Research the standard tech stack for this domain. The file MUST contain these exact `##` headers:
|
|
347
|
+
- `## Recommended Stack`
|
|
348
|
+
- `## Alternatives Considered`
|
|
349
|
+
- `## What NOT to Use` (with reasons)
|
|
350
|
+
- `## Versions`
|
|
314
351
|
|
|
315
|
-
**
|
|
352
|
+
**File 2 of 5 — Write `.planning/research/FEATURES.md` now:**
|
|
353
|
+
Research what features exist in this domain. The file MUST contain these exact `##` headers:
|
|
354
|
+
- `## Table Stakes` (must-haves)
|
|
355
|
+
- `## Differentiators` (nice-to-haves)
|
|
356
|
+
- `## Anti-Features` (what to avoid)
|
|
357
|
+
|
|
358
|
+
**File 3 of 5 — Write `.planning/research/ARCHITECTURE.md` now:**
|
|
359
|
+
Research how systems in this domain are typically structured. The file MUST contain these exact `##` headers:
|
|
360
|
+
- `## Component Boundaries`
|
|
361
|
+
- `## Data Flow`
|
|
362
|
+
- `## Build Order` (suggested sequence)
|
|
363
|
+
- `## Integration Points`
|
|
364
|
+
|
|
365
|
+
**File 4 of 5 — Write `.planning/research/PITFALLS.md` now:**
|
|
366
|
+
Research common mistakes and prevention strategies. The file MUST contain these exact `##` headers:
|
|
367
|
+
- `## Common Mistakes`
|
|
368
|
+
- `## Warning Signs`
|
|
369
|
+
- `## Prevention Strategies`
|
|
370
|
+
|
|
371
|
+
**File 5 of 5 — Write `.planning/research/SUMMARY.md` now:**
|
|
372
|
+
Synthesize the 4 files above into a summary. The file MUST contain these exact `##` headers:
|
|
373
|
+
- `## Recommended Stack`
|
|
374
|
+
- `## Table Stakes Features`
|
|
375
|
+
- `## Key Architecture Decisions`
|
|
376
|
+
- `## Top Pitfalls`
|
|
377
|
+
|
|
378
|
+
> 🔴 **HARD GATE — Run this verification command now. Do not skip it. Do not proceed without running it.**
|
|
316
379
|
|
|
317
380
|
```bash
|
|
318
|
-
node -e "
|
|
319
|
-
const fs=require('fs'),path=require('path');
|
|
320
|
-
const dir='.planning/research/';
|
|
321
|
-
const checks={
|
|
322
|
-
'STACK.md':['Recommended Stack','What NOT to Use'],
|
|
323
|
-
'FEATURES.md':['Table Stakes','Differentiators'],
|
|
324
|
-
'ARCHITECTURE.md':['Component Boundaries','Data Flow'],
|
|
325
|
-
'PITFALLS.md':['Common Mistakes','Prevention Strategies'],
|
|
326
|
-
'SUMMARY.md':['Recommended Stack','Top Pitfalls']
|
|
327
|
-
};
|
|
328
|
-
const missing=[];
|
|
329
|
-
for(const[file,sections]of Object.entries(checks)){
|
|
330
|
-
const fp=path.join(dir,file);
|
|
331
|
-
if(!fs.existsSync(fp)){missing.push(file+' MISSING');continue;}
|
|
332
|
-
const c=fs.readFileSync(fp,'utf8');
|
|
333
|
-
for(const s of sections){if(!c.includes('## '+s))missing.push(file+': missing ## '+s);}
|
|
334
|
-
}
|
|
335
|
-
if(missing.length){console.log('RESEARCH INCOMPLETE:\\n'+missing.join('\\n'));process.exit(1);}
|
|
336
|
-
console.log('RESEARCH VERIFIED OK');
|
|
337
|
-
"
|
|
381
|
+
node -e "const fs=require('fs'),path=require('path');const dir='.planning/research/';const checks={'STACK.md':['Recommended Stack','What NOT to Use'],'FEATURES.md':['Table Stakes','Differentiators'],'ARCHITECTURE.md':['Component Boundaries','Data Flow'],'PITFALLS.md':['Common Mistakes','Prevention Strategies'],'SUMMARY.md':['Recommended Stack','Top Pitfalls']};const missing=[];for(const[file,sections]of Object.entries(checks)){const fp=path.join(dir,file);if(!fs.existsSync(fp)){missing.push(file+' MISSING');continue;}const c=fs.readFileSync(fp,'utf8');for(const s of sections){if(!c.includes('## '+s))missing.push(file+': missing ## '+s);}}if(missing.length){console.log('RESEARCH INCOMPLETE:\\n'+missing.join('\\n'));process.exit(1);}console.log('RESEARCH VERIFIED OK — all 5 files present with required sections');"
|
|
338
382
|
```
|
|
339
383
|
|
|
340
|
-
> 🛑 If
|
|
384
|
+
> 🛑 **If the command prints `RESEARCH INCOMPLETE` or exits with code 1:** Go back and create or fix the missing files. Then run the verification again. You MUST see `RESEARCH VERIFIED OK` before continuing. Do NOT proceed to Step 6 without a passing verification.
|
|
341
385
|
|
|
342
386
|
Display key findings:
|
|
343
387
|
```
|
|
@@ -435,63 +479,49 @@ git add .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md && git
|
|
|
435
479
|
|
|
436
480
|
> **🔴 MANDATORY — This step must always be completed. Do not skip it, do not defer it, do not move to Step 9 without writing AGENTS.md to the project root. AGENTS.md is the persistent memory file that every future session depends on.**
|
|
437
481
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
**
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
**
|
|
448
|
-
|
|
449
|
-
|
|
482
|
+
**Substep 8a — Read the template.** Read `@./templates/agents.md` in full RIGHT NOW before writing anything. This is the canonical template. You need its exact content.
|
|
483
|
+
|
|
484
|
+
> 🛑 **HARD GATE:** Did you just read `@./templates/agents.md`? If not, go back and read it now. The next substep requires copying sections verbatim from the template. You cannot do that without reading it first.
|
|
485
|
+
|
|
486
|
+
**Substep 8b — Write AGENTS.md.** Create the file `AGENTS.md` at the project root. The file structure MUST follow the template exactly. Here is the required section order:
|
|
487
|
+
|
|
488
|
+
1. `# AGENTS.md — [Project Name]` — replace `[PROJECT NAME]` with the actual project name
|
|
489
|
+
2. `## Soul — Who We Are Together` — **copy VERBATIM from the template** including all of Voice & Character and Relationship Model. Do not rewrite, summarize, or rephrase any of it.
|
|
490
|
+
3. `## Principles — How We Operate` — **copy VERBATIM from the template**. All 10 numbered principles, word for word.
|
|
491
|
+
4. `## Request Routing Protocol` — **copy VERBATIM from the template**. The entire decision tree and examples.
|
|
492
|
+
5. `## Platform Context` — **copy VERBATIM from the template**. The learnship key facts block.
|
|
493
|
+
6. `## Current Phase` — **FILL IN** with project-specific data:
|
|
494
|
+
```
|
|
495
|
+
**Milestone:** v1.0 — [Milestone Name from PROJECT.md]
|
|
496
|
+
**Phase:** 1 — [Phase 1 name from ROADMAP.md]
|
|
497
|
+
**Status:** planning
|
|
498
|
+
**Last updated:** [today's date]
|
|
499
|
+
```
|
|
500
|
+
7. `## Project Structure` — **FILL IN** by scanning existing directories:
|
|
501
|
+
```bash
|
|
502
|
+
node -e "const{readdirSync,statSync}=require('fs'),{join}=require('path');const walk=(d,dep=0)=>{if(dep>2)return;try{readdirSync(d).filter(f=>!f.startsWith('.')&&f!=='node_modules').forEach(f=>{const p=join(d,f);if(statSync(p).isDirectory()){console.log(' '.repeat(dep*2)+'├── '+f+'/');walk(p,dep+1);}});}catch{}};walk('.');"
|
|
503
|
+
```
|
|
504
|
+
Populate the tree with real directories and one-line descriptions.
|
|
505
|
+
8. `## Tech Stack` — **FILL IN** using research output (if available) or user's stated stack:
|
|
506
|
+
- Language + version
|
|
507
|
+
- Framework
|
|
508
|
+
- Key libraries (the 3-5 most important)
|
|
509
|
+
- How to run the dev server
|
|
510
|
+
- How to run tests
|
|
511
|
+
9. `## Skills — Operational Knowledge` — **copy VERBATIM from the template**. CHANGELOG Discipline, Decisions Register, and Solutions Store sections.
|
|
512
|
+
10. `## Regressions — What Broke and What We Learned` — **copy VERBATIM from the template**. The empty starter block.
|
|
513
|
+
|
|
514
|
+
**You may ADD project-specific sections** (e.g., Conventions, Content Sources, Definition of Done) **after** Tech Stack and **before** Skills. But you must NEVER remove, rename, or replace the 10 sections listed above.
|
|
515
|
+
|
|
516
|
+
**Substep 8c — Verify AGENTS.md.** Run this command now. Do not skip it.
|
|
517
|
+
|
|
518
|
+
> 🔴 **HARD GATE — Run this verification command now. Do not skip it. Do not proceed without running it.**
|
|
450
519
|
|
|
451
|
-
**Current Phase** block:
|
|
452
|
-
```
|
|
453
|
-
Milestone: v1.0 — [Milestone Name from PROJECT.md]
|
|
454
|
-
Phase: 1 — [Phase 1 name from ROADMAP.md]
|
|
455
|
-
Status: planning
|
|
456
|
-
Last updated: [today's date]
|
|
457
|
-
```
|
|
458
|
-
|
|
459
|
-
**Project Structure** — derive from the project description and any existing directories:
|
|
460
520
|
```bash
|
|
461
|
-
|
|
462
|
-
# PowerShell: Get-ChildItem -Directory -Recurse -Depth 2 | Where-Object { $_.FullName -notmatch '\.git|node_modules|\.planning' } | Select-Object -First 20
|
|
521
|
+
node -e "const fs=require('fs');if(!fs.existsSync('AGENTS.md')){console.log('AGENTS.md NOT FOUND');process.exit(1);}const f=fs.readFileSync('AGENTS.md','utf8');const required=['Soul','Principles','Request Routing Protocol','Platform Context','Current Phase','Project Structure','Tech Stack','Skills','Regressions'];const missing=required.filter(s=>!f.includes('## '+s));if(missing.length){console.log('AGENTS.md INCOMPLETE — missing sections:\\n'+missing.map(s=>' ## '+s).join('\\n'));process.exit(1);}const verbatim=['pair programmer','Direct, no fluff','Have opinions','Friction Is Signal','Minimal Upstream Fix','decision tree'];const missingV=verbatim.filter(s=>!f.includes(s));if(missingV.length){console.log('AGENTS.md TEMPLATE VIOLATION — these verbatim phrases are missing (did you rewrite instead of copy?):\\n'+missingV.join('\\n'));process.exit(1);}console.log('AGENTS.md VERIFIED OK — all '+required.length+' sections present, verbatim content intact');"
|
|
463
522
|
```
|
|
464
523
|
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
**Tech Stack** — use the research output (if research was run) or the user's stated stack:
|
|
468
|
-
- Language + version
|
|
469
|
-
- Framework
|
|
470
|
-
- Key libraries (the 3-5 most important)
|
|
471
|
-
- How to run the dev server
|
|
472
|
-
- How to run tests
|
|
473
|
-
|
|
474
|
-
**You may ADD project-specific sections** (e.g., Conventions, Content Sources, Definition of Done) **after** the Tech Stack section and **before** Skills. But you must NEVER remove, rename, or replace the template sections listed above.
|
|
475
|
-
|
|
476
|
-
**Verification checklist (run before committing):**
|
|
477
|
-
- [ ] File starts with `# AGENTS.md — [Project Name]`
|
|
478
|
-
- [ ] `## Soul — Who We Are Together` exists with Voice & Character and Relationship Model
|
|
479
|
-
- [ ] `## Principles — How We Operate` exists with all 10 numbered principles
|
|
480
|
-
- [ ] `## Request Routing Protocol` exists with decision tree
|
|
481
|
-
- [ ] `## Platform Context` exists with the 7-step phase loop
|
|
482
|
-
- [ ] `## Current Phase` exists with milestone, phase, status, and date
|
|
483
|
-
- [ ] `## Project Structure` exists with a directory tree
|
|
484
|
-
- [ ] `## Tech Stack` exists with language, framework, libraries, dev server, tests
|
|
485
|
-
- [ ] `## Skills — Operational Knowledge` exists with CHANGELOG Discipline and Decisions Register
|
|
486
|
-
- [ ] `## Regressions — What Broke and What We Learned` exists at the end
|
|
487
|
-
|
|
488
|
-
**Automated verification (cross-platform — run this, do not skip):**
|
|
489
|
-
|
|
490
|
-
```bash
|
|
491
|
-
node -e "const fs=require('fs');if(!fs.existsSync('AGENTS.md')){console.log('AGENTS.md NOT FOUND');process.exit(1);}const f=fs.readFileSync('AGENTS.md','utf8');const required=['Soul','Principles','Request Routing Protocol','Platform Context','Current Phase','Project Structure','Tech Stack','Skills','Regressions'];const missing=required.filter(s=>!f.includes('## '+s));if(missing.length){console.log('AGENTS.md INCOMPLETE — missing sections:\\n'+missing.map(s=>' ## '+s).join('\\n'));process.exit(1);}console.log('AGENTS.md VERIFIED OK — all '+required.length+' mandatory sections present');"
|
|
492
|
-
```
|
|
493
|
-
|
|
494
|
-
> 🛑 If verification fails, fix the missing sections before committing. Do NOT proceed to Step 9 with an incomplete AGENTS.md. Re-read `@./templates/agents.md` and add the missing sections.
|
|
524
|
+
> 🛑 **If the command prints `INCOMPLETE` or `TEMPLATE VIOLATION` or exits with code 1:** The AGENTS.md is broken. Re-read `@./templates/agents.md` and fix the missing sections or restore the verbatim content. Run the verification again. You MUST see `AGENTS.md VERIFIED OK` before continuing to Step 9.
|
|
495
525
|
|
|
496
526
|
**If `commit_mode` is `auto`:**
|
|
497
527
|
```bash
|
|
@@ -502,6 +532,8 @@ git add AGENTS.md && git commit -m "docs: add AGENTS.md with project context"
|
|
|
502
532
|
|
|
503
533
|
## Step 9: Done
|
|
504
534
|
|
|
535
|
+
Display this banner and then **STOP. Do not continue. Do not run any other workflow. Do not start Phase 1.**
|
|
536
|
+
|
|
505
537
|
```
|
|
506
538
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
507
539
|
learnship ► PROJECT INITIALIZED ✓
|
|
@@ -534,16 +566,26 @@ After verify-work passes: `/review` for multi-persona code review, `/ship` to te
|
|
|
534
566
|
> **Platform detected:** `[PLATFORM]` — parallelization is `[true/false]`
|
|
535
567
|
```
|
|
536
568
|
|
|
569
|
+
> 🔴 **HARD STOP — `/new-project` is now complete. This workflow is FINISHED.**
|
|
570
|
+
>
|
|
571
|
+
> **Do NOT automatically start `/discuss-phase 1`.** Do NOT run any phase workflow. Do NOT begin implementing Phase 1. Do NOT say "Let me start Phase 1" or "Now starting Phase 1" or anything similar.
|
|
572
|
+
>
|
|
573
|
+
> The user must explicitly type `/discuss-phase 1` (or another command) in a **new message** to continue. Your only job now is to display the banner above and wait.
|
|
574
|
+
>
|
|
575
|
+
> If the user's next message is a new task or question, apply the Request Routing Protocol from AGENTS.md — the routing suspension from Step 1 is now lifted.
|
|
576
|
+
|
|
537
577
|
---
|
|
538
578
|
|
|
539
579
|
## Learning Checkpoint
|
|
540
580
|
|
|
541
581
|
Read `learning_mode` from `.planning/config.json`.
|
|
542
582
|
|
|
543
|
-
**If `auto`:** Offer this
|
|
583
|
+
**If `auto`:** Offer this after the done banner (still within this message, but AFTER the banner):
|
|
544
584
|
|
|
545
585
|
> 💡 **Learning moment:** You've just defined what you're building. Want to validate your mental model before coding starts?
|
|
546
586
|
>
|
|
547
587
|
> `@agentic-learning brainstorm [your project topic]` — Talk through the design and surface any blind spots before the first line of code.
|
|
548
588
|
|
|
549
589
|
**If `manual`:** Add a quiet note: *"Tip: `@agentic-learning brainstorm [topic]` is available whenever you want to think through the design."*
|
|
590
|
+
|
|
591
|
+
**After displaying the learning checkpoint, STOP. Wait for the user's next message.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "learnship",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10",
|
|
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",
|