learnship 1.9.4 → 1.9.6

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.4",
4
+ "version": "1.9.6",
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.4",
5
+ "version": "1.9.6",
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.4",
3
+ "version": "1.9.6",
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/",
@@ -8,23 +8,46 @@ Initialize a new project with full context gathering, optional research, require
8
8
 
9
9
  ## Step 1: Setup
10
10
 
11
- Check if `.planning/PROJECT.md` already exists:
11
+ **Detect the current platform** using environment variables and known platform indicators:
12
12
 
13
13
  ```bash
14
- test -f .planning/PROJECT.md && echo "EXISTS" || echo "NEW"
15
- ```
14
+ # Detect platform via environment variables set by each AI tool
15
+ if [ -n "$CLAUDE_CONFIG_DIR" ] || [ -n "$ANTHROPIC_API_KEY" ] || command -v claude >/dev/null 2>&1; then
16
+ echo "CLAUDE"
17
+ elif [ -n "$OPENCODE_CONFIG_DIR" ] || command -v opencode >/dev/null 2>&1; then
18
+ echo "OPENCODE"
19
+ elif [ -n "$GEMINI_API_KEY" ] || command -v gemini >/dev/null 2>&1; then
20
+ echo "GEMINI"
21
+ elif [ -n "$OPENAI_API_KEY" ] && command -v codex >/dev/null 2>&1; then
22
+ echo "CODEX"
23
+ elif [ -d "$HOME/.codeium" ] || [ -n "$WINDSURF_CONFIG_DIR" ]; then
24
+ echo "WINDSURF"
25
+ else
26
+ echo "UNKNOWN"
27
+ fi
28
+ ```
29
+
30
+ **If result is `UNKNOWN`:** Ask the user directly: "Which platform are you running? (Windsurf / Claude Code / OpenCode / Gemini CLI / Codex CLI)"
31
+
32
+ Set `PLATFORM` to the detected value.
33
+
34
+ Platform determines:
35
+ - Which directory to add to `.gitignore` (so AI config files aren't tracked)
36
+ - Whether to ask the parallelization question (Group D below)
37
+ - The gitignore directory by platform:
38
+ - **Windsurf** → `.windsurf/`
39
+ - **Claude Code** → `.claude/`
40
+ - **OpenCode** → `.opencode/`
41
+ - **Gemini CLI** → `.gemini/`
42
+ - **Codex CLI** → `.codex/`
16
43
 
17
- **If EXISTS:** Stop. Project already initialized. Use the `progress` workflow to see where you are.
44
+ Check if `.planning/PROJECT.md` already exists:
18
45
 
19
- Check if `.windsurf/` is already in `.gitignore`:
20
46
  ```bash
21
- grep -q '.windsurf' .gitignore 2>/dev/null && echo "IGNORED" || echo "NOT_IGNORED"
47
+ test -f .planning/PROJECT.md && echo "EXISTS" || echo "NEW"
22
48
  ```
23
49
 
24
- **If NOT_IGNORED:** Add it now (regardless of whether the project is new or existing):
25
- ```bash
26
- echo '.windsurf/' >> .gitignore
27
- ```
50
+ **If EXISTS:** Stop. Project already initialized. Use the `progress` workflow to see where you are.
28
51
 
29
52
  Check if git is initialized:
30
53
 
@@ -37,11 +60,22 @@ test -d .git && echo "HAS_GIT" || echo "NO_GIT"
37
60
  git init
38
61
  ```
39
62
 
40
- Immediately add `.windsurf/` to `.gitignore` so the AI platform files are not tracked in the project repo:
63
+ Add the platform config directory to `.gitignore` so AI platform files are not tracked in the project repo. Use the platform-specific directory detected above:
41
64
  ```bash
42
- echo '.windsurf/' >> .gitignore
65
+ # For Claude Code:
66
+ grep -q '.claude/' .gitignore 2>/dev/null || echo '.claude/' >> .gitignore
67
+ # For Windsurf:
68
+ # grep -q '.windsurf/' .gitignore 2>/dev/null || echo '.windsurf/' >> .gitignore
69
+ # For OpenCode:
70
+ # grep -q '.opencode/' .gitignore 2>/dev/null || echo '.opencode/' >> .gitignore
71
+ # For Gemini CLI:
72
+ # grep -q '.gemini/' .gitignore 2>/dev/null || echo '.gemini/' >> .gitignore
73
+ # For Codex CLI:
74
+ # grep -q '.codex/' .gitignore 2>/dev/null || echo '.codex/' >> .gitignore
43
75
  ```
44
76
 
77
+ Run only the line matching the detected platform.
78
+
45
79
  Create the planning directory:
46
80
  ```bash
47
81
  mkdir -p .planning/research
@@ -75,13 +109,15 @@ Ask: "Which workflow agents should be enabled?"
75
109
  - **Plan Check** (recommended) — Verify plans achieve their goals before execution
76
110
  - **Verifier** (recommended) — Confirm deliverables match phase goals after execution
77
111
 
78
- **Group D — Parallel execution (Claude Code, OpenCode, Gemini CLI, Codex CLI only — skip for Windsurf):**
112
+ **Group D — Parallel execution:**
79
113
 
80
- Ask: "Do you want to enable parallel subagent execution?"
81
- - **No** (recommended default) — Plans execute sequentially, one at a time. Always safe, works on all platforms.
82
- - **Yes** — Each independent plan in a wave gets its own dedicated subagent with a fresh context budget. Faster but requires a platform that supports real subagents (Claude Code, OpenCode, Gemini CLI, Codex CLI). **Not available on Windsurf.**
114
+ **If PLATFORM is `WINDSURF`:** Skip this question entirely. Set `parallelization: false` automatically. Windsurf does not support real subagents.
83
115
 
84
- > Only ask this question if the platform is not Windsurf. If on Windsurf, always set `parallelization: false`.
116
+ **If PLATFORM is `CLAUDE`, `OPENCODE`, `GEMINI`, or `CODEX`:** Ask this question these platforms support real subagents:
117
+
118
+ Ask: "Do you want to enable parallel subagent execution?"
119
+ - **No** (recommended default) — Plans execute sequentially, one at a time. Safer, easier to follow.
120
+ - **Yes** — Each independent plan in a wave gets its own dedicated subagent with a fresh context budget. Faster, but uses more tokens.
85
121
 
86
122
  Ask: "Commit planning docs to git?"
87
123
  - **Yes** (recommended) — Planning docs tracked in version control
@@ -335,6 +371,8 @@ Files created:
335
371
  [- .planning/research/ (if research was run)]
336
372
 
337
373
  ▶ Next: discuss-phase 1 → plan-phase 1 → execute-phase 1
374
+
375
+ > **Platform detected:** `[PLATFORM]` — parallelization is `[true/false]`
338
376
  ```
339
377
 
340
378
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learnship",
3
- "version": "1.9.4",
3
+ "version": "1.9.6",
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",