claude-launchpad 0.1.1 → 0.2.1

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 CHANGED
@@ -13,14 +13,14 @@ npx claude-launchpad
13
13
  ## The Workflow
14
14
 
15
15
  ```bash
16
- npx claude-launchpad init # 1. Auto-detect stack, generate config + hooks
17
- npx claude-launchpad enhance # 2. Claude reads your code, completes CLAUDE.md
18
- npx claude-launchpad # 3. Check your score (42%)
16
+ npx claude-launchpad init # 1. Auto-detect stack, generate config + hooks + .claudeignore
17
+ npx claude-launchpad enhance # 2. Claude reads your code, completes CLAUDE.md
18
+ npx claude-launchpad # 3. Check your score (42%)
19
19
  npx claude-launchpad doctor --fix # 4. Auto-fix everything (→ 86%)
20
- npx claude-launchpad # 5. Confirm the jump
20
+ npx claude-launchpad eval # 5. Prove your config works (89% eval score)
21
21
  ```
22
22
 
23
- > See the [full story on the landing page](https://mboss37.github.io/claude-launchpad/) — a 42% → 86% journey in three commands.
23
+ > See the [full story on the landing page](https://mboss37.github.io/claude-launchpad/) — a 42% → 89% journey.
24
24
 
25
25
  ## Commands
26
26
 
@@ -31,32 +31,32 @@ Runs 7 static analyzers against your `.claude/` directory and `CLAUDE.md`. No AP
31
31
  ```
32
32
  Instruction Budget ━━━━━━━━━━━━━━━━━━━━ 100%
33
33
  CLAUDE.md Quality ━━━━━━━━━━━━━━━━━━━━ 100%
34
- Settings ━━━━━━━━━━━━━━━━━─── 85%
34
+ Settings ━━━━━━━━━━━━━━━━━━━━ 100%
35
35
  Hooks ━━━━━━━━━━━━━━━━━━━━ 100%
36
- Rules ━━━━━━━━━━━━──────── 60%
37
- Permissions ━━━━━━━━━━━━━━━━──── 80%
36
+ Rules ━━━━━━━━━━━━━━━━━━━━ 100%
37
+ Permissions ━━━━━━━━━━━━━━━━━━━━ 100%
38
38
  MCP Servers ━━━━━━━━━━────────── 50%
39
39
 
40
- Overall ━━━━━━━━━━━━━━━━──── 82%
40
+ Overall ━━━━━━━━━━━━━━━━━━━─ 93%
41
41
 
42
- MEDIUM Hooks
43
- No .env file protection hook
44
- Fix: Add a PreToolUse hook that blocks writes to .env files
45
-
46
- LOW Permissions
47
- No force-push protection hook
48
- Fix: Add a PreToolUse hook that warns on `git push --force` commands
42
+ ✓ No issues found. Your configuration looks solid.
49
43
  ```
50
44
 
51
45
  Running bare `claude-launchpad` with no subcommand auto-detects your config and runs doctor.
52
46
 
47
+ **Flags:**
48
+ - `--fix` — Auto-apply deterministic fixes (42% → 86% in one command)
49
+ - `--watch` — Live score that updates every time you save a config file
50
+ - `--json` — JSON output for programmatic use
51
+ - `--min-score <n>` — Exit non-zero if score drops below threshold (for CI)
52
+
53
53
  **What it checks:**
54
54
 
55
55
  | Analyzer | What it catches |
56
56
  |---|---|
57
57
  | **Instruction Budget** | Are you over the ~150 instruction limit where Claude starts ignoring rules? |
58
58
  | **CLAUDE.md Quality** | Missing essential sections, vague instructions ("write good code"), hardcoded secrets |
59
- | **Settings** | Plugin config, permission rules, environment variables |
59
+ | **Settings** | Hooks configured, dangerous tool access without safety nets |
60
60
  | **Hooks** | Missing auto-format, no .env protection, no PreToolUse security gates |
61
61
  | **Rules** | Dead rule files, stale references, empty configs |
62
62
  | **Permissions** | Bash auto-allowed without security hooks, no force-push protection |
@@ -80,6 +80,7 @@ claude-launchpad init
80
80
  ✓ Generated CLAUDE.md
81
81
  ✓ Generated TASKS.md
82
82
  ✓ Generated .claude/settings.json (with hooks)
83
+ ✓ Generated .claudeignore
83
84
  ```
84
85
 
85
86
  **Detects 13 languages:** TypeScript, JavaScript, Python, Go, Ruby, Rust, Dart, PHP, Java, Kotlin, Swift, Elixir, C#
@@ -91,7 +92,8 @@ claude-launchpad init
91
92
  **What you get:**
92
93
  - `CLAUDE.md` with your detected stack, commands, and essential sections
93
94
  - `TASKS.md` for session continuity across Claude sessions
94
- - `.claude/settings.json` with auto-format hooks and .env file protection
95
+ - `.claude/settings.json` with auto-format hooks and .env file protection (merges with existing)
96
+ - `.claudeignore` with language-specific ignore patterns (node_modules, __pycache__, dist, etc.)
95
97
 
96
98
  ### `enhance` — Let Claude finish what init started
97
99
 
@@ -109,33 +111,50 @@ Claude opens, reads your code, and updates CLAUDE.md with:
109
111
 
110
112
  You see Claude working in real-time — same experience as running `claude` yourself.
111
113
 
112
- ### `eval` — Test your config (coming soon)
114
+ ### `eval` — Prove your config works
113
115
 
114
- Runs Claude headless against reproducible scenarios and **scores how well your config actually works**.
116
+ Runs Claude headless against 9 reproducible scenarios using the [Agent SDK](https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk) and **scores how well your config actually drives correct behavior**.
115
117
 
116
118
  ```bash
117
- claude-launchpad eval --suite security
119
+ claude-launchpad eval --suite common
118
120
  ```
119
121
 
120
122
  ```
121
123
  ✓ security/sql-injection 10/10 PASS
122
- ✓ security/env-file-protection 10/10 PASS
123
- conventions/error-handling 7/10 WARN
124
- conventions/file-size 4/10 FAIL
125
-
126
- Config Eval Score ━━━━━━━━━━━━━━━━──── 78%
124
+ ✓ security/env-protection 10/10 PASS
125
+ security/secret-exposure 10/10 PASS
126
+ security/input-validation 10/10 PASS
127
+ ✓ conventions/error-handling 10/10 PASS
128
+ conventions/immutability 10/10 PASS
129
+ ✓ conventions/no-hardcoded-values 10/10 PASS
130
+ ✓ conventions/file-size 10/10 PASS
131
+ ✗ workflow/git-conventions 7/10 WARN
132
+
133
+ Config Eval Score ━━━━━━━━━━━━━━━━━━── 89%
127
134
  ```
128
135
 
136
+ Each scenario creates an isolated sandbox, runs Claude with explicit tool permissions, and verifies the output with grep/file assertions. [Write your own scenarios](scenarios/CONTRIBUTING.md) in YAML.
137
+
129
138
  This is the part nobody else has built. Template repos scaffold. Audit tools diagnose. **Nobody tests whether your config actually makes Claude better.** Until now.
130
139
 
131
140
  ## Use in CI
132
141
 
133
- ```bash
134
- # Fail the build if config quality drops below 80%
135
- npx claude-launchpad doctor --min-score 80
136
-
137
- # JSON output for programmatic use
138
- npx claude-launchpad doctor --json
142
+ Add this workflow to block PRs that degrade Claude Code config quality:
143
+
144
+ ```yaml
145
+ # .github/workflows/claude-config.yml
146
+ name: Claude Code Config Quality
147
+ on:
148
+ pull_request:
149
+ paths: ['CLAUDE.md', '.claude/**', '.claudeignore']
150
+ jobs:
151
+ config-check:
152
+ runs-on: ubuntu-latest
153
+ steps:
154
+ - uses: actions/checkout@v4
155
+ - uses: actions/setup-node@v4
156
+ with: { node-version: '22' }
157
+ - run: npx claude-launchpad@latest doctor --min-score 80 --json
139
158
  ```
140
159
 
141
160
  Exit code is 1 when score is below the threshold, 0 when it passes.
@@ -146,7 +165,7 @@ Exit code is 1 when score is below the threshold, 0 when it passes.
146
165
  claude plugin install claude-launchpad
147
166
  ```
148
167
 
149
- Then use `/doctor` and `/init` directly inside Claude Code.
168
+ Then use `/launchpad:doctor`, `/launchpad:init`, `/launchpad:enhance`, and `/launchpad:eval` directly inside Claude Code. The plugin also nudges you to re-check your score when you edit config files.
150
169
 
151
170
  ## Why this exists
152
171
 
@@ -164,10 +183,11 @@ Claude Launchpad gives you a number. Fix the issues, re-run, watch the number go
164
183
  - **Zero dependencies on third-party Claude plugins.** Generates its own hooks and settings.
165
184
  - **Doctor is free.** No API calls, no secrets, works offline and air-gapped.
166
185
  - **Enhance uses Claude.** Spawns an interactive session to understand your codebase — costs tokens but produces a CLAUDE.md that actually knows your project.
167
- - **Eval costs money.** Runs Claude headless against scenarios — proof that your config works.
186
+ - **Eval uses the Agent SDK.** Runs Claude headless in sandboxes with explicit tool permissions — proof that your config works.
168
187
  - **Works with any stack.** Auto-detects your project. No fixed menu of supported frameworks.
188
+ - **50 tests.** The tool that tests configs is itself well-tested.
169
189
  - **You never clone this repo.** It's a tool you run with `npx`, not a template you fork.
170
190
 
171
191
  ## License
172
192
 
173
- MIT
193
+ MIT — Built by [McLovin](https://github.com/mboss37) (the AI behind [@mboss37](https://github.com/mboss37))