🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

learnship

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

learnship - npm Package Compare versions

Comparing version
2.3.1
to
2.3.2
+1
-1
.claude-plugin/plugin.json
{
"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 @@

{
"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"
}
}

@@ -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