playbook-ai 1.0.0 → 1.2.0
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.
- package/CHANGELOG.md +24 -0
- package/CLAUDE.md +26 -3
- package/VERSION +1 -1
- package/commands/end.md +11 -5
- package/commands/new-project.md +80 -0
- package/commands/start.md +28 -7
- package/install.sh +10 -0
- package/package.json +2 -1
- package/settings.json +3 -0
- package/templates/tech_stack.md +48 -0
- package/update.sh +12 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
All notable updates to Playbook are documented here. Only impactful changes are listed — new commands, upgraded behavior, and things that make your workflow better. Cosmetic fixes and internal housekeeping are omitted.
|
|
4
4
|
|
|
5
|
+
## [1.2.0] — 2026-03-11
|
|
6
|
+
|
|
7
|
+
### New Commands
|
|
8
|
+
- **`/new-project`** — Automates full project setup: clone or create a repo, wire terminal alias, generate comprehensive CLAUDE.md and WORK_LOG.md, connect PM tool, and make the initial commit. One command to go from zero to working project.
|
|
9
|
+
|
|
10
|
+
### Context Management
|
|
11
|
+
- **Efficient WORK_LOG reads** — `/start` now reads only the header + most recent session from WORK_LOG.md instead of the full file. Prevents context bloat as your projects accumulate session history.
|
|
12
|
+
- **Auto-trim on `/end`** — WORK_LOG.md is automatically trimmed to 25 sessions on closeout. Older entries are removed (git history preserves them). No manual cleanup needed.
|
|
13
|
+
- **Claude Code version check** — `/start` now checks your Claude Code version and nudges you if you're significantly behind. Non-blocking, single-line heads up.
|
|
14
|
+
|
|
15
|
+
### Improvements
|
|
16
|
+
- **Tech stack template** — `tech_stack.md` is now installed automatically during setup and updates (if you don't already have one). Tracks your tools and integrations across projects.
|
|
17
|
+
- **`/new-project` in update flow** — The update script now includes the new-project command in its file list.
|
|
18
|
+
|
|
19
|
+
## [1.1.0] — 2026-03-09
|
|
20
|
+
|
|
21
|
+
### Parallel Work Upgrades
|
|
22
|
+
- **Agent Teams** — added as Level 3 in the parallel work hierarchy. Claude can now propose or you can request multi-agent teams for cross-layer features, large refactors, and parallel implementation. Enabled via `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` env var in settings.json.
|
|
23
|
+
- **Ralph Loop** — added as Level 4 in the parallel work hierarchy. Autonomous iteration on well-defined tasks using the official `ralph-wiggum` plugin. Walk-away capability for migrations, test coverage, batch refactors.
|
|
24
|
+
- **Updated hierarchy** — 5 levels from lightest to heaviest: main thread → subagents → agent teams → ralph loop → /handoff
|
|
25
|
+
|
|
26
|
+
### Fixes
|
|
27
|
+
- **`/start` flow** — briefing no longer blocks waiting for `/rename` response. Rename prompt and briefing now appear in the same message.
|
|
28
|
+
|
|
5
29
|
## [1.0.0] — 2026-03-08
|
|
6
30
|
|
|
7
31
|
### Initial Release
|
package/CLAUDE.md
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
4. **One feature/task per session** unless you say otherwise — no sprawl
|
|
16
16
|
|
|
17
17
|
## Session Naming
|
|
18
|
-
- On `/start`, **before the briefing**, prompt the user to name the session: `Copy/paste to name this session:` followed by `/rename <project>` in a code block (directory basename)
|
|
19
|
-
-
|
|
18
|
+
- On `/start`, **at the top of the response before the briefing**, prompt the user to name the session: `Copy/paste to name this session:` followed by `/rename <project>` in a code block (directory basename)
|
|
19
|
+
- Include the full briefing in the **same message** below the rename prompt. The user can rename at any time — do not wait for it.
|
|
20
20
|
|
|
21
21
|
## Project Management Integration
|
|
22
22
|
- Your PM tool (ClickUp, Linear, Notion, Jira, etc.) is the **source of truth for task priorities** when available
|
|
@@ -25,6 +25,15 @@
|
|
|
25
25
|
- Update task status as work progresses (if MCP is connected)
|
|
26
26
|
- When bugs, gaps, or future work items are identified, create tasks immediately — don't wait to be asked
|
|
27
27
|
|
|
28
|
+
## Tech Stack Awareness
|
|
29
|
+
- **`~/.claude/tech_stack.md` is the global tech stack registry** — check it before recommending new tools, frameworks, or services
|
|
30
|
+
- **Start with what's already in use**, but always evaluate whether it's the best fit. If a new tool is genuinely better for the job, propose the switch — explain what it replaces, why it's better, and what the migration cost is.
|
|
31
|
+
- Consolidation is a tiebreaker, not a constraint. When two options are roughly equal, pick the one already in the stack. When one is clearly better, recommend it regardless.
|
|
32
|
+
- When a new tool is adopted in any project, add it to tech_stack.md immediately
|
|
33
|
+
- When a tool is dropped, move it to the Deprecated section with the reason and date
|
|
34
|
+
- When evaluating options during `/plan`, reference tech_stack.md to see what's already available
|
|
35
|
+
- If the file doesn't exist yet, create it on first tool adoption using the template from the Playbook repo
|
|
36
|
+
|
|
28
37
|
## Development Rules
|
|
29
38
|
- **Plan before multi-file changes** — use `/plan` to structure the approach, get approval, then execute
|
|
30
39
|
- **Commit frequently** with clear, descriptive messages
|
|
@@ -37,12 +46,26 @@
|
|
|
37
46
|
### Hierarchy (use the lightest option that works)
|
|
38
47
|
1. **Keep working in main thread** — default for most tasks
|
|
39
48
|
2. **Subagent (automatic)** — for parallel research, exploration, independent sub-tasks within the same topic. You don't need to do anything.
|
|
40
|
-
3. **
|
|
49
|
+
3. **Agent Team (automatic or requested)** — for parallel *implementation* across multiple layers (frontend + backend + tests, multi-component features, competing hypotheses). Claude may propose a team, or you can request one. Each teammate is a full Claude instance with its own context. Higher token cost (~7x) — use only when teammates can work independently on distinct scopes. Requires `"agentTeams": true` in settings.json.
|
|
50
|
+
4. **Ralph Loop (explicit, via plugin)** — for autonomous iteration on well-defined tasks with clear success criteria. Claude works in a continuous loop, seeing its own prior work, until a completion promise is met or max iterations reached. Great for "walk away" tasks: migrations, test coverage, batch refactors. Install: `/plugin install ralph-wiggum@claude-plugins-official`. Invoke: `/ralph-loop "prompt" --max-iterations N --completion-promise "DONE"`. Cancel: `/cancel-ralph`.
|
|
51
|
+
5. **Parallel session via `/handoff` (manual)** — for substantial independent work that needs a fresh context window. You open a new terminal, paste a prompt, and report back. Use only when: the task is too large for a subagent, the main session's context is degraded, or the work needs its own lifecycle. Must have material positive impact — don't over-trigger.
|
|
41
52
|
|
|
42
53
|
### Subagent rules
|
|
43
54
|
- **Don't use subagents for**: simple file reads, single-file edits, tasks that need back-and-forth with you
|
|
44
55
|
- **Always return results** — subagent output isn't visible to you unless Claude summarizes it
|
|
45
56
|
|
|
57
|
+
### Agent Team rules
|
|
58
|
+
- **Don't propose teams for**: single-file changes, sequential tasks, same-file edits, or when on a tight token budget
|
|
59
|
+
- **Do propose teams for**: cross-layer features, large refactors with parallelizable chunks, debugging with multiple hypotheses
|
|
60
|
+
- Claude won't create a team without your approval
|
|
61
|
+
- Prefer Opus for team lead, Sonnet for teammates (cost efficiency)
|
|
62
|
+
|
|
63
|
+
### Ralph Loop rules
|
|
64
|
+
- **Only use for**: tasks with binary success criteria (tests pass, linter clean, migration complete)
|
|
65
|
+
- **Never use for**: tasks requiring judgment calls, design decisions, or unclear completion criteria
|
|
66
|
+
- Always set `--max-iterations` to prevent runaway token usage
|
|
67
|
+
- Start conservative (10-20 iterations), increase if needed
|
|
68
|
+
|
|
46
69
|
### Context health
|
|
47
70
|
- **Proactive saves**: In long sessions, save critical state to WORK_LOG.md incrementally — don't wait for `/end`. Decisions, findings, and intermediate results should be written to disk as they happen, so nothing is lost if auto-compaction occurs.
|
|
48
71
|
- **Context health warning**: When context is getting heavy AND substantial work remains, proactively warn you. Save current state to WORK_LOG.md first, then present options: wrap up and `/end`, hand off remaining work via `/handoff`, or start a fresh session. Don't warn if the session is almost done — just finish.
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.2.0
|
package/commands/end.md
CHANGED
|
@@ -12,23 +12,29 @@ Session closeout. Do everything needed so the user can walk away without taking
|
|
|
12
12
|
- Update "Known Issues / Next Steps" — remove anything completed, add anything new discovered, reprioritize if needed. Be explicit about what's next and what's blocked
|
|
13
13
|
- If any task is partially done, document exactly where it was left off and what remains
|
|
14
14
|
|
|
15
|
-
3. **
|
|
15
|
+
3. **Trim WORK_LOG.md if needed.** Count the number of dated session entries (lines matching `## YYYY-MM-DD` or `### YYYY-MM-DD`). If there are more than 25 sessions:
|
|
16
|
+
- Keep the Overall State / header section intact
|
|
17
|
+
- Keep the 25 most recent session entries
|
|
18
|
+
- Remove everything older — those sessions have served their purpose and the important bits should already be captured in Overall State and auto-memory
|
|
19
|
+
- Do NOT archive to a separate file — just delete. Git history has the full log if ever needed.
|
|
16
20
|
|
|
17
|
-
4. **
|
|
21
|
+
4. **Update PM tool** (if MCP is connected). Mark completed tasks as done. Update in-progress tasks with status notes. Create new tasks for anything discovered during the session that needs tracking.
|
|
22
|
+
|
|
23
|
+
5. **Cleanup** — remove temporary artifacts:
|
|
18
24
|
- Delete `HANDOFF_RESULT.md` if it exists in the project root
|
|
19
25
|
- Remove any other temp files created during the session (scratch scripts, debug output, etc.)
|
|
20
26
|
- Do NOT delete docs/decisions/ files — those are permanent
|
|
21
27
|
|
|
22
|
-
|
|
28
|
+
6. **Pre-commit checklist** — before committing, verify:
|
|
23
29
|
- All changes tested/verified (not just "should work" — show evidence)
|
|
24
30
|
- No hardcoded secrets, tokens, or credentials in code
|
|
25
31
|
- No uncommitted changes left behind accidentally
|
|
26
32
|
- No temp files being committed
|
|
27
33
|
- Branch pushed to origin
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
7. **Commit and push.** Stage all changed files, commit with a clear message summarizing the session's work, and push to remote. Do NOT commit .env or credentials.
|
|
30
36
|
|
|
31
|
-
|
|
37
|
+
8. **Present the closeout summary:**
|
|
32
38
|
- **Done this session** — bullet list of completed work
|
|
33
39
|
- **Left in progress** — anything partially done and where it stands
|
|
34
40
|
- **Next session priorities** — what `/start` will surface as the top items
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
Set up a new project for Claude Code — clone or create a repo, wire all local config, and get ready for `/start`.
|
|
2
|
+
|
|
3
|
+
## Gather Info
|
|
4
|
+
|
|
5
|
+
Ask the user (skip anything they already provided):
|
|
6
|
+
1. **Project name** — this becomes the folder name and terminal alias (e.g., `wildflower`)
|
|
7
|
+
2. **Repo situation** — one of:
|
|
8
|
+
- **Existing GitHub repo** — provide the repo (e.g., `bluemax713/wildflower` or a full URL)
|
|
9
|
+
- **Create new repo** — public or private? Description?
|
|
10
|
+
- **No repo yet** — just set up the local folder, wire git later
|
|
11
|
+
3. **PM tool** — should a project/list be created in their PM tool (ClickUp, etc.) via MCP? Skip if no PM MCP is connected.
|
|
12
|
+
|
|
13
|
+
## Execute Setup
|
|
14
|
+
|
|
15
|
+
Run these steps. Skip any that are already done (e.g., repo already cloned, alias already exists).
|
|
16
|
+
|
|
17
|
+
### 1. Local repo
|
|
18
|
+
|
|
19
|
+
- **Existing repo:** `git clone` into `~/Documents/GitHub/<name>/`
|
|
20
|
+
- **Create new:** `gh repo create <name> --private/--public --clone` in `~/Documents/GitHub/`
|
|
21
|
+
- **No repo:** `mkdir -p ~/Documents/GitHub/<name> && cd ~/Documents/GitHub/<name> && git init`
|
|
22
|
+
- If `~/Documents/GitHub/<name>/` already exists, STOP and ask — don't overwrite.
|
|
23
|
+
|
|
24
|
+
### 2. Terminal alias
|
|
25
|
+
|
|
26
|
+
- Add `alias <name>='cd ~/Documents/GitHub/<name> && claude'` to `~/.zshrc`
|
|
27
|
+
- Place it in the "Claude Code project aliases" block with the other aliases
|
|
28
|
+
- If an alias with that name already exists, STOP and ask.
|
|
29
|
+
- Run `source ~/.zshrc` so it works immediately in new shells.
|
|
30
|
+
|
|
31
|
+
### 3. Project scaffolding
|
|
32
|
+
|
|
33
|
+
Only create files that don't already exist in the repo:
|
|
34
|
+
|
|
35
|
+
- **CLAUDE.md** — Create a **thorough** project-level CLAUDE.md. This is the most important file — it's what Claude reads every session. Don't leave it as a skeleton.
|
|
36
|
+
- Read every file in the repo to understand the project before writing it
|
|
37
|
+
- Include: what the project does, tech stack table, project structure tree, key conventions/business rules, architecture/data flow, and any environment/credential notes
|
|
38
|
+
- Model it after well-structured examples (tech stack table, project tree with descriptions, business rules table, flow diagrams)
|
|
39
|
+
- If the repo is empty/new, write what you know from the user's description and mark unknowns with `[TBD]` — but still create the full structure so it's easy to fill in
|
|
40
|
+
- Never leave CLAUDE.md as a thin placeholder — a future session should be able to understand the project from this file alone
|
|
41
|
+
|
|
42
|
+
- **WORK_LOG.md** — Create with:
|
|
43
|
+
```
|
|
44
|
+
# <Project Name> Work Log
|
|
45
|
+
|
|
46
|
+
## Last updated: <today's date>
|
|
47
|
+
|
|
48
|
+
## Overall State: Project initialized
|
|
49
|
+
|
|
50
|
+
## Recent Changes (<today's date>)
|
|
51
|
+
|
|
52
|
+
1. **Project setup** — repo cloned/created, local config wired, ready for `/start`.
|
|
53
|
+
|
|
54
|
+
## Known Issues / Next Steps
|
|
55
|
+
- Run `/start` to begin first working session
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
- **.gitignore** — Only create if one doesn't exist. Use a sensible default based on what's in the repo (Node, Python, etc.), or a minimal one if unclear.
|
|
59
|
+
|
|
60
|
+
### 4. PM integration (optional)
|
|
61
|
+
|
|
62
|
+
If a PM MCP is connected and the user wants it:
|
|
63
|
+
- Create a project/list in the PM tool
|
|
64
|
+
- Note the project ID in WORK_LOG.md for reference
|
|
65
|
+
|
|
66
|
+
### 5. Initial commit
|
|
67
|
+
|
|
68
|
+
If new files were created:
|
|
69
|
+
- Stage the new files (CLAUDE.md, WORK_LOG.md, .gitignore)
|
|
70
|
+
- Commit: `feat: initialize project for Claude Code`
|
|
71
|
+
- Push to remote if a remote exists
|
|
72
|
+
|
|
73
|
+
### 6. Confirm
|
|
74
|
+
|
|
75
|
+
Present a summary:
|
|
76
|
+
- **Repo:** cloned/created at `~/Documents/GitHub/<name>/`
|
|
77
|
+
- **Alias:** `<name>` → opens folder + launches Claude
|
|
78
|
+
- **Files created:** list what was scaffolded
|
|
79
|
+
- **PM:** project created (or skipped)
|
|
80
|
+
- **Ready:** type `<name>` in a new terminal to start working, or run `/start` now
|
package/commands/start.md
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
Read CLAUDE.md
|
|
1
|
+
Read CLAUDE.md to understand the project rules and conventions.
|
|
2
|
+
|
|
3
|
+
Read WORK_LOG.md **efficiently** — do NOT read the entire file if it's long:
|
|
4
|
+
- Read the **first 30 lines** (Overall State, current status headers)
|
|
5
|
+
- Read the **most recent session section** only (the first dated session entry)
|
|
6
|
+
- Skip all "Previous Sessions" / older dated entries — that history exists for reference but shouldn't be loaded into context on every start
|
|
7
|
+
- If WORK_LOG.md is under 80 lines total, just read the whole thing
|
|
2
8
|
|
|
3
9
|
Check your project management tool via MCP (if available) for current task priorities. If not connected, skip this step and rely on WORK_LOG.md.
|
|
4
10
|
|
|
@@ -38,11 +44,11 @@ Before anything else, silently check if a newer version of Playbook is available
|
|
|
38
44
|
- Via git: `git -C ~/.claude/.playbook diff vA.B.C..origin/main -- CLAUDE.md` (or compare the files directly)
|
|
39
45
|
- Or: compare `~/.claude/CLAUDE.md` with `~/.claude/.playbook/CLAUDE.md`
|
|
40
46
|
- If CLAUDE.md has NOT changed upstream: done, continue to briefing.
|
|
41
|
-
- If CLAUDE.md HAS changed upstream, tell the user what changed (summarize the differences in plain language), then offer
|
|
47
|
+
- If CLAUDE.md HAS changed upstream, tell the user what changed (summarize the differences in plain language), then offer two choices:
|
|
42
48
|
1. **Keep mine** — no changes to your CLAUDE.md
|
|
43
|
-
2. **
|
|
44
|
-
|
|
45
|
-
- If the user picks **Merge**: read both files, produce a merged version that preserves user customizations while incorporating new upstream
|
|
49
|
+
2. **Merge** — I'll add the new Playbook changes to your CLAUDE.md while preserving ALL of your customizations. I'll show you the result before saving.
|
|
50
|
+
- **CRITICAL: Never offer a full replacement option.** Users have personal customizations in their CLAUDE.md (their name, MCP server configs, integrations like ClickUp/Perplexity/n8n, custom rules). A full replacement would destroy all of that. The only safe options are keeping theirs or merging.
|
|
51
|
+
- If the user picks **Merge**: read both files, produce a merged version that preserves ALL user customizations (name, integrations, MCP configs, custom sections) while incorporating new upstream structural/feature changes. Show the result to the user for approval, and only write it after they confirm.
|
|
46
52
|
|
|
47
53
|
After any new settings.json permissions are available in the updated Playbook, check if the user's `~/.claude/settings.json` is missing any permissions from the Playbook version. If so, mention: "The new version includes some additional pre-approved permissions: [list them briefly]. Want me to add these to your settings?" Only add with user approval.
|
|
48
54
|
|
|
@@ -50,6 +56,21 @@ Before anything else, silently check if a newer version of Playbook is available
|
|
|
50
56
|
|
|
51
57
|
---
|
|
52
58
|
|
|
59
|
+
## Step 1: Claude Code Version Check
|
|
60
|
+
|
|
61
|
+
After the Playbook update check, verify the user's Claude Code version is reasonably current.
|
|
62
|
+
|
|
63
|
+
1. Run `claude --version` to get the installed version (format: `X.Y.Z (Claude Code)`).
|
|
64
|
+
2. Compare the **minor version** (the Y in X.Y.Z) against a minimum: **2.0.0**.
|
|
65
|
+
3. **Only warn if the user is 2+ minor versions behind the minimum** (e.g., on 1.8.x when minimum is 2.0.0). Patch versions don't matter.
|
|
66
|
+
4. If behind, show a single-line nudge — not a blocker:
|
|
67
|
+
> **Heads up:** Your Claude Code is vX.Y.Z — the Playbook works best on v2.0+. Run `claude update` to get the latest.
|
|
68
|
+
5. If current or close enough, say nothing. No output = no noise.
|
|
69
|
+
|
|
70
|
+
This check should be fast (one bash command) and never block the session.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
53
74
|
## Normal Briefing
|
|
54
75
|
|
|
55
76
|
Present a concise briefing:
|
|
@@ -63,9 +84,9 @@ Keep it short and scannable. Bullet points. No fluff. Wait for direction before
|
|
|
63
84
|
|
|
64
85
|
## Session Naming
|
|
65
86
|
|
|
66
|
-
**
|
|
87
|
+
**At the top of your response**, before the briefing, prompt the user to name the session:
|
|
67
88
|
|
|
68
89
|
> Copy/paste to name this session:
|
|
69
90
|
> `/rename <project>`
|
|
70
91
|
|
|
71
|
-
Where `<project>` is the current directory's basename (e.g., `playbook`). Then
|
|
92
|
+
Where `<project>` is the current directory's basename (e.g., `playbook`). Then include the full briefing in the **same message** below the rename prompt. The user can rename at any time — do not wait for it.
|
package/install.sh
CHANGED
|
@@ -80,6 +80,16 @@ else
|
|
|
80
80
|
echo " Installed settings.json"
|
|
81
81
|
fi
|
|
82
82
|
|
|
83
|
+
# Copy tech_stack.md template (won't overwrite if exists — user populates this)
|
|
84
|
+
if [ -f "$CLAUDE_DIR/tech_stack.md" ]; then
|
|
85
|
+
echo " tech_stack.md already exists — skipping"
|
|
86
|
+
else
|
|
87
|
+
if [ -f "$PLAYBOOK_DIR/templates/tech_stack.md" ]; then
|
|
88
|
+
cp "$PLAYBOOK_DIR/templates/tech_stack.md" "$CLAUDE_DIR/tech_stack.md"
|
|
89
|
+
echo " Installed tech_stack.md template"
|
|
90
|
+
fi
|
|
91
|
+
fi
|
|
92
|
+
|
|
83
93
|
# --- Record installed version ---
|
|
84
94
|
if [ -f "$PLAYBOOK_DIR/VERSION" ]; then
|
|
85
95
|
cp "$PLAYBOOK_DIR/VERSION" "$CLAUDE_DIR/.playbook-version"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "playbook-ai",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Operating playbook for non-technical founders working with Claude Code",
|
|
5
5
|
"bin": {
|
|
6
6
|
"playbook-ai": "bin/cli.js"
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"bin/",
|
|
11
11
|
"lib/",
|
|
12
12
|
"commands/",
|
|
13
|
+
"templates/",
|
|
13
14
|
"CLAUDE.md",
|
|
14
15
|
"settings.json",
|
|
15
16
|
"install.sh",
|
package/settings.json
CHANGED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Tech Stack — Global (All Projects)
|
|
2
|
+
|
|
3
|
+
> Single source of truth for tools, services, and integrations in active use.
|
|
4
|
+
> Check this before recommending new tools — prefer what's already here.
|
|
5
|
+
|
|
6
|
+
## Languages & Runtimes
|
|
7
|
+
| Tool | Used In | Notes |
|
|
8
|
+
|------|---------|-------|
|
|
9
|
+
| — | — | — |
|
|
10
|
+
|
|
11
|
+
## Frameworks & Libraries
|
|
12
|
+
| Tool | Used In | Notes |
|
|
13
|
+
|------|---------|-------|
|
|
14
|
+
| — | — | — |
|
|
15
|
+
|
|
16
|
+
## Platforms & Services
|
|
17
|
+
| Tool | Used In | Notes |
|
|
18
|
+
|------|---------|-------|
|
|
19
|
+
| GitHub | all projects | Source control, repos |
|
|
20
|
+
|
|
21
|
+
## MCP Servers
|
|
22
|
+
| Server | Purpose | Notes |
|
|
23
|
+
|--------|---------|-------|
|
|
24
|
+
| — | — | — |
|
|
25
|
+
|
|
26
|
+
## Claude Code Plugins
|
|
27
|
+
| Plugin | Purpose | Notes |
|
|
28
|
+
|--------|---------|-------|
|
|
29
|
+
| — | — | — |
|
|
30
|
+
|
|
31
|
+
## Infrastructure
|
|
32
|
+
| Tool | Used In | Notes |
|
|
33
|
+
|------|---------|-------|
|
|
34
|
+
| — | — | — |
|
|
35
|
+
|
|
36
|
+
## Deprecated
|
|
37
|
+
| Tool | Was Used In | Reason | Date |
|
|
38
|
+
|------|-------------|--------|------|
|
|
39
|
+
| — | — | — | — |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
**Rules:**
|
|
44
|
+
- When evaluating tools for a new project, check this file first
|
|
45
|
+
- Prefer tools already in use unless there's a strong reason not to
|
|
46
|
+
- When adopting a new tool, add it here immediately
|
|
47
|
+
- When dropping a tool, move it to Deprecated with the reason
|
|
48
|
+
- This file is maintained by Claude across all sessions
|
package/update.sh
CHANGED
|
@@ -29,9 +29,10 @@ fetch_via_git() {
|
|
|
29
29
|
fetch_via_curl() {
|
|
30
30
|
# Download key files individually via GitHub raw content
|
|
31
31
|
local files=("VERSION" "CHANGELOG.md" "CLAUDE.md" "settings.json" "install.sh" "update.sh")
|
|
32
|
-
local cmd_files=("start.md" "end.md" "plan.md" "debug.md" "quick.md" "handoff.md")
|
|
32
|
+
local cmd_files=("start.md" "end.md" "plan.md" "debug.md" "quick.md" "handoff.md" "new-project.md")
|
|
33
33
|
|
|
34
34
|
mkdir -p "$PLAYBOOK_DIR/commands"
|
|
35
|
+
mkdir -p "$PLAYBOOK_DIR/templates"
|
|
35
36
|
|
|
36
37
|
for f in "${files[@]}"; do
|
|
37
38
|
curl -sf "$RAW_BASE/$f" -o "$PLAYBOOK_DIR/$f" || return 1
|
|
@@ -41,6 +42,9 @@ fetch_via_curl() {
|
|
|
41
42
|
curl -sf "$RAW_BASE/commands/$f" -o "$PLAYBOOK_DIR/commands/$f" || return 1
|
|
42
43
|
done
|
|
43
44
|
|
|
45
|
+
# Fetch templates (non-fatal if missing — they're optional)
|
|
46
|
+
curl -sf "$RAW_BASE/templates/tech_stack.md" -o "$PLAYBOOK_DIR/templates/tech_stack.md" 2>/dev/null
|
|
47
|
+
|
|
44
48
|
return 0
|
|
45
49
|
}
|
|
46
50
|
|
|
@@ -97,6 +101,13 @@ elif [ -f "$TEMP_DIR/settings.json" ]; then
|
|
|
97
101
|
echo " Installed settings.json"
|
|
98
102
|
fi
|
|
99
103
|
|
|
104
|
+
# --- Install tech_stack.md template if missing ---
|
|
105
|
+
|
|
106
|
+
if [ ! -f "$CLAUDE_DIR/tech_stack.md" ] && [ -f "$PLAYBOOK_DIR/templates/tech_stack.md" ]; then
|
|
107
|
+
cp "$PLAYBOOK_DIR/templates/tech_stack.md" "$CLAUDE_DIR/tech_stack.md"
|
|
108
|
+
echo " Installed tech_stack.md template"
|
|
109
|
+
fi
|
|
110
|
+
|
|
100
111
|
# --- Update version (LAST — only on success) ---
|
|
101
112
|
|
|
102
113
|
if [ -f "$PLAYBOOK_DIR/VERSION" ]; then
|