claude-launchpad 1.9.1 → 1.10.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/README.md +29 -45
- package/dist/{chunk-GA3IUQUM.js → chunk-42Q2MAQB.js} +3 -3
- package/dist/{chunk-RCYLZUU6.js → chunk-5KQ2JDZN.js} +401 -55
- package/dist/chunk-5KQ2JDZN.js.map +1 -0
- package/dist/{chunk-72VWDNAE.js → chunk-OWOW5KFX.js} +2 -2
- package/dist/{chunk-DYHPVA6O.js → chunk-WVQBG4YR.js} +2 -2
- package/dist/{chunk-I4S4Q2IV.js → chunk-ZIEONJBY.js} +2 -2
- package/dist/cli.js +81 -41
- package/dist/cli.js.map +1 -1
- package/dist/commands/memory/server.js +3 -3
- package/dist/{context-X7UP2ODK.js → context-QLQLJOR2.js} +5 -5
- package/dist/{install-XBCEI5QK.js → install-5XZFLN3C.js} +7 -6
- package/dist/{install-XBCEI5QK.js.map → install-5XZFLN3C.js.map} +1 -1
- package/dist/{pull-VA62U3OP.js → pull-46YFKQ6S.js} +7 -7
- package/dist/{push-C3M6Q4V7.js → push-FMAHNK4U.js} +7 -7
- package/dist/{require-deps-UBU5CYM5.js → require-deps-H4SHQWD2.js} +3 -3
- package/dist/{stats-R4TWCPHW.js → stats-YGK6PZ3A.js} +6 -6
- package/dist/{sync-clean-P4S7V2JS.js → sync-clean-PCR3QCZK.js} +3 -3
- package/dist/{sync-status-TPYUF43G.js → sync-status-KZSPPHPY.js} +7 -7
- package/dist/{tui-FFLCUR7E.js → tui-XXYVOGJL.js} +4 -4
- package/package.json +2 -2
- package/dist/chunk-RCYLZUU6.js.map +0 -1
- /package/dist/{chunk-GA3IUQUM.js.map → chunk-42Q2MAQB.js.map} +0 -0
- /package/dist/{chunk-72VWDNAE.js.map → chunk-OWOW5KFX.js.map} +0 -0
- /package/dist/{chunk-DYHPVA6O.js.map → chunk-WVQBG4YR.js.map} +0 -0
- /package/dist/{chunk-I4S4Q2IV.js.map → chunk-ZIEONJBY.js.map} +0 -0
- /package/dist/{context-X7UP2ODK.js.map → context-QLQLJOR2.js.map} +0 -0
- /package/dist/{pull-VA62U3OP.js.map → pull-46YFKQ6S.js.map} +0 -0
- /package/dist/{push-C3M6Q4V7.js.map → push-FMAHNK4U.js.map} +0 -0
- /package/dist/{require-deps-UBU5CYM5.js.map → require-deps-H4SHQWD2.js.map} +0 -0
- /package/dist/{stats-R4TWCPHW.js.map → stats-YGK6PZ3A.js.map} +0 -0
- /package/dist/{sync-clean-P4S7V2JS.js.map → sync-clean-PCR3QCZK.js.map} +0 -0
- /package/dist/{sync-status-TPYUF43G.js.map → sync-status-KZSPPHPY.js.map} +0 -0
- /package/dist/{tui-FFLCUR7E.js.map → tui-XXYVOGJL.js.map} +0 -0
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
**Claude follows CLAUDE.md ~80% of the time. Hooks run at 100%. Most setups have zero hooks.**
|
|
12
12
|
|
|
13
|
-
Claude
|
|
13
|
+
Launchpad scores your Claude Code config, fixes the gaps with hooks and permissions, and runs scenarios to prove Claude follows your rules.
|
|
14
14
|
|
|
15
15
|
For developers using Claude Code who want consistent results: solo devs, vibe coders, AI-first teams.
|
|
16
16
|
|
|
@@ -54,7 +54,7 @@ npx claude-launchpad doctor --fix
|
|
|
54
54
|
|
|
55
55
|
Scores your config, auto-repairs everything it can.
|
|
56
56
|
|
|
57
|
-
## The Three-File System
|
|
57
|
+
## The Three-File System + Workflow Rules
|
|
58
58
|
|
|
59
59
|
Without structure, CLAUDE.md becomes a dumping ground:
|
|
60
60
|
|
|
@@ -67,10 +67,12 @@ The three-file split keeps each concern where it belongs:
|
|
|
67
67
|
| File | Purpose | Example |
|
|
68
68
|
|---|---|---|
|
|
69
69
|
| `CLAUDE.md` | What Claude needs to know | Stack, commands, conventions, guardrails |
|
|
70
|
-
| `TASKS.md` | What we're doing now | Current sprint, session log
|
|
71
|
-
| `BACKLOG.md` | What we're doing later |
|
|
70
|
+
| `TASKS.md` | What we're doing now | Current sprint, session log (empty between sprints) |
|
|
71
|
+
| `BACKLOG.md` | What we're doing later | WP-NNN template, 7 mandatory fields, P0/P1/P2/P3 sections |
|
|
72
72
|
|
|
73
|
-
Init generates all three.
|
|
73
|
+
Init generates all three plus `.claude/rules/workflow.md` (path-scoped — auto-loads only when editing BACKLOG/TASKS) and a `workflow-check.sh` hook that warns on drift: duplicate WP IDs across files, TASKS.md > 80 lines, `## Current Sprint` > 15 items, `## Session Log` > 3 entries.
|
|
74
|
+
|
|
75
|
+
Doctor flags MEDIUM when workflow.md is missing, LOW when the hook is missing, and MEDIUM on duplicate `## Memory` headings in CLAUDE.md. `--fix` installs or repairs any of them without clobbering existing user content. See the [workflow docs](https://mboss37.github.io/claude-launchpad/docs/workflow) for the full lifecycle.
|
|
74
76
|
|
|
75
77
|
## Commands
|
|
76
78
|
|
|
@@ -92,10 +94,10 @@ Runs 7 analyzers against your `.claude/` directory and CLAUDE.md. No API calls,
|
|
|
92
94
|
| Analyzer | What it catches |
|
|
93
95
|
|---|---|
|
|
94
96
|
| **Instruction Budget** | Too many instructions. Claude starts ignoring rules past ~200. |
|
|
95
|
-
| **CLAUDE.md Quality** | Missing sections, vague instructions, hardcoded secrets |
|
|
97
|
+
| **CLAUDE.md Quality** | Missing sections, vague instructions, hardcoded secrets, duplicate `## Memory` headings |
|
|
96
98
|
| **Settings** | No hooks configured, dangerous tool access without safety nets |
|
|
97
|
-
| **Hooks** | Missing auto-format, no .env protection, no PostCompact hook, no auto-sync on session end |
|
|
98
|
-
| **Rules** | Dead rule files, stale references, empty configs |
|
|
99
|
+
| **Hooks** | Missing auto-format, no .env protection, no PostCompact hook, no workflow-check hook, no auto-sync on session end |
|
|
100
|
+
| **Rules** | Dead rule files, stale references, empty configs, missing `.claude/rules/workflow.md` |
|
|
99
101
|
| **Permissions** | Credential exposure (~/.ssh, ~/.aws), blanket Bash approval, bypass-mode unprotected |
|
|
100
102
|
| **MCP Servers** | Invalid transport configs, missing commands/URLs |
|
|
101
103
|
|
|
@@ -200,43 +202,6 @@ Results save to `.claude/eval/` as structured markdown. Feed them back to Claude
|
|
|
200
202
|
| `--json` | JSON output |
|
|
201
203
|
| `--timeout <ms>` | Timeout per run (default 120000) |
|
|
202
204
|
|
|
203
|
-
## Memory
|
|
204
|
-
|
|
205
|
-
Claude's built-in memory resets per machine. Launchpad gives each project persistent, cross-device memory that syncs via a private GitHub Gist. Switch laptops and your decisions are already there.
|
|
206
|
-
|
|
207
|
-
```bash
|
|
208
|
-
claude-launchpad memory
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
If memory is not installed, it runs interactive setup. If fully installed (SessionStart hook **and** MCP server registered), it shows stats. If partially installed, it points you at `memory install` to fix the missing piece. Requires native deps first: `npm install better-sqlite3 sqlite-vec`.
|
|
212
|
-
|
|
213
|
-
During setup, you choose where memory config lives:
|
|
214
|
-
|
|
215
|
-
- **Shared** (default) — config goes to `CLAUDE.md` + `settings.json` (committed, team sees it)
|
|
216
|
-
- **Local** — config goes to `.claude/CLAUDE.md` + `settings.local.json` (gitignored, only you)
|
|
217
|
-
|
|
218
|
-
Use "local" when co-devs have different memory setups (e.g. you use agentic-memory, they use built-in). Your choice is persisted so `doctor --fix` won't re-ask.
|
|
219
|
-
|
|
220
|
-
Every session, Claude loads what it needs to know and stores new knowledge as it works. Stale facts fade on their own. Knowledge Claude actually uses gets reinforced. Each project has its own isolated memory. When a session ends, memories auto-sync to a private GitHub Gist so they're available on any machine.
|
|
221
|
-
|
|
222
|
-
Browse everything with `--dashboard`, a terminal UI with vim navigation, filtering, and search.
|
|
223
|
-
|
|
224
|
-
Data stays in `~/.agentic-memory/memory.db`. Sync requires the [GitHub CLI](https://cli.github.com/) (`gh`).
|
|
225
|
-
|
|
226
|
-
| Flag / Subcommand | What it does |
|
|
227
|
-
|---|---|
|
|
228
|
-
| `--dashboard` | Opens the interactive TUI dashboard |
|
|
229
|
-
| `install` | Explicitly (re-)run the install flow — useful after a partial/broken setup |
|
|
230
|
-
| `push` | Push current project's memories to a private GitHub Gist |
|
|
231
|
-
| `pull` | Pull current project's memories from a private GitHub Gist |
|
|
232
|
-
| `push --all` | Push all projects |
|
|
233
|
-
| `pull --all` | Pull every project already set up on this machine (skips new ones) |
|
|
234
|
-
| `push -y` | Skip confirmation prompt |
|
|
235
|
-
| `sync status` | Show local vs remote memory counts |
|
|
236
|
-
| `sync clean <project>` | Remove a project from the sync gist |
|
|
237
|
-
|
|
238
|
-
Sync stores one file per project inside a single private gist. Push/pull auto-detects the current project from your working directory. On a new device, the gist is auto-discovered from your GitHub account (no config to copy). Deletions propagate. Delete on one machine; the next machine to pull drops it too.
|
|
239
|
-
|
|
240
205
|
## Hooks
|
|
241
206
|
|
|
242
207
|
CLAUDE.md rules are ~80% reliable. Hooks are 100% enforced by the harness. Init and `--fix` set up these hooks automatically:
|
|
@@ -248,6 +213,8 @@ CLAUDE.md rules are ~80% reliable. Hooks are 100% enforced by the harness. Init
|
|
|
248
213
|
| **Auto-format** | After any Write/Edit | Runs your language's formatter (prettier, ruff, gofmt, rustfmt, etc.) |
|
|
249
214
|
| **SessionStart** | Session opens | Injects TASKS.md so Claude knows where you left off |
|
|
250
215
|
| **PostCompact** | After context compression | Re-injects TASKS.md so Claude doesn't lose sprint state mid-session |
|
|
216
|
+
| **workflow-check** | After BACKLOG.md/TASKS.md Edit/Write | Warns on duplicate WP IDs across files, TASKS.md > 80 lines, Current Sprint > 15 items, Session Log > 3 entries |
|
|
217
|
+
| **sprint-size / sprint-open** | Session start / `git commit` | Warns on microsprints (<3 WPs), oversized sprints (>7 WPs), new sprint opened without BACKLOG cleanup |
|
|
251
218
|
|
|
252
219
|
Memory projects get two additional hooks:
|
|
253
220
|
|
|
@@ -256,6 +223,23 @@ Memory projects get two additional hooks:
|
|
|
256
223
|
| **SessionStart pull** | Session opens | Auto-pulls memories from GitHub Gist |
|
|
257
224
|
| **SessionEnd push** | Session closes | Auto-pushes new memories to GitHub Gist |
|
|
258
225
|
|
|
226
|
+
## Memory (optional)
|
|
227
|
+
|
|
228
|
+
Claude's built-in memory resets per machine. Launchpad gives each project persistent, cross-device memory that syncs via a private GitHub Gist. Switch laptops and your decisions are already there.
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
claude-launchpad memory
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Interactive setup if not installed, stats if it is. Requires native deps first: `npm install better-sqlite3 sqlite-vec`. Sync requires the [GitHub CLI](https://cli.github.com/).
|
|
235
|
+
|
|
236
|
+
- Relevant memories auto-injected at session start, new memories stored as Claude works
|
|
237
|
+
- Stale knowledge fades, important decisions persist
|
|
238
|
+
- Each project has its own scoped memory
|
|
239
|
+
- `--dashboard` opens a terminal UI with vim nav, filtering, and search
|
|
240
|
+
|
|
241
|
+
Full flag and subcommand reference in [the memory docs](https://mboss37.github.io/claude-launchpad/docs/memory).
|
|
242
|
+
|
|
259
243
|
## Use in CI
|
|
260
244
|
|
|
261
245
|
Block PRs that degrade your Claude Code config quality:
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
cwdRequire
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WVQBG4YR.js";
|
|
5
5
|
import {
|
|
6
6
|
__export
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5KQ2JDZN.js";
|
|
8
8
|
|
|
9
9
|
// src/commands/memory/config.ts
|
|
10
10
|
import { z } from "zod";
|
|
@@ -363,4 +363,4 @@ export {
|
|
|
363
363
|
closeDatabase,
|
|
364
364
|
migrate
|
|
365
365
|
};
|
|
366
|
-
//# sourceMappingURL=chunk-
|
|
366
|
+
//# sourceMappingURL=chunk-42Q2MAQB.js.map
|