Compare commits
2 Commits
6c83a35d6d
...
b12039720d
| Author | SHA1 | Date | |
|---|---|---|---|
| b12039720d | |||
| e2b5a6b9fe |
@@ -14,6 +14,14 @@ _Updated: 2026-04-30_
|
|||||||
🔵 Blocked — waiting on external input
|
🔵 Blocked — waiting on external input
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## 🟢 [bootstrap-projects-meta-trigger] — project-bootstrap CLAUDE.md template gains `check across all projects`
|
||||||
|
**Status:** done
|
||||||
|
**Where I stopped:** template + inline SKILL.md copy patched, version bumped 1.1.0→1.2.0; both READMEs and local CLAUDE.md synced; skill reinstalled to `~/.claude/skills/project-bootstrap/`, `dist/project-bootstrap.skill` rebuilt; concept extension added to `.wiki/concepts/projects-meta-skills.md`; log entry written; verified installed `version: 1.2.0` and template carries the new line
|
||||||
|
**Next action:** (none — kept until merged)
|
||||||
|
**Branch:** master
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🟢 [bootstrap-recommend-superpowers] — project-bootstrap recommends superpowers plugin if missing
|
## 🟢 [bootstrap-recommend-superpowers] — project-bootstrap recommends superpowers plugin if missing
|
||||||
**Status:** done
|
**Status:** done
|
||||||
**Where I stopped:** Step 5.6 added to `skills/project-bootstrap/SKILL.md` (read `~/.claude/plugins/installed_plugins.json`, print install command + upstream link if `superpowers@claude-plugins-official` key missing); version bumped 1.0.0 → 1.1.0; README workflow numbering updated; skill reinstalled to `~/.claude/skills/project-bootstrap/` and `dist/project-bootstrap.skill` rebuilt; log entry added
|
**Where I stopped:** Step 5.6 added to `skills/project-bootstrap/SKILL.md` (read `~/.claude/plugins/installed_plugins.json`, print install command + upstream link if `superpowers@claude-plugins-official` key missing); version bumped 1.0.0 → 1.1.0; README workflow numbering updated; skill reinstalled to `~/.claude/skills/project-bootstrap/` and `dist/project-bootstrap.skill` rebuilt; log entry added
|
||||||
|
|||||||
30
.tasks/bootstrap-projects-meta-trigger.md
Normal file
30
.tasks/bootstrap-projects-meta-trigger.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# bootstrap-projects-meta-trigger
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
Add `check across all projects` to the CLAUDE.md template that `project-bootstrap` writes to every project, so the `using-projects-meta` skill auto-loads in every bootstrapped repo (current set already had four triggers — `talk like a caveman`, `use superpowers`, `use project wiki`, `use task management system`, plus `we're on Windows`). Bumps `project-bootstrap` 1.1.0 → 1.2.0 (additive default-artifact change).
|
||||||
|
|
||||||
|
## Key files
|
||||||
|
- `skills/project-bootstrap/assets/CLAUDE.md.template` — the file actually copied into bootstrapped projects
|
||||||
|
- `skills/project-bootstrap/SKILL.md` — inline copy of the same template (must stay in sync) + version frontmatter
|
||||||
|
- `README.md` / `README.ru.md` — the "Using skills in projects" section enumerates the trigger list
|
||||||
|
- `CLAUDE.md` (this repo) — local instance must also gain the line so the trigger fires here too
|
||||||
|
- `dist/project-bootstrap.skill` — packaged artifact, rebuilt from the source tree
|
||||||
|
|
||||||
|
## Decisions log
|
||||||
|
- 2026-04-30: trigger phrase = `check across all projects` — buffer-direct quote from `using-projects-meta` description, matches existing imperative style of other lines (`use X`, `talk like X`).
|
||||||
|
- 2026-04-30: not adding a Step 5.7 mirror of Step 5.6 (recommend `setup-projects-meta`) — out of scope for this task. Trigger fires `using-projects-meta` whose Prerequisites already point at `setup-projects-meta` if MCP tools are missing. Open question for follow-up.
|
||||||
|
|
||||||
|
## Open questions
|
||||||
|
- [ ] Should `project-bootstrap` also detect missing `mcp__projects-meta__*` tools and recommend `setup-projects-meta` (analogous to Step 5.6 for superpowers)? Defer until we see a fresh-machine bootstrap miss the dependency.
|
||||||
|
|
||||||
|
## Completed steps
|
||||||
|
- [x] task entry created
|
||||||
|
- [x] `skills/project-bootstrap/assets/CLAUDE.md.template` — added `check across all projects` between `use task management system` and `we're on Windows`
|
||||||
|
- [x] `skills/project-bootstrap/SKILL.md` — inline template at Step 5 synced; explanatory paragraph added; `version: 1.1.0 → 1.2.0`
|
||||||
|
- [x] `README.md` + `README.ru.md` — trigger list in "Using skills in projects" / "Использование в проектах" updated
|
||||||
|
- [x] `CLAUDE.md` (this repo) — local instance gained the new line so the trigger fires here
|
||||||
|
- [x] `bash scripts/install.sh project-bootstrap` — reinstalled to `~/.claude/skills/project-bootstrap/`
|
||||||
|
- [x] `bash scripts/build.sh project-bootstrap` — `dist/project-bootstrap.skill` rebuilt
|
||||||
|
- [x] verified: installed `version: 1.2.0`, template content matches
|
||||||
|
- [x] `.wiki/concepts/projects-meta-skills.md` — appended "Bootstrap trigger (project-bootstrap@1.2.0)" section explaining choice of phrase + non-decision on Step 5.7
|
||||||
|
- [x] `.wiki/log.md` — `decision` entry added
|
||||||
18
.wiki/concepts/bootstrap-manifest.md
Normal file
18
.wiki/concepts/bootstrap-manifest.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
title: Bootstrap Manifest
|
||||||
|
type: concept
|
||||||
|
updated: 2026-04-30
|
||||||
|
generator: project-bootstrap@1.1.0
|
||||||
|
---
|
||||||
|
|
||||||
|
# Bootstrap Manifest
|
||||||
|
|
||||||
|
Skills used to initialize this project's `.wiki/` and `.tasks/` layout, with their versions at install time.
|
||||||
|
|
||||||
|
| Skill | Version | Role |
|
||||||
|
|---|---|---|
|
||||||
|
| `project-bootstrap` | 1.1.0 | orchestrator |
|
||||||
|
| `setup-wiki` | 1.0.0 | wiki canonical layout |
|
||||||
|
| `setup-tasks` | 1.0.0 | tasks canonical layout |
|
||||||
|
|
||||||
|
This file is overwritten if `project-bootstrap` is re-run on the same project. For history, use `git log .wiki/concepts/bootstrap-manifest.md`.
|
||||||
@@ -84,3 +84,17 @@ Why: `projects-meta` is a bus between machines. Another host can push minutes ag
|
|||||||
## Round-trip note
|
## Round-trip note
|
||||||
|
|
||||||
The task `[projects-meta-skills]` was created on a different machine (`OpeItcLoc03@DESKTOP-NSEF0UK`) via `mcp__projects-meta__tasks_create target_project=claude-skills`. Closing it on this machine via `mcp__projects-meta__tasks_close target_project=claude-skills slug=projects-meta-skills` round-trips back to the same Gitea board — both sides see the 🟢 done state. First end-to-end multi-machine task lifecycle in the fleet.
|
The task `[projects-meta-skills]` was created on a different machine (`OpeItcLoc03@DESKTOP-NSEF0UK`) via `mcp__projects-meta__tasks_create target_project=claude-skills`. Closing it on this machine via `mcp__projects-meta__tasks_close target_project=claude-skills slug=projects-meta-skills` round-trips back to the same Gitea board — both sides see the 🟢 done state. First end-to-end multi-machine task lifecycle in the fleet.
|
||||||
|
|
||||||
|
## Bootstrap trigger (project-bootstrap@1.2.0)
|
||||||
|
|
||||||
|
The CLAUDE.md template that `project-bootstrap` writes to every new (or upgraded) project gained a fifth trigger line:
|
||||||
|
|
||||||
|
```
|
||||||
|
check across all projects
|
||||||
|
```
|
||||||
|
|
||||||
|
This loads `using-projects-meta` automatically in every bootstrapped repo so cross-project task aggregation and the shared `projects-wiki` are reachable without an explicit verbal trigger.
|
||||||
|
|
||||||
|
The phrase is a verbatim quote from `using-projects-meta`'s `description:` triggers — guaranteed match against the harness's keyword index, no fuzzy matching required.
|
||||||
|
|
||||||
|
The trigger is a **no-op** when `mcp__projects-meta__*` tools aren't registered in the session. On a fresh machine, `setup-projects-meta` provides the install path; `using-projects-meta`'s Prerequisites already redirects there. We deliberately did **not** add a Step 5.7 mirror of Step 5.6 (the `superpowers` plugin recommendation) for `projects-meta` — the wiring is already self-correcting via the Prerequisites pointer, and bootstrap shouldn't grow a recommendation block per skill. If fresh-machine bootstraps start silently failing the dependency check, revisit.
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ Catalog of all wiki pages. One line per page, organized by type. Updated on ever
|
|||||||
## Concepts
|
## Concepts
|
||||||
|
|
||||||
- [active-platform-decision.md](concepts/active-platform-decision.md) — why `active-platform` is a skill (not a memory entry); why default = Windows; how it's wired into `project-bootstrap`
|
- [active-platform-decision.md](concepts/active-platform-decision.md) — why `active-platform` is a skill (not a memory entry); why default = Windows; how it's wired into `project-bootstrap`
|
||||||
|
- [bootstrap-manifest.md](concepts/bootstrap-manifest.md) — record of which `project-bootstrap` / `setup-wiki` / `setup-tasks` versions initialized this project's `.wiki/` and `.tasks/` layout (overwritten on re-bootstrap; history in git)
|
||||||
- [build-notes.md](concepts/build-notes.md) — why `build.ps1` exists alongside `build.sh`; PS 5.1 backslash-in-zip gotcha; how to extract a `.skill`
|
- [build-notes.md](concepts/build-notes.md) — why `build.ps1` exists alongside `build.sh`; PS 5.1 backslash-in-zip gotcha; how to extract a `.skill`
|
||||||
- [install-portability.md](concepts/install-portability.md) — `install.sh` / `build.sh` rewritten to drop `mapfile` (bash 4+) and `find -printf` (GNU only) so stock macOS (bash 3.2 + BSD find) works
|
- [install-portability.md](concepts/install-portability.md) — `install.sh` / `build.sh` rewritten to drop `mapfile` (bash 4+) and `find -printf` (GNU only) so stock macOS (bash 3.2 + BSD find) works
|
||||||
- [context7-setup.md](concepts/context7-setup.md) — switched context7 from manual MCP entries to the official plugin; API key in `.mcp.json` as `--api-key`; now also captured as `setup-context7` skill (one-time install/migrate flow with key discovery)
|
- [context7-setup.md](concepts/context7-setup.md) — switched context7 from manual MCP entries to the official plugin; API key in `.mcp.json` as `--api-key`; now also captured as `setup-context7` skill (one-time install/migrate flow with key discovery)
|
||||||
|
|||||||
@@ -33,3 +33,5 @@ Parseable: `grep "^## \[" .wiki/log.md | tail -20`.
|
|||||||
## [2026-04-30] decision | using-projects-meta v1.1.0 — added mandatory Step 0 freshness gate: probe `meta_status`; if cache_age > 10min or errors > 0, `node dist/sync.js`; for shared-wiki writes unconditional `git -C ~/projects/projects-wiki pull --ff-only`; 401/403 → loud failure to user. Codifies the same-session lesson — `projects-meta` is a multi-machine bus, stale cache breaks read accuracy and write atomicity
|
## [2026-04-30] decision | using-projects-meta v1.1.0 — added mandatory Step 0 freshness gate: probe `meta_status`; if cache_age > 10min or errors > 0, `node dist/sync.js`; for shared-wiki writes unconditional `git -C ~/projects/projects-wiki pull --ff-only`; 401/403 → loud failure to user. Codifies the same-session lesson — `projects-meta` is a multi-machine bus, stale cache breaks read accuracy and write atomicity
|
||||||
## [2026-04-28] decision | project-bootstrap@1.1.0 — added Step 5.6: detects `superpowers@claude-plugins-official` via `~/.claude/plugins/installed_plugins.json` and prints install command + upstream link if missing; chat-only, never auto-installs (slash commands aren't callable from a skill, and silent plugin install is overreach)
|
## [2026-04-28] decision | project-bootstrap@1.1.0 — added Step 5.6: detects `superpowers@claude-plugins-official` via `~/.claude/plugins/installed_plugins.json` and prints install command + upstream link if missing; chat-only, never auto-installs (slash commands aren't callable from a skill, and silent plugin install is overreach)
|
||||||
## [2026-04-28] doc | README.md + README.ru.md — new "Using skills in projects" / "Использование в проектах" section after install quick-start; describes project-bootstrap workflow (git, .gitignore, README, .wiki/, .tasks/, CLAUDE.md, manifest, superpowers-plugin check) and the init/upgrade modes
|
## [2026-04-28] doc | README.md + README.ru.md — new "Using skills in projects" / "Использование в проектах" section after install quick-start; describes project-bootstrap workflow (git, .gitignore, README, .wiki/, .tasks/, CLAUDE.md, manifest, superpowers-plugin check) and the init/upgrade modes
|
||||||
|
## [2026-04-30] refactor | project-bootstrap re-run on this repo (upgrade mode) — setup-wiki noop, setup-tasks noop, CLAUDE.md unchanged (matches template), bootstrap-manifest.md written: project-bootstrap@1.1.0 / setup-wiki@1.0.0 / setup-tasks@1.0.0
|
||||||
|
## [2026-04-30] decision | project-bootstrap@1.2.0 — CLAUDE.md template gains `check across all projects` (verbatim trigger from using-projects-meta description); installs auto-load cross-project tasks + shared-wiki access in every bootstrapped repo; no Step 5.7 dependency-check mirror — Prerequisites pointer in using-projects-meta is self-correcting; local CLAUDE.md, both READMEs, dist/.skill, projects-meta-skills concept page synced
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ talk like a caveman
|
|||||||
use superpowers
|
use superpowers
|
||||||
use project wiki
|
use project wiki
|
||||||
use task management system
|
use task management system
|
||||||
|
check across all projects
|
||||||
we're on Windows
|
we're on Windows
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ project's folder and it will, in one pass:
|
|||||||
- create a starter `README.md`
|
- create a starter `README.md`
|
||||||
- lay out `.wiki/` per the [Karpathy LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) (delegated to [`setup-wiki`](skills/setup-wiki/))
|
- lay out `.wiki/` per the [Karpathy LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) (delegated to [`setup-wiki`](skills/setup-wiki/))
|
||||||
- lay out `.tasks/` with the canonical task board (delegated to [`setup-tasks`](skills/setup-tasks/))
|
- lay out `.tasks/` with the canonical task board (delegated to [`setup-tasks`](skills/setup-tasks/))
|
||||||
- write `CLAUDE.md` with skill triggers (`use superpowers`, `use project wiki`, `use task management system`, `we're on Windows`)
|
- write `CLAUDE.md` with skill triggers (`use superpowers`, `use project wiki`, `use task management system`, `check across all projects`, `we're on Windows`)
|
||||||
- record the skill versions used in `.wiki/concepts/bootstrap-manifest.md` so cross-project layout drift stays debuggable
|
- record the skill versions used in `.wiki/concepts/bootstrap-manifest.md` so cross-project layout drift stays debuggable
|
||||||
- check whether the official `superpowers@claude-plugins-official` plugin is installed and, if not, print the install command — the `use superpowers` trigger is a no-op without it
|
- check whether the official `superpowers@claude-plugins-official` plugin is installed and, if not, print the install command — the `use superpowers` trigger is a no-op without it
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ bash scripts/install.sh caveman wiki-maintainer
|
|||||||
- создаст стартовый `README.md`
|
- создаст стартовый `README.md`
|
||||||
- развернёт `.wiki/` по [паттерну Karpathy LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) (делегируется в [`setup-wiki`](skills/setup-wiki/))
|
- развернёт `.wiki/` по [паттерну Karpathy LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) (делегируется в [`setup-wiki`](skills/setup-wiki/))
|
||||||
- развернёт `.tasks/` с канонической доской задач (делегируется в [`setup-tasks`](skills/setup-tasks/))
|
- развернёт `.tasks/` с канонической доской задач (делегируется в [`setup-tasks`](skills/setup-tasks/))
|
||||||
- запишет `CLAUDE.md` со скилл-триггерами (`use superpowers`, `use project wiki`, `use task management system`, `we're on Windows`)
|
- запишет `CLAUDE.md` со скилл-триггерами (`use superpowers`, `use project wiki`, `use task management system`, `check across all projects`, `we're on Windows`)
|
||||||
- зафиксирует версии использованных скиллов в `.wiki/concepts/bootstrap-manifest.md`, чтобы дрифт раскладки между проектами оставался отлаживаемым
|
- зафиксирует версии использованных скиллов в `.wiki/concepts/bootstrap-manifest.md`, чтобы дрифт раскладки между проектами оставался отлаживаемым
|
||||||
- проверит, установлен ли официальный плагин `superpowers@claude-plugins-official`, и если нет — выведет команду установки (без плагина триггер `use superpowers` мёртвый)
|
- проверит, установлен ли официальный плагин `superpowers@claude-plugins-official`, и если нет — выведет команду установки (без плагина триггер `use superpowers` мёртвый)
|
||||||
|
|
||||||
|
|||||||
BIN
dist/project-bootstrap.skill
vendored
BIN
dist/project-bootstrap.skill
vendored
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: project-bootstrap
|
name: project-bootstrap
|
||||||
version: 1.1.0
|
version: 1.2.0
|
||||||
description: >
|
description: >
|
||||||
Initializes or upgrades a project in the current folder: git, .gitignore, README.md,
|
Initializes or upgrades a project in the current folder: git, .gitignore, README.md,
|
||||||
.wiki/ using Karpathy's method, .tasks/ for task tracking, CLAUDE.md with skill triggers.
|
.wiki/ using Karpathy's method, .tasks/ for task tracking, CLAUDE.md with skill triggers.
|
||||||
@@ -233,9 +233,16 @@ talk like a caveman
|
|||||||
use superpowers
|
use superpowers
|
||||||
use project wiki
|
use project wiki
|
||||||
use task management system
|
use task management system
|
||||||
|
check across all projects
|
||||||
we're on Windows
|
we're on Windows
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The `check across all projects` line activates the `using-projects-meta` skill
|
||||||
|
so cross-project task aggregation and the shared `projects-wiki` are available
|
||||||
|
without an explicit verbal trigger. The skill is a no-op until the
|
||||||
|
`projects-meta-mcp` server is registered — install via `setup-projects-meta`
|
||||||
|
on a fresh machine if `mcp__projects-meta__*` tools are missing.
|
||||||
|
|
||||||
The `we're on Windows` line activates the `active-platform` skill and pins the
|
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
|
project's default platform to Windows / PowerShell — so generated commands and
|
||||||
README quick-starts use PS-native syntax. Bootstrapping on a Linux or macOS
|
README quick-starts use PS-native syntax. Bootstrapping on a Linux or macOS
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ talk like a caveman
|
|||||||
use superpowers
|
use superpowers
|
||||||
use project wiki
|
use project wiki
|
||||||
use task management system
|
use task management system
|
||||||
|
check across all projects
|
||||||
we're on Windows
|
we're on Windows
|
||||||
|
|||||||
Reference in New Issue
Block a user