From 49b80e4d8b92a2ae04d5ba4f06309708ec2c1ed7 Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 10:27:05 +1100 Subject: [PATCH 01/10] =?UTF-8?q?fix:=20critical=20runtime=20bugs=20?= =?UTF-8?q?=E2=80=94=20setup=20scaffolds=20.walnut/,=20capsules=20path,=20?= =?UTF-8?q?index=20injection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - setup.ts: scaffold .walnut/ not .alive/ for new users - index.ts: walnut_create puts _capsules/ inside _core/ not walnut root - index.ts: walnut_capture success message includes _core/ prefix - session-new.sh: read world index from .walnut/_index.yaml not .alive/ Co-Authored-By: Claude Opus 4.6 (1M context) --- plugins/walnut/hooks/scripts/walnut-session-new.sh | 4 ++-- src/index.ts | 4 ++-- src/setup.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/walnut/hooks/scripts/walnut-session-new.sh b/plugins/walnut/hooks/scripts/walnut-session-new.sh index 8f0695a..e06b2c1 100755 --- a/plugins/walnut/hooks/scripts/walnut-session-new.sh +++ b/plugins/walnut/hooks/scripts/walnut-session-new.sh @@ -143,9 +143,9 @@ if [ -f "$WORLD_KEY_FILE" ]; then WORLD_KEY_CONTENT=$(cat "$WORLD_KEY_FILE") fi -# Read world index (.alive/_index.yaml) for injection — walnut registry +# Read world index (.walnut/_index.yaml) for injection — walnut registry WORLD_INDEX_CONTENT="" -WORLD_INDEX_FILE="$WORLD_ROOT/.alive/_index.yaml" +WORLD_INDEX_FILE="$WORLD_ROOT/.walnut/_index.yaml" if [ -f "$WORLD_INDEX_FILE" ]; then WORLD_INDEX_CONTENT=" $(cat "$WORLD_INDEX_FILE") diff --git a/src/index.ts b/src/index.ts index 4b1cf11..84b28f3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -263,7 +263,7 @@ server.tool( content: [ { type: "text" as const, - text: `Captured to ${walnut}/_capsules/${capsule}/raw/${filename}`, + text: `Captured to ${walnut}/_core/_capsules/${capsule}/raw/${filename}`, }, ], }; @@ -340,7 +340,7 @@ server.tool( // Create directory structure const coreDir = join(walnutDir, "_core"); - const capsulesDir = join(walnutDir, "_capsules"); + const capsulesDir = join(coreDir, "_capsules"); mkdirSync(coreDir, { recursive: true }); mkdirSync(capsulesDir, { recursive: true }); diff --git a/src/setup.ts b/src/setup.ts index 3e745c5..dbc8435 100644 --- a/src/setup.ts +++ b/src/setup.ts @@ -117,7 +117,7 @@ export async function runSetup() { for (const d of domains) { mkdirSync(join(worldPath, d), { recursive: true }); } - mkdirSync(join(worldPath, ".alive"), { recursive: true }); + mkdirSync(join(worldPath, ".walnut"), { recursive: true }); mkdirSync(join(worldPath, "02_Life", "people"), { recursive: true }); configured.push("World scaffolded at ~/world/"); } else { From f744cb3f40a298231853ef5d6b5ce3bab0d9a32a Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 10:27:56 +1100 Subject: [PATCH 02/10] fix: log guardian recognises MCP signatures, rules guardian uses correct cache path - log-guardian: match both squirrel: and walnut-mcp: signature formats - rules-guardian: cache path updated from alivecomputer to stackwalnuts Co-Authored-By: Claude Opus 4.6 (1M context) --- plugins/walnut/hooks/scripts/walnut-log-guardian.sh | 2 +- plugins/walnut/hooks/scripts/walnut-rules-guardian.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/walnut/hooks/scripts/walnut-log-guardian.sh b/plugins/walnut/hooks/scripts/walnut-log-guardian.sh index 2fb17aa..94d15d2 100755 --- a/plugins/walnut/hooks/scripts/walnut-log-guardian.sh +++ b/plugins/walnut/hooks/scripts/walnut-log-guardian.sh @@ -31,7 +31,7 @@ fi # For Edit: check if the old_string contains a signed entry OLD_STRING=$(echo "$HOOK_INPUT" | jq -r '.tool_input.old_string // empty') -if echo "$OLD_STRING" | grep -q 'signed: squirrel:'; then +if echo "$OLD_STRING" | grep -qE 'signed: (squirrel:|walnut-mcp:)'; then echo '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"log.md is immutable. That entry is signed — add a correction entry instead."}}' exit 0 fi diff --git a/plugins/walnut/hooks/scripts/walnut-rules-guardian.sh b/plugins/walnut/hooks/scripts/walnut-rules-guardian.sh index f106403..16c4b90 100755 --- a/plugins/walnut/hooks/scripts/walnut-rules-guardian.sh +++ b/plugins/walnut/hooks/scripts/walnut-rules-guardian.sh @@ -66,7 +66,7 @@ esac # Block: anything in the Walnut plugin cache case "$FILE_PATH" in - */.claude/plugins/cache/alivecomputer/walnut/*) + */.claude/plugins/cache/stackwalnuts/walnut/*) echo "$DENY_MSG" exit 0 ;; From e1f637046132ccc472496df9fac5ebaf3db9fde1 Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 10:31:51 +1100 Subject: [PATCH 03/10] =?UTF-8?q?fix:=20deploy.sh=20=E2=80=94=20correct=20?= =?UTF-8?q?paths,=20deploy=20to=20both=20cache=20and=20marketplace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cache path: stackwalnuts/walnut/1.0.0 - Marketplace path: stackwalnuts/plugins/walnut - Gracefully skip missing directories instead of erroring Co-Authored-By: Claude Opus 4.6 (1M context) --- deploy.sh | 49 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/deploy.sh b/deploy.sh index a3c8969..77b1c4d 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,37 +1,54 @@ #!/bin/bash -# Deploy alive plugin from local clone to cache +# Deploy walnut plugin from local clone to cache + marketplace # Usage: ./deploy.sh [--dry-run] set -euo pipefail -SOURCE="$(cd "$(dirname "$0")/plugins/alive" && pwd)" -CACHE="$HOME/.claude/plugins/cache/alivecomputer/alive/1.0.1-beta" +SOURCE="$(cd "$(dirname "$0")/plugins/walnut" && pwd)" +CACHE="$HOME/.claude/plugins/cache/stackwalnuts/walnut/1.0.0" +MARKETPLACE="$HOME/.claude/plugins/marketplaces/stackwalnuts/plugins/walnut" if [ ! -d "$SOURCE" ]; then echo "ERROR: Source not found at $SOURCE" exit 1 fi -if [ ! -d "$CACHE" ]; then - echo "ERROR: Cache not found at $CACHE" - exit 1 -fi - DRY_RUN="" if [ "${1:-}" = "--dry-run" ]; then DRY_RUN="--dry-run" echo "=== DRY RUN ===" fi -echo "Source: $SOURCE" -echo "Cache: $CACHE" +echo "Source: $SOURCE" +echo "Cache: $CACHE" +echo "Marketplace: $MARKETPLACE" echo "" -rsync -av --delete \ - --exclude='.git' \ - --exclude='.DS_Store' \ - $DRY_RUN \ - "$SOURCE/" "$CACHE/" +# Deploy to cache (if it exists) +if [ -d "$CACHE" ]; then + rsync -av --delete \ + --exclude='.git' \ + --exclude='.DS_Store' \ + $DRY_RUN \ + "$SOURCE/" "$CACHE/" + echo "" + echo "Cache deployed." +else + echo "Cache dir not found at $CACHE — skipping." +fi + +# Deploy to marketplace (if it exists) +if [ -d "$MARKETPLACE" ]; then + rsync -av --delete \ + --exclude='.git' \ + --exclude='.DS_Store' \ + $DRY_RUN \ + "$SOURCE/" "$MARKETPLACE/" + echo "" + echo "Marketplace deployed." +else + echo "Marketplace dir not found at $MARKETPLACE — skipping." +fi echo "" -echo "Deployed $(date '+%Y-%m-%d %H:%M:%S')" +echo "Done $(date '+%Y-%m-%d %H:%M:%S')" From 36982d6d1fbe3e893b134c545ebcfcbcace0180a Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 10:32:47 +1100 Subject: [PATCH 04/10] =?UTF-8?q?fix:=20GitHub=20configs=20=E2=80=94=20URL?= =?UTF-8?q?s,=20skill=20names,=20branding=20updated=20to=20walnut/stackwal?= =?UTF-8?q?nuts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Issue template: discussions URL → stackwalnuts/walnut - Feature request: alive:save → walnut:save - Funding: alivecomputer.com → walnut.world - PR template: ALIVE session → walnut session Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/FUNDING.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 2f38c45..a0cc428 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1 @@ -custom: ["https://alivecomputer.com"] +custom: ["https://walnut.world"] diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 96d63f1..2662863 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: true contact_links: - name: Community Discussion - url: https://github.com/alivecomputer/alive-claude/discussions + url: https://github.com/stackwalnuts/walnut/discussions about: Questions, ideas, and show & tell diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 99b3846..6ecac27 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -7,7 +7,7 @@ assignees: '' --- **Component:** -**Affects:** +**Affects:** ## Problem diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0467acc..d020fe7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -21,7 +21,7 @@ ## Session context - + ```yaml ``` From 1b354ac689a110deb7de48135be8923dd44bcdfc Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 10:33:51 +1100 Subject: [PATCH 05/10] =?UTF-8?q?fix:=20branding=20sweep=20=E2=80=94=20CLA?= =?UTF-8?q?UDE.md=20heading,=20skill=20refs,=20demo=20output=20updated=20t?= =?UTF-8?q?o=20walnut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CLAUDE.md: # ALIVE → # Walnut - setup.md: "installed alive" → "installed Walnut" - extend skill: contributor@alivecomputer → contributor@stackwalnuts (3 places) - history skill: alivecomputer.com → walnut.world in demo output - Hermes skill: "Load ALIVE walnut" → "Load walnut" in description Co-Authored-By: Claude Opus 4.6 (1M context) --- plugins/walnut/CLAUDE.md | 2 +- plugins/walnut/skills/extend/SKILL.md | 6 +++--- plugins/walnut/skills/history/SKILL.md | 2 +- plugins/walnut/skills/world/setup.md | 2 +- skills/walnuts/SKILL.md | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/walnut/CLAUDE.md b/plugins/walnut/CLAUDE.md index ac9c7e0..c6632a4 100644 --- a/plugins/walnut/CLAUDE.md +++ b/plugins/walnut/CLAUDE.md @@ -3,7 +3,7 @@ version: 1.0.1-beta runtime: squirrel.core@1.0 --- -# ALIVE +# Walnut **Personal Private Context Infrastructure** diff --git a/plugins/walnut/skills/extend/SKILL.md b/plugins/walnut/skills/extend/SKILL.md index 5132d59..5f33c04 100644 --- a/plugins/walnut/skills/extend/SKILL.md +++ b/plugins/walnut/skills/extend/SKILL.md @@ -18,7 +18,7 @@ Not about adjusting preferences or voice (that's `walnut:tune`). Extend is about | **Skill** | Repeatable workflow with instructions | `.walnut/skills/{skill-name}/SKILL.md` | | **Rule** | Behavioral constraint or guide | `.walnut/rules/{rule-name}.md` | | **Hook** | Automated trigger on system events | `.walnut/hooks/` (scripts + hooks.json) | -| **Plugin** | Distributable package of skills + rules + hooks | Hands off to `contributor@alivecomputer` | +| **Plugin** | Distributable package of skills + rules + hooks | Hands off to `contributor@stackwalnuts` | --- @@ -178,13 +178,13 @@ When a custom skill is polished and battle-tested: ╰─ ``` -**Contributor plugin handoff:** For marketplace packaging, PII stripping, testing, and publishing -> suggest installing `contributor@alivecomputer`. This is a SEPARATE plugin, not part of walnut core. The extend skill's job ends at building working custom capabilities. The contributor plugin handles everything from packaging to publishing. +**Contributor plugin handoff:** For marketplace packaging, PII stripping, testing, and publishing -> suggest installing `contributor@stackwalnuts`. This is a SEPARATE plugin, not part of walnut core. The extend skill's job ends at building working custom capabilities. The contributor plugin handles everything from packaging to publishing. ``` ╭─ 🐿️ to publish this skill: │ │ 1. Install the contributor plugin: -│ claude plugin install contributor@alivecomputer +│ claude plugin install contributor@stackwalnuts │ │ 2. Run: walnut:contribute {skill-name} │ It handles: PII check, packaging, testing, submission diff --git a/plugins/walnut/skills/history/SKILL.md b/plugins/walnut/skills/history/SKILL.md index d28628c..2e5c2ec 100644 --- a/plugins/walnut/skills/history/SKILL.md +++ b/plugins/walnut/skills/history/SKILL.md @@ -36,7 +36,7 @@ Show recent sessions across all walnuts. │ System architecture, blueprint, 8 skills built, shipped v0.1-beta │ │ 2. a44d04aa orbit-lab yesterday opus-4-6 -│ alivecomputer.com rebuilt, whitepaper v0.3, brand locked +│ walnut.world rebuilt, whitepaper v0.3, brand locked │ │ 3. 5551126e orbit-lab Feb 22 opus-4-6 │ Companion app, web installer, plugin v0.1-beta released diff --git a/plugins/walnut/skills/world/setup.md b/plugins/walnut/skills/world/setup.md index fe5a8d5..04f2d49 100644 --- a/plugins/walnut/skills/world/setup.md +++ b/plugins/walnut/skills/world/setup.md @@ -6,7 +6,7 @@ internal: true # Setup — Three Paths to a World -First time. No ALIVE folders exist. You just installed alive. Make it feel like something just came alive. +First time. No ALIVE folders exist. You just installed Walnut. Make it feel like something just came alive. All three paths produce the same result: a fully scaffolded ALIVE world with domain folders, `.walnut/` config, and at least one walnut. The only difference is how we collect the information. diff --git a/skills/walnuts/SKILL.md b/skills/walnuts/SKILL.md index d21f1f2..e192f87 100644 --- a/skills/walnuts/SKILL.md +++ b/skills/walnuts/SKILL.md @@ -1,6 +1,6 @@ --- name: walnuts -description: Load ALIVE walnut context — structured project memory across sessions. Read priorities, save decisions, manage tasks across your world. +description: Load walnut context — structured project memory across sessions. Read priorities, save decisions, manage tasks across your world. version: 1.0.0 platforms: [macos, linux] metadata: From 821981156460021e5c4ae42beefe33ef35b52cd7 Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 10:35:09 +1100 Subject: [PATCH 06/10] =?UTF-8?q?fix:=20stale=20comment=20in=20scanner.ts?= =?UTF-8?q?=20=E2=80=94=20.alive/=20reference?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- src/world/scanner.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/world/scanner.ts b/src/world/scanner.ts index 26ab49a..282b382 100644 --- a/src/world/scanner.ts +++ b/src/world/scanner.ts @@ -181,7 +181,7 @@ function walkForWalnuts(dir: string, results: FoundKeyMd[]): void { }); } - // Recurse into subdirectories, but skip _core/, _capsules/, _squirrels/, .alive/ + // Recurse into subdirectories, but skip _core/, _capsules/, _squirrels/, .walnut/ for (const entry of entries) { if (entry.startsWith(".") || entry === "_core" || entry === "_capsules" || entry === "_squirrels") { continue; From 89c5aebce9de95b1c35e0c4ed6db5bf5cbd0d3aa Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 10:36:29 +1100 Subject: [PATCH 07/10] =?UTF-8?q?revert:=20keep=20"ALIVE=20walnut=20contex?= =?UTF-8?q?t"=20in=20Hermes=20skill=20=E2=80=94=20ALIVE=20is=20the=20frame?= =?UTF-8?q?work=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- skills/walnuts/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/walnuts/SKILL.md b/skills/walnuts/SKILL.md index e192f87..d21f1f2 100644 --- a/skills/walnuts/SKILL.md +++ b/skills/walnuts/SKILL.md @@ -1,6 +1,6 @@ --- name: walnuts -description: Load walnut context — structured project memory across sessions. Read priorities, save decisions, manage tasks across your world. +description: Load ALIVE walnut context — structured project memory across sessions. Read priorities, save decisions, manage tasks across your world. version: 1.0.0 platforms: [macos, linux] metadata: From f4d74609af33a4a0886efa9bc1c68b05c0d68535 Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 10:47:25 +1100 Subject: [PATCH 08/10] =?UTF-8?q?refactor:=20rename=20templates/alive/=20t?= =?UTF-8?q?o=20templates/world/=20=E2=80=94=20world-level=20config=20templ?= =?UTF-8?q?ates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - git mv templates/alive → templates/world - squirrels.md: template path reference updated - setup.md: 3 template path references updated - world/key.md: example repo URL → stackwalnuts/walnut Co-Authored-By: Claude Opus 4.6 (1M context) --- plugins/walnut/rules/squirrels.md | 2 +- plugins/walnut/skills/world/setup.md | 6 +++--- plugins/walnut/templates/alive/key.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/walnut/rules/squirrels.md b/plugins/walnut/rules/squirrels.md index 8179f5f..0a097c4 100644 --- a/plugins/walnut/rules/squirrels.md +++ b/plugins/walnut/rules/squirrels.md @@ -98,7 +98,7 @@ One clear explanation. Then move on. Don't over-explain. Don't patronise. Don't Never create or overwrite a system file without reading its template first. -Before writing to `.walnut/` → read the corresponding template from the plugin at `templates/alive/`. +Before writing to `.walnut/` → read the corresponding template from the plugin at `templates/world/`. Before writing to any walnut system file (_core/key.md, _core/now.md, _core/log.md, _core/insights.md, _core/tasks.md) → read the corresponding template from `templates/walnut/`. Before creating a capsule companion → read `templates/capsule/companion.md`. diff --git a/plugins/walnut/skills/world/setup.md b/plugins/walnut/skills/world/setup.md index 04f2d49..91ca645 100644 --- a/plugins/walnut/skills/world/setup.md +++ b/plugins/walnut/skills/world/setup.md @@ -400,7 +400,7 @@ Show: #### Step 2: World identity — .walnut/key.md -Read the template from the plugin: `templates/alive/key.md` +Read the template from the plugin: `templates/world/key.md` Replace template variables: - `{{name}}` → world name @@ -434,7 +434,7 @@ Show: #### Step 3: Preferences — .walnut/preferences.yaml -Read the template from the plugin: `templates/alive/preferences.yaml` +Read the template from the plugin: `templates/world/preferences.yaml` If preferences were provided (Path A only), uncomment the relevant lines and set values. @@ -460,7 +460,7 @@ Show: #### Step 4: Overrides — .walnut/overrides.md -Read the template from the plugin: `templates/alive/overrides.md` +Read the template from the plugin: `templates/world/overrides.md` Write as-is. No variable replacement needed. diff --git a/plugins/walnut/templates/alive/key.md b/plugins/walnut/templates/alive/key.md index 09d232a..fa1c75e 100644 --- a/plugins/walnut/templates/alive/key.md +++ b/plugins/walnut/templates/alive/key.md @@ -30,7 +30,7 @@ links: [] - **Slack** — via MCP server. Posts to channels, reads history. - **Notion** — via MCP server. Task management, knowledge base. - **Otter** — transcript sync script at ~/scripts/otter-sync.sh - - **GitHub** — via gh CLI. Repos: alivecomputer/walnut + - **GitHub** — via gh CLI. Repos: stackwalnuts/walnut --> ## Key People From 1739dfad47d1bfd0c0c74820d26fe80b69086fb7 Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 12:40:46 +1100 Subject: [PATCH 09/10] fix: CI workflow validates plugins/walnut/ not plugins/alive/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PLUGIN_DIR: plugins/alive → plugins/walnut - Label: ALIVE → Walnut - Template dirs: alive → world (matches directory rename) Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/validate-plugin.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/validate-plugin.yml b/.github/workflows/validate-plugin.yml index d5888c9..923fc31 100644 --- a/.github/workflows/validate-plugin.yml +++ b/.github/workflows/validate-plugin.yml @@ -16,10 +16,10 @@ jobs: - name: Validate plugin structure run: | - PLUGIN_DIR="plugins/alive" + PLUGIN_DIR="plugins/walnut" ERRORS=0 - echo "=== Validating ALIVE plugin structure ===" + echo "=== Validating Walnut plugin structure ===" # Check required top-level files for file in CLAUDE.md; do @@ -88,7 +88,7 @@ jobs: # Check templates exist echo "" echo "=== Templates ===" - for template_dir in alive walnut capsule squirrel; do + for template_dir in world walnut capsule squirrel; do if [ ! -d "$PLUGIN_DIR/templates/$template_dir" ]; then echo "⚠️ Template directory '$template_dir' not found (optional)" else From 7937d1b9854cca265c7ea50da6eb70ca6e03d0ef Mon Sep 17 00:00:00 2001 From: willsupernormal Date: Fri, 27 Mar 2026 14:07:33 +1100 Subject: [PATCH 10/10] refactor: rename templates/alive/ directory to templates/world/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cherry-pick captured the reference updates but not the directory rename. This commit completes the rename: templates/alive/ → templates/world/. Co-Authored-By: Claude Opus 4.6 (1M context) --- plugins/walnut/templates/{alive => world}/agents.md | 0 plugins/walnut/templates/{alive => world}/key.md | 0 plugins/walnut/templates/{alive => world}/overrides.md | 0 plugins/walnut/templates/{alive => world}/preferences.yaml | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename plugins/walnut/templates/{alive => world}/agents.md (100%) rename plugins/walnut/templates/{alive => world}/key.md (100%) rename plugins/walnut/templates/{alive => world}/overrides.md (100%) rename plugins/walnut/templates/{alive => world}/preferences.yaml (100%) diff --git a/plugins/walnut/templates/alive/agents.md b/plugins/walnut/templates/world/agents.md similarity index 100% rename from plugins/walnut/templates/alive/agents.md rename to plugins/walnut/templates/world/agents.md diff --git a/plugins/walnut/templates/alive/key.md b/plugins/walnut/templates/world/key.md similarity index 100% rename from plugins/walnut/templates/alive/key.md rename to plugins/walnut/templates/world/key.md diff --git a/plugins/walnut/templates/alive/overrides.md b/plugins/walnut/templates/world/overrides.md similarity index 100% rename from plugins/walnut/templates/alive/overrides.md rename to plugins/walnut/templates/world/overrides.md diff --git a/plugins/walnut/templates/alive/preferences.yaml b/plugins/walnut/templates/world/preferences.yaml similarity index 100% rename from plugins/walnut/templates/alive/preferences.yaml rename to plugins/walnut/templates/world/preferences.yaml