From af94830fd5fb17b96058fd953255ae8d0d7b84b1 Mon Sep 17 00:00:00 2001 From: vitya Date: Tue, 28 Apr 2026 11:05:57 +0300 Subject: [PATCH] feat(project-bootstrap): add `we're on Windows` to default CLAUDE.md template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pin every newly-bootstrapped project to Windows / PowerShell out of the box by adding a fifth trigger line to the CLAUDE.md template. The line activates the active-platform skill, which then governs all command/example output. - skills/project-bootstrap/assets/CLAUDE.md.template: append `we're on Windows` - skills/project-bootstrap/SKILL.md: sync the embedded preview in Step 5 and document the Linux/macOS substitution - CLAUDE.md (this repo): backfill the line — was created from old template - dist/project-bootstrap.skill: rebuilt - .wiki/source/active-platform-decision.md: append "Wired into project-bootstrap" Co-Authored-By: Claude Opus 4.7 (1M context) --- .tasks/STATUS.md | 6 ++++++ .wiki/source/active-platform-decision.md | 6 ++++++ CLAUDE.md | 1 + dist/project-bootstrap.skill | Bin 2903 -> 3066 bytes skills/project-bootstrap/SKILL.md | 6 ++++++ .../assets/CLAUDE.md.template | 1 + 6 files changed, 20 insertions(+) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index fad2ca5..23fa8f8 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -3,6 +3,12 @@ _Updated: 2026-04-28_ ## Done +### project-bootstrap: include `active-platform` trigger in CLAUDE.md template +- [x] Add `we're on Windows` line to `assets/CLAUDE.md.template` +- [x] Update embedded preview in `SKILL.md` Step 5 (with note about Linux/macOS substitution) +- [x] Backfill the line in this repo's own `CLAUDE.md` +- [x] Rebuild + reinstall `project-bootstrap.skill` + ### active-platform skill - [x] Draft `skills/active-platform/SKILL.md` (RU+EN triggers, default=Windows/PowerShell, palette=Win/Linux/mac) - [x] Fixed `build.sh` PS arg-passing bug (single-quotes were leaking into `-Names` value) diff --git a/.wiki/source/active-platform-decision.md b/.wiki/source/active-platform-decision.md index bd8f3e7..af3a74d 100644 --- a/.wiki/source/active-platform-decision.md +++ b/.wiki/source/active-platform-decision.md @@ -26,6 +26,12 @@ Full spec: [`skills/active-platform/SKILL.md`](../../skills/active-platform/SKIL - **Cross-repo:** installed into `~/.claude/skills/`, applies in every session regardless of project. - **Iterable:** lives in this repo's `skills/` so we can edit + reinstall as we learn what triggers and exceptions actually happen in practice. +## Wired into `project-bootstrap` + +The default platform should travel with every new project we create. Updated `project-bootstrap` so its `CLAUDE.md.template` adds a fifth trigger line: `we're on Windows`. That line is one of `active-platform`'s recognized switches, so any project bootstrapped from now on starts pinned to Windows / PowerShell. If the user is bootstrapping on a Linux/macOS host, the `SKILL.md` Step 5 note tells them to swap the line for `we're on Linux` / `we're on macOS`. + +Backfilled the same line into this repo's own `CLAUDE.md` (which was created from the old template). + ## Open questions to revisit - Are the trigger phrases comprehensive enough? Add real-world examples as they come up. diff --git a/CLAUDE.md b/CLAUDE.md index 6c25120..b984a6c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -5,3 +5,4 @@ talk like a caveman use superpowers use project wiki use task management system +we're on Windows diff --git a/dist/project-bootstrap.skill b/dist/project-bootstrap.skill index ade028d75f6e1b85a3554edd4d881898df60f8d4..057e1087e8efc4fd309bdaab2aa74b52f7c400e6 100644 GIT binary patch delta 2601 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 diff --git a/skills/project-bootstrap/SKILL.md b/skills/project-bootstrap/SKILL.md index 682de92..5d1cd0b 100644 --- a/skills/project-bootstrap/SKILL.md +++ b/skills/project-bootstrap/SKILL.md @@ -161,8 +161,14 @@ talk like a caveman use superpowers use project wiki use task management system +we're on Windows ``` +The `we're on Windows` line activates the `active-platform` skill and pins the +project's default platform to Windows / PowerShell — so generated commands and +README quick-starts use PS-native syntax. Bootstrapping on a Linux or macOS +host? Substitute `we're on Linux` or `we're on macOS` instead. + --- ## Step 6 — Commit diff --git a/skills/project-bootstrap/assets/CLAUDE.md.template b/skills/project-bootstrap/assets/CLAUDE.md.template index 6c25120..b984a6c 100644 --- a/skills/project-bootstrap/assets/CLAUDE.md.template +++ b/skills/project-bootstrap/assets/CLAUDE.md.template @@ -5,3 +5,4 @@ talk like a caveman use superpowers use project wiki use task management system +we're on Windows