@allthingsclaude/blueprints 0.3.1 → 0.3.3

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
@@ -61,7 +61,7 @@ Control which models power your agents:
61
61
 
62
62
  ---
63
63
 
64
- ## Commands (29)
64
+ ## Commands (40)
65
65
 
66
66
  ### Planning & Execution
67
67
 
@@ -71,7 +71,7 @@ Control which models power your agents:
71
71
  | `/kickoff` | Execute a plan interactively with approval gates (collaborative) |
72
72
  | `/implement` | Execute a plan autonomously (hands-off) |
73
73
  | `/parallelize` | Execute independent plan tasks across multiple agents simultaneously |
74
- | `/auto` | Full autonomous development loop — from idea to committed code |
74
+ | `/autopilot` | Full autonomous development loop — from idea to committed code |
75
75
  | `/finalize` | Complete a work phase - update plans, commit changes, document decisions |
76
76
 
77
77
  ### Project Setup
@@ -79,6 +79,8 @@ Control which models power your agents:
79
79
  | Command | Description |
80
80
  |---------|-------------|
81
81
  | `/bootstrap` | Initialize new projects with generated plans and executable setup scripts |
82
+ | `/onboard` | Generate a developer onboarding guide for this project |
83
+ | `/update` | Update CLAUDE.md and STATE.md to reflect current project state |
82
84
 
83
85
  ### Research & Learning
84
86
 
@@ -86,6 +88,7 @@ Control which models power your agents:
86
88
  |---------|-------------|
87
89
  | `/research` | Smart routing to codebase, documentation, or web research |
88
90
  | `/explain` | Generate detailed explanations of code, architecture, or features |
91
+ | `/history` | Tell the narrative story of a file or function through its git history |
89
92
 
90
93
  ### Code Quality
91
94
 
@@ -97,6 +100,8 @@ Control which models power your agents:
97
100
  | `/refactor` | Safe refactoring — rename, extract, inline, or move code with validation |
98
101
  | `/dry` | Eliminate DRY violations without changing behavior |
99
102
  | `/secure` | Run a focused security scan on your codebase |
103
+ | `/a11y` | Audit your frontend for accessibility issues |
104
+ | `/todo` | Scan codebase for TODO/FIXME/HACK markers and present an organized summary |
100
105
 
101
106
  ### Code Operations
102
107
 
@@ -106,6 +111,9 @@ Control which models power your agents:
106
111
  | `/changelog` | Generate a changelog from git history |
107
112
  | `/docs` | Generate or update project documentation |
108
113
  | `/migrate` | Upgrade dependencies or migrate between framework versions |
114
+ | `/merge` | Detect parent branch and merge the current branch into it |
115
+ | `/release` | Create a release — version bump, changelog, tag, and publish |
116
+ | `/i18n` | Audit and set up internationalization for your project |
109
117
 
110
118
  ### Thinking Modes
111
119
 
@@ -128,6 +136,8 @@ Control which models power your agents:
128
136
  |---------|-------------|
129
137
  | `/imagine` | Generate images using Nano Banana Pro (Gemini/fal.ai) |
130
138
  | `/storyboard` | Extract UI interaction specs from video mockups |
139
+ | `/showcase` | Design an award-winning landing page with animations and micro-interactions |
140
+ | `/diagram` | Generate Mermaid diagrams from your codebase |
131
141
 
132
142
  ### Session Management
133
143
 
@@ -136,6 +146,7 @@ Control which models power your agents:
136
146
  | `/handoff` | Generate comprehensive documentation for context switching |
137
147
  | `/pickup` | Resume work from a previous handoff document |
138
148
  | `/flush` | Clear all task artifacts from `tasks/` |
149
+ | `/standup` | Generate a standup summary from recent git activity |
139
150
 
140
151
  ---
141
152
 
@@ -386,11 +397,11 @@ When you have a plan, choose how to execute it:
386
397
  | **Interactive** | `/kickoff` | Complex changes where you want approval gates and collaboration |
387
398
  | **Autonomous** | `/implement` | Well-defined tasks you trust to run hands-off |
388
399
  | **Parallel** | `/parallelize` | Plans with independent tasks that can run simultaneously |
389
- | **Full Auto** | `/auto` | End-to-end: idea → plan → implement → test → commit |
400
+ | **Full Auto** | `/autopilot` | End-to-end: idea → plan → implement → test → commit |
390
401
 
391
402
  ---
392
403
 
393
- ## Agents (23)
404
+ ## Agents (30)
394
405
 
395
406
  Agents are specialized workers launched by commands. Each agent is assigned a model based on your chosen power level and its tier classification.
396
407
 
@@ -400,36 +411,43 @@ Agents are specialized workers launched by commands. Each agent is assigned a mo
400
411
  |------|--------|-------------|
401
412
  | **Lightweight** | commit, changelog, handoff, cleanup, imagine | Rote tasks — fast models suffice |
402
413
  | **Research** | research-codebase, research-docs, research-web | Search and synthesize |
403
- | **Standard** | plan, implement, parallelize, bootstrap, refactor, test, explain, docs, dry, storyboard | Balanced reasoning |
414
+ | **Standard** | plan, implement, parallelize, bootstrap, refactor, test, explain, docs, dry, storyboard, finalize, migrate, a11y, diagram, i18n, onboard, release, showcase, update | Balanced reasoning |
404
415
  | **Heavyweight** | audit, debug, secure | Deep reasoning, high-stakes analysis |
405
416
 
406
417
  ### Agent List
407
418
 
408
419
  | Agent | Used By | Purpose |
409
420
  |-------|---------|---------|
421
+ | `a11y` | `/a11y` | Frontend accessibility auditing |
410
422
  | `audit` | `/audit` | Code quality and security analysis |
411
423
  | `bootstrap` | `/bootstrap` | Project scaffolding and setup |
412
424
  | `changelog` | `/changelog` | Changelog generation from git history |
413
425
  | `cleanup` | `/cleanup` | Dead code and unused import removal |
414
426
  | `commit` | `/commit` | Git commit message crafting |
415
427
  | `debug` | `/debug` | Systematic root cause investigation |
428
+ | `diagram` | `/diagram` | Mermaid diagram generation from codebase |
416
429
  | `docs` | `/docs` | Documentation generation and updates |
417
430
  | `dry` | `/dry` | DRY violation detection and elimination |
418
431
  | `explain` | `/explain` | Code and architecture explanations |
419
432
  | `finalize` | `/finalize` | Session wrap-up and commits |
420
433
  | `handoff` | `/handoff` | Context documentation |
434
+ | `i18n` | `/i18n` | Internationalization auditing and setup |
421
435
  | `imagine` | `/imagine` | Image generation via Nano Banana Pro |
422
436
  | `implement` | `/implement` | Autonomous plan execution |
423
437
  | `migrate` | `/migrate` | Dependency upgrades and migrations |
438
+ | `onboard` | `/onboard` | Developer onboarding guide generation |
424
439
  | `parallelize` | `/parallelize` | Multi-agent orchestration |
425
440
  | `plan` | `/plan` | Structured plan creation |
426
441
  | `refactor` | `/refactor` | Safe code refactoring with validation |
442
+ | `release` | `/release` | Version bumps, changelogs, tags, and publishing |
427
443
  | `research-codebase` | `/research` | Code exploration |
428
444
  | `research-docs` | `/research` | Library documentation lookup |
429
445
  | `research-web` | `/research` | Online resource research |
430
446
  | `secure` | `/secure` | Security scanning and vulnerability detection |
447
+ | `showcase` | `/showcase` | Landing page design and development |
431
448
  | `storyboard` | `/storyboard` | UI interaction spec extraction |
432
449
  | `test` | `/test` | Test execution and failure analysis |
450
+ | `update` | `/update` | CLAUDE.md and STATE.md synchronization |
433
451
 
434
452
  ---
435
453
 
@@ -439,13 +457,13 @@ After installation, your `.claude` directory will contain:
439
457
 
440
458
  ```
441
459
  .claude/
442
- ├── commands/ # 29 command files
460
+ ├── commands/ # 40 command files
443
461
  │ ├── audit.md
444
- │ ├── auto.md
462
+ │ ├── autopilot.md
445
463
  │ ├── bootstrap.md
446
464
  │ ├── brainstorm.md
447
465
  │ └── ...
448
- ├── agents/ # 23 agent files
466
+ ├── agents/ # 30 agent files
449
467
  │ ├── audit.md
450
468
  │ ├── bootstrap.md
451
469
  │ ├── changelog.md
@@ -471,7 +489,7 @@ tasks/ # Runtime artifacts (created during use)
471
489
 
472
490
  ## Requirements
473
491
 
474
- - Node.js 16.0.0 or higher
492
+ - Node.js 20.0.0 or higher
475
493
  - Claude Code CLI
476
494
 
477
495
  ## License
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: imagine
3
- description: Generate images via Nano Banana Pro API
3
+ description: Generate images via Nano Banana 2 API
4
4
  tools: Bash
5
5
  model: {{MODEL}}
6
6
  author: "@markoradak"
@@ -16,9 +16,9 @@ You generate images by running a single Bash command. Nothing else.
16
16
  - Do NOT search the web or use the Write tool
17
17
  - If the command fails, report the error and stop immediately
18
18
  - ONLY use these exact API endpoints:
19
- - fal generate: `https://fal.run/fal-ai/nano-banana-pro`
20
- - fal edit: `https://fal.run/fal-ai/nano-banana-pro/edit`
21
- - gemini: `https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent`
19
+ - fal generate: `https://fal.run/fal-ai/nano-banana-2`
20
+ - fal edit: `https://fal.run/fal-ai/nano-banana-2/edit`
21
+ - gemini: `https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent`
22
22
 
23
23
  ## CRITICAL: Shell escaping
24
24
 
@@ -48,7 +48,7 @@ mkdir -p generated
48
48
  cat << 'PROMPTEOF' > /tmp/imagine_prompt.txt
49
49
  PROMPT
50
50
  PROMPTEOF
51
- node -e 'var fs=require("fs");fs.writeFileSync("/tmp/imagine_payload.json",JSON.stringify({prompt:fs.readFileSync("/tmp/imagine_prompt.txt","utf-8").trim(),aspect_ratio:"ASPECT",resolution:"RESOLUTION"}))' && curl -s "https://fal.run/fal-ai/nano-banana-pro" -H "Authorization: Key $FAL_KEY" -H "Content-Type: application/json" -d @/tmp/imagine_payload.json -o /tmp/imagine_resp.json && IMG=$(node -p 'JSON.parse(require("fs").readFileSync("/tmp/imagine_resp.json","utf-8")).images[0].url') && curl -s "$IMG" -o generated/imagine_NAME.png && rm -f /tmp/imagine_resp.json /tmp/imagine_payload.json /tmp/imagine_prompt.txt
51
+ node -e 'var fs=require("fs");fs.writeFileSync("/tmp/imagine_payload.json",JSON.stringify({prompt:fs.readFileSync("/tmp/imagine_prompt.txt","utf-8").trim(),aspect_ratio:"ASPECT",resolution:"RESOLUTION"}))' && curl -s "https://fal.run/fal-ai/nano-banana-2" -H "Authorization: Key $FAL_KEY" -H "Content-Type: application/json" -d @/tmp/imagine_payload.json -o /tmp/imagine_resp.json && IMG=$(node -p 'JSON.parse(require("fs").readFileSync("/tmp/imagine_resp.json","utf-8")).images[0].url') && curl -s "$IMG" -o generated/imagine_NAME.png && rm -f /tmp/imagine_resp.json /tmp/imagine_payload.json /tmp/imagine_prompt.txt
52
52
  ```
53
53
 
54
54
  ## fal + edit
@@ -60,7 +60,7 @@ mkdir -p generated
60
60
  cat << 'PROMPTEOF' > /tmp/imagine_prompt.txt
61
61
  PROMPT
62
62
  PROMPTEOF
63
- node -e 'var fs=require("fs"),prompt=fs.readFileSync("/tmp/imagine_prompt.txt","utf-8").trim(),imgs=["PATH1","PATH2"],urls=imgs.map(function(p){return "data:image/"+p.split(".").pop()+";base64,"+fs.readFileSync(p).toString("base64")});fs.writeFileSync("/tmp/imagine_payload.json",JSON.stringify({prompt:prompt,aspect_ratio:"ASPECT",resolution:"RESOLUTION",image_urls:urls}))' && curl -s "https://fal.run/fal-ai/nano-banana-pro/edit" -H "Authorization: Key $FAL_KEY" -H "Content-Type: application/json" -d @/tmp/imagine_payload.json -o /tmp/imagine_resp.json && IMG=$(node -p 'JSON.parse(require("fs").readFileSync("/tmp/imagine_resp.json","utf-8")).images[0].url') && curl -s "$IMG" -o generated/imagine_NAME.png && rm -f /tmp/imagine_resp.json /tmp/imagine_payload.json /tmp/imagine_prompt.txt
63
+ node -e 'var fs=require("fs"),prompt=fs.readFileSync("/tmp/imagine_prompt.txt","utf-8").trim(),imgs=["PATH1","PATH2"],urls=imgs.map(function(p){return "data:image/"+p.split(".").pop()+";base64,"+fs.readFileSync(p).toString("base64")});fs.writeFileSync("/tmp/imagine_payload.json",JSON.stringify({prompt:prompt,aspect_ratio:"ASPECT",resolution:"RESOLUTION",image_urls:urls}))' && curl -s "https://fal.run/fal-ai/nano-banana-2/edit" -H "Authorization: Key $FAL_KEY" -H "Content-Type: application/json" -d @/tmp/imagine_payload.json -o /tmp/imagine_resp.json && IMG=$(node -p 'JSON.parse(require("fs").readFileSync("/tmp/imagine_resp.json","utf-8")).images[0].url') && curl -s "$IMG" -o generated/imagine_NAME.png && rm -f /tmp/imagine_resp.json /tmp/imagine_payload.json /tmp/imagine_prompt.txt
64
64
  ```
65
65
 
66
66
  ## gemini + generate
@@ -72,7 +72,7 @@ mkdir -p generated
72
72
  cat << 'PROMPTEOF' > /tmp/imagine_prompt.txt
73
73
  PROMPT
74
74
  PROMPTEOF
75
- node -e 'var fs=require("fs"),p=fs.readFileSync("/tmp/imagine_prompt.txt","utf-8").trim();fs.writeFileSync("/tmp/imagine_payload.json",JSON.stringify({contents:[{parts:[{text:p}]}],generationConfig:{responseModalities:["IMAGE"],imageConfig:{aspectRatio:"ASPECT",imageSize:"RESOLUTION"}}}))' && curl -s "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" -H "Content-Type: application/json" -H "x-goog-api-key: $GEMINI_API_KEY" -d @/tmp/imagine_payload.json -o /tmp/imagine_resp.json && node -e 'var fs=require("fs"),r=JSON.parse(fs.readFileSync("/tmp/imagine_resp.json","utf-8")),c=r.candidates,p=c&&c[0]&&c[0].content&&c[0].content.parts,i=p&&p.find(function(x){return x.inlineData||x.inline_data});if(!i){var e=r.error;console.error(e&&e.message||"No image");process.exit(1)}var d=i.inlineData||i.inline_data;fs.writeFileSync("generated/imagine_NAME.png",Buffer.from(d.data,"base64"))' && rm -f /tmp/imagine_resp.json /tmp/imagine_payload.json /tmp/imagine_prompt.txt
75
+ node -e 'var fs=require("fs"),p=fs.readFileSync("/tmp/imagine_prompt.txt","utf-8").trim();fs.writeFileSync("/tmp/imagine_payload.json",JSON.stringify({contents:[{parts:[{text:p}]}],generationConfig:{responseModalities:["IMAGE"],imageConfig:{aspectRatio:"ASPECT",imageSize:"RESOLUTION"}}}))' && curl -s "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent" -H "Content-Type: application/json" -H "x-goog-api-key: $GEMINI_API_KEY" -d @/tmp/imagine_payload.json -o /tmp/imagine_resp.json && node -e 'var fs=require("fs"),r=JSON.parse(fs.readFileSync("/tmp/imagine_resp.json","utf-8")),c=r.candidates,p=c&&c[0]&&c[0].content&&c[0].content.parts,i=p&&p.find(function(x){return x.inlineData||x.inline_data});if(!i){var e=r.error;console.error(e&&e.message||"No image");process.exit(1)}var d=i.inlineData||i.inline_data;fs.writeFileSync("generated/imagine_NAME.png",Buffer.from(d.data,"base64"))' && rm -f /tmp/imagine_resp.json /tmp/imagine_payload.json /tmp/imagine_prompt.txt
76
76
  ```
77
77
 
78
78
  ## gemini + edit
@@ -84,7 +84,7 @@ mkdir -p generated
84
84
  cat << 'PROMPTEOF' > /tmp/imagine_prompt.txt
85
85
  PROMPT
86
86
  PROMPTEOF
87
- node -e 'var fs=require("fs"),prompt=fs.readFileSync("/tmp/imagine_prompt.txt","utf-8").trim(),imgs=["PATH1","PATH2"],parts=imgs.map(function(p){return {inline_data:{mime_type:"image/"+p.split(".").pop(),data:fs.readFileSync(p).toString("base64")}}});parts.push({text:prompt});fs.writeFileSync("/tmp/imagine_payload.json",JSON.stringify({contents:[{parts:parts}],generationConfig:{responseModalities:["IMAGE"],imageConfig:{aspectRatio:"ASPECT",imageSize:"RESOLUTION"}}}))' && curl -s "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" -H "Content-Type: application/json" -H "x-goog-api-key: $GEMINI_API_KEY" -d @/tmp/imagine_payload.json -o /tmp/imagine_resp.json && node -e 'var fs=require("fs"),r=JSON.parse(fs.readFileSync("/tmp/imagine_resp.json","utf-8")),c=r.candidates,p=c&&c[0]&&c[0].content&&c[0].content.parts,i=p&&p.find(function(x){return x.inlineData||x.inline_data});if(!i){var e=r.error;console.error(e&&e.message||"No image");process.exit(1)}var d=i.inlineData||i.inline_data;fs.writeFileSync("generated/imagine_NAME.png",Buffer.from(d.data,"base64"))' && rm -f /tmp/imagine_resp.json /tmp/imagine_payload.json /tmp/imagine_prompt.txt
87
+ node -e 'var fs=require("fs"),prompt=fs.readFileSync("/tmp/imagine_prompt.txt","utf-8").trim(),imgs=["PATH1","PATH2"],parts=imgs.map(function(p){return {inline_data:{mime_type:"image/"+p.split(".").pop(),data:fs.readFileSync(p).toString("base64")}}});parts.push({text:prompt});fs.writeFileSync("/tmp/imagine_payload.json",JSON.stringify({contents:[{parts:parts}],generationConfig:{responseModalities:["IMAGE"],imageConfig:{aspectRatio:"ASPECT",imageSize:"RESOLUTION"}}}))' && curl -s "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent" -H "Content-Type: application/json" -H "x-goog-api-key: $GEMINI_API_KEY" -d @/tmp/imagine_payload.json -o /tmp/imagine_resp.json && node -e 'var fs=require("fs"),r=JSON.parse(fs.readFileSync("/tmp/imagine_resp.json","utf-8")),c=r.candidates,p=c&&c[0]&&c[0].content&&c[0].content.parts,i=p&&p.find(function(x){return x.inlineData||x.inline_data});if(!i){var e=r.error;console.error(e&&e.message||"No image");process.exit(1)}var d=i.inlineData||i.inline_data;fs.writeFileSync("generated/imagine_NAME.png",Buffer.from(d.data,"base64"))' && rm -f /tmp/imagine_resp.json /tmp/imagine_payload.json /tmp/imagine_prompt.txt
88
88
  ```
89
89
 
90
90
  ## After the command completes
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Generate images using Nano Banana Pro (Gemini/fal.ai)
2
+ description: Generate images using Nano Banana 2 (Gemini/fal.ai)
3
3
  argument-hint: <what you want to see> [optional: path/to/reference.png]
4
4
  author: "@markoradak"
5
5
  ---
@@ -10,8 +10,8 @@ $ARGUMENTS
10
10
 
11
11
  ## API Keys
12
12
 
13
- - GEMINI_API_KEY: !`node -e "console.log(process.env.GEMINI_API_KEY ? 'AVAILABLE' : 'NOT SET')"`
14
- - FAL_KEY: !`node -e "console.log(process.env.FAL_KEY ? 'AVAILABLE' : 'NOT SET')"`
13
+ - GEMINI_API_KEY: !`node -e 'console.log(process.env.GEMINI_API_KEY ? "AVAILABLE" : "NOT SET")'`
14
+ - FAL_KEY: !`node -e 'console.log(process.env.FAL_KEY ? "AVAILABLE" : "NOT SET")'`
15
15
 
16
16
  ---
17
17
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allthingsclaude/blueprints",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Claude Code commands and agents for enhanced AI-assisted development workflows",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -45,7 +45,7 @@
45
45
  "url": "https://github.com/allthingsclaude/blueprints/issues"
46
46
  },
47
47
  "engines": {
48
- "node": ">=16.0.0"
48
+ "node": ">=20.0.0"
49
49
  },
50
50
  "files": [
51
51
  "bin/",