| { | ||
| "name": "learnship", | ||
| "description": "Agentic engineering done right — 57 structured workflows, 17 specialist agent personas, persistent memory across sessions, integrated learning partner, and impeccable UI design system. Works with Claude Code, Windsurf, Cursor, Gemini CLI, OpenCode, and Codex.", | ||
| "version": "2.3.1", | ||
| "version": "2.3.2", | ||
| "author": { | ||
@@ -6,0 +6,0 @@ "name": "Favio Vazquez", |
@@ -5,3 +5,3 @@ { | ||
| "description": "Agentic engineering done right — 57 structured workflows, 17 specialist agent personas, persistent memory across sessions, integrated learning partner, and impeccable UI design system.", | ||
| "version": "2.3.1", | ||
| "version": "2.3.2", | ||
| "logo": "assets/logo.png", | ||
@@ -8,0 +8,0 @@ "author": { |
| { | ||
| "name": "learnship", | ||
| "version": "2.3.1", | ||
| "version": "2.3.2", | ||
| "description": "Agentic engineering done right — 57 structured workflows, 17 specialist agent personas, persistent memory across sessions, integrated learning partner, and impeccable UI design system.", | ||
@@ -5,0 +5,0 @@ "author": "Favio Vazquez", |
@@ -232,3 +232,3 @@ <planning_config> | ||
| Controls which confirmation prompts are shown during workflows. Set to `false` to skip specific confirmations (useful for experienced users in yolo mode). | ||
| Controls which confirmation prompts are shown during workflows. Set to `false` to skip specific confirmations (useful for experienced users in auto mode). | ||
@@ -235,0 +235,0 @@ | Option | Default | Description | |
@@ -184,2 +184,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| ## Step 5: Record Decision | ||
@@ -186,0 +188,0 @@ |
@@ -67,2 +67,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| Then ask as follow-ups (one at a time): | ||
@@ -69,0 +71,0 @@ - "What did you expect to happen?" |
@@ -130,2 +130,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| ## Step 6: Create Fix Plans | ||
@@ -132,0 +134,0 @@ |
@@ -52,2 +52,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| ## Step 2: Discuss Goals | ||
@@ -54,0 +56,0 @@ |
@@ -76,2 +76,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| If "Skip" → exit workflow. | ||
@@ -95,2 +97,4 @@ | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| ## Step 3: Scout Codebase | ||
@@ -169,2 +173,4 @@ | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| If "All clear" → skip to Step 6. | ||
@@ -192,2 +198,4 @@ | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| 3. After 4 questions, ask: "More questions about [area], or move to next?" | ||
@@ -214,2 +222,4 @@ 4. If more → ask 4 more, then check again | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| <scope_guardrail> | ||
@@ -216,0 +226,0 @@ **No scope creep.** The phase boundary comes from ROADMAP.md and is FIXED. Discussion clarifies HOW to implement what's scoped, never WHETHER to add new capabilities. |
@@ -181,4 +181,4 @@ --- | ||
| Key settings: `mode` (yolo/interactive), `model_profile` (quality/balanced/budget), `learning_mode` (auto/manual). | ||
| Key settings: `mode` (auto/interactive), `model_profile` (quality/balanced/budget), `learning_mode` (auto/manual). | ||
| See `README.md` for the full configuration reference. |
@@ -92,2 +92,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| If yes: read `parallelization` from `.planning/config.json`. If `parallelization.enabled` is true, spawn a researcher agent: | ||
@@ -94,0 +96,0 @@ ``` |
@@ -122,2 +122,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| Note: Any corrections discussed here are not automatically captured. Run `discuss-phase [N]` to write them to a CONTEXT.md that planners will read. | ||
@@ -124,0 +126,0 @@ |
@@ -124,6 +124,10 @@ --- | ||
| Present configuration questions using structured question rounds. Use your platform's interactive question tool, or numbered text lists if unavailable. | ||
| > **🔴 MANDATORY INTERACTIVE QUESTIONS — You MUST present each round as a blocking question using `AskUserQuestion` (or your platform's equivalent: `ask_user_question` on Windsurf, `ask_user` on Gemini, `request_user_input` on Codex). Each round is a SEPARATE blocking call. Do NOT combine all rounds into one. Do NOT render questions as plain text or markdown lists — you MUST use the interactive question tool so the user clicks options. Wait for the user's reply after EACH round before showing the next round.** | ||
| > | ||
| > **🛑 FORBIDDEN:** Do NOT present all questions at once as a text wall. Do NOT skip any question. Do NOT invent answers. Do NOT proceed to the config.json write step until ALL 4 rounds have been answered by the user. | ||
| **Round 1 — Core settings (4 questions):** | ||
| > Present these 4 questions as a SINGLE blocking `AskUserQuestion` call. STOP and wait for the user's reply before proceeding to Round 2. | ||
| ``` | ||
@@ -136,3 +140,3 @@ AskUserQuestion([ | ||
| options: [ | ||
| { label: "YOLO (Recommended)", description: "Auto-approve steps, just execute" }, | ||
| { label: "Auto (Recommended)", description: "Auto-approve steps, just execute" }, | ||
| { label: "Interactive", description: "Confirm at each step" } | ||
@@ -173,4 +177,8 @@ ] | ||
| > 🛑 STOP. Wait for the user's Round 1 reply before continuing. | ||
| **Round 2 — Workflow agents (5 questions):** | ||
| > Present these 5 questions as a SINGLE blocking `AskUserQuestion` call. STOP and wait for the user's reply before proceeding to Round 3. | ||
| ``` | ||
@@ -226,4 +234,8 @@ AskUserQuestion([ | ||
| > 🛑 STOP. Wait for the user's Round 2 reply before continuing. | ||
| **Round 3 — Pipeline & git (4 questions):** | ||
| > Present these 4 questions as a SINGLE blocking `AskUserQuestion` call. STOP and wait for the user's reply before proceeding to Round 4. | ||
| ``` | ||
@@ -271,4 +283,26 @@ AskUserQuestion([ | ||
| > 🛑 STOP. Wait for the user's Round 3 reply before continuing. | ||
| <!-- LEARNSHIP_PARALLEL_BLOCK --> | ||
| > 🛑 STOP. Wait for the user's Round 4 reply (parallelization) before continuing. | ||
| **Now create `.planning/config.json`** — use EXACTLY this schema. Map the user's answers to these keys. Do NOT invent keys. Do NOT use flat keys like `working_style`, `model_tier`, `platform`, `milestone`, or `phases` — those are WRONG. | ||
| **Key mapping from questions to config:** | ||
| - Working Style → `"mode"`: `"auto"` or `"interactive"` | ||
| - Granularity → `"granularity"`: `"coarse"`, `"standard"`, or `"fine"` | ||
| - Learning Partner → `"learning_mode"`: `"auto"` or `"manual"` | ||
| - AI Models → `"model_profile"`: `"balanced"`, `"quality"`, or `"budget"` | ||
| - Research → `"workflow.research"`: `true` or `false` | ||
| - Plan Check → `"workflow.plan_check"`: `true` or `false` | ||
| - Verifier → `"workflow.verifier"`: `true` or `false` | ||
| - Review → `"workflow.review"`: `true` or `false` | ||
| - Solutions Search → `"workflow.solutions_search"`: `true` or `false` | ||
| - TDD → `"test_first"`: `true` or `false` | ||
| - Ship Pipeline → `"ship.auto_test"`, `"ship.conventional_commits"`, `"ship.pr_template"`: each `true` or `false` | ||
| - Git Tracking → `"planning.commit_docs"`: `true` or `false` | ||
| - Commit Mode → `"planning.commit_mode"`: `"auto"` or `"manual"` | ||
| - Parallel Execution → `"parallelization.enabled"`: `true` or `false` | ||
| Create `.planning/config.json` with all settings: | ||
@@ -278,3 +312,3 @@ | ||
| { | ||
| "mode": "yolo|interactive", | ||
| "mode": "auto|interactive", | ||
| "granularity": "coarse|standard|fine", | ||
@@ -341,2 +375,34 @@ "model_profile": "quality|balanced|budget", | ||
| **Verify config.json was written correctly:** | ||
| ```bash | ||
| node -e " | ||
| const fs=require('fs'); | ||
| try{ | ||
| const c=JSON.parse(fs.readFileSync('.planning/config.json','utf8')); | ||
| const errs=[]; | ||
| if(!['auto','interactive'].includes(c.mode)) errs.push('mode must be auto|interactive, got: '+c.mode); | ||
| if(!['coarse','standard','fine'].includes(c.granularity)) errs.push('granularity must be coarse|standard|fine'); | ||
| if(!['quality','balanced','budget'].includes(c.model_profile)) errs.push('model_profile must be quality|balanced|budget'); | ||
| if(!['auto','manual'].includes(c.learning_mode)) errs.push('learning_mode must be auto|manual'); | ||
| if(typeof c.test_first!=='boolean') errs.push('test_first must be boolean'); | ||
| if(!c.planning||!['auto','manual'].includes(c.planning.commit_mode)) errs.push('planning.commit_mode must be auto|manual'); | ||
| if(!c.workflow||typeof c.workflow.research!=='boolean') errs.push('workflow.research must be boolean'); | ||
| if(!c.workflow||typeof c.workflow.plan_check!=='boolean') errs.push('workflow.plan_check must be boolean'); | ||
| if(!c.workflow||typeof c.workflow.verifier!=='boolean') errs.push('workflow.verifier must be boolean'); | ||
| if(!c.workflow||typeof c.workflow.review!=='boolean') errs.push('workflow.review must be boolean'); | ||
| if(!c.parallelization||typeof c.parallelization.enabled!=='boolean') errs.push('parallelization.enabled must be boolean'); | ||
| if(!c.ship||typeof c.ship.auto_test!=='boolean') errs.push('ship.auto_test must be boolean'); | ||
| const bad=['working_style','model_tier','platform','milestone','phases','commit_mode']; | ||
| for(const k of bad){if(k in c)errs.push('FORBIDDEN top-level key: '+k+' — use the nested schema');} | ||
| if(errs.length){console.log('CONFIG_INVALID');errs.forEach(e=>console.log(' - '+e));} | ||
| else console.log('CONFIG_VALID'); | ||
| }catch(e){console.log('CONFIG_MISSING_OR_CORRUPT: '+e.message);} | ||
| " | ||
| ``` | ||
| **If `CONFIG_INVALID` or `CONFIG_MISSING_OR_CORRUPT`:** The config file is wrong. Fix it to match the schema above exactly, then re-run the verification. Do NOT proceed until it passes. | ||
| **If `CONFIG_VALID`:** Continue. | ||
| If `planning.commit_docs` is false, add `.planning/` to `.gitignore`: | ||
@@ -343,0 +409,0 @@ ```bash |
@@ -94,2 +94,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| If "All clear" → skip to Step 4. | ||
@@ -96,0 +98,0 @@ |
@@ -97,2 +97,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| ## Step 5: Resolve Open Threats | ||
@@ -156,2 +158,4 @@ | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| ## Step 6: Write SECURITY.md | ||
@@ -158,0 +162,0 @@ |
@@ -21,3 +21,3 @@ --- | ||
| { | ||
| "mode": "interactive", | ||
| "mode": "auto", | ||
| "granularity": "standard", | ||
@@ -121,3 +121,3 @@ "model_profile": "balanced", | ||
| options: [ | ||
| { label: "YOLO", description: "Auto-approve steps, just execute" }, | ||
| { label: "Auto", description: "Auto-approve steps, just execute" }, | ||
| { label: "Interactive", description: "Confirm at each step, more control" } | ||
@@ -148,2 +148,4 @@ ] | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| **Round 2 — Workflow agents (6 questions):** | ||
@@ -210,2 +212,4 @@ | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| **Round 3 — Pipeline & git (4 questions):** | ||
@@ -256,2 +260,4 @@ | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| ## Step 5: Save Config | ||
@@ -258,0 +264,0 @@ |
@@ -100,2 +100,4 @@ --- | ||
| > 🛑 STOP. Wait for the user's reply before continuing. | ||
| **If "Fill all gaps":** | ||
@@ -102,0 +104,0 @@ |
+2
-2
| { | ||
| "name": "learnship", | ||
| "version": "2.3.1", | ||
| "version": "2.3.2", | ||
| "description": "Learn as you build. Build with intent. — A multi-platform agentic engineering system for Windsurf, Claude Code, Cursor, OpenCode, Gemini CLI, and Codex: 57 spec-driven workflows, 17 specialist agent personas, integrated learning, and production-grade design.", | ||
@@ -59,4 +59,4 @@ "keywords": [ | ||
| "engines": { | ||
| "node": ">=18.0.0" | ||
| "node": ">=22.0.0" | ||
| } | ||
| } |
+5
-5
@@ -41,3 +41,3 @@ # learnship | ||
| **Works on Mac, Windows, and Linux.** Requires Node.js ≥ 18 and Git. The installer auto-detects your platform. | ||
| **Works on Mac, Windows, and Linux.** Requires Node.js ≥ 22 and Git. The installer auto-detects your platform. | ||
@@ -525,3 +525,3 @@ ```bash | ||
| |---------|---------|---------|-----------------| | ||
| | `mode` | `yolo`, `interactive` | `yolo` | `yolo` auto-approves steps; `interactive` confirms at each decision | | ||
| | `mode` | `auto`, `interactive` | `auto` | `auto` auto-approves steps; `interactive` confirms at each decision | | ||
| | `granularity` | `coarse`, `standard`, `fine` | `standard` | Phase size: 3-5 / 5-8 / 8-12 phases | | ||
@@ -584,4 +584,4 @@ | `model_profile` | `quality`, `balanced`, `budget` | `balanced` | Agent model tier (see table below) | | ||
| |----------|--------|--------------|----------------|----------|------------|---------| | ||
| | Prototyping | `yolo` | `coarse` | `budget` | off | off | off | | ||
| | Normal dev | `yolo` | `standard` | `balanced` | on | on | on | | ||
| | Prototyping | `auto` | `coarse` | `budget` | off | off | off | | ||
| | Normal dev | `auto` | `standard` | `balanced` | on | on | on | | ||
| | Production | `interactive` | `fine` | `quality` | on | on | on | | ||
@@ -902,3 +902,3 @@ | ||
| ├── tests/ | ||
| │ └── validate_multiplatform.sh # 511+ check test suite (5 suites, 6 platforms) | ||
| │ └── run_all.sh # 15 test suites, 1200+ checks across 6 platforms | ||
| ├── SKILL.md # Meta-skill: platform context loaded by Cascade / AI agents | ||
@@ -905,0 +905,0 @@ ├── install.sh # Shell installer wrapper |
@@ -232,3 +232,3 @@ <planning_config> | ||
| Controls which confirmation prompts are shown during workflows. Set to `false` to skip specific confirmations (useful for experienced users in yolo mode). | ||
| Controls which confirmation prompts are shown during workflows. Set to `false` to skip specific confirmations (useful for experienced users in auto mode). | ||
@@ -235,0 +235,0 @@ | Option | Default | Description | |
| { | ||
| "mode": "interactive", | ||
| "mode": "auto", | ||
| "granularity": "standard", | ||
@@ -4,0 +4,0 @@ "context": "dev", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
1260826
0.65%2239
0.31%