@su-record/vibe 2.6.14 → 2.6.15
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/LICENSE +21 -21
- package/README.md +497 -497
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/e2e-tester.md +266 -266
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui-previewer.md +268 -268
- package/commands/vibe.analyze.md +356 -356
- package/commands/vibe.reason.md +329 -329
- package/commands/vibe.review.md +412 -412
- package/commands/vibe.run.md +1266 -1266
- package/commands/vibe.spec.md +1054 -1054
- package/commands/vibe.spec.review.md +319 -319
- package/commands/vibe.trace.md +161 -161
- package/commands/vibe.utils.md +376 -376
- package/commands/vibe.verify.md +375 -375
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/detect.js +32 -32
- package/dist/cli/hud.js +20 -20
- package/dist/cli/index.js +118 -118
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm.js +144 -144
- package/dist/cli/mcp.d.ts +49 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +169 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/postinstall.js +858 -858
- package/dist/cli/setup/ProjectSetup.d.ts +3 -0
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +28 -6
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/lib/DeepInit.js +24 -24
- package/dist/lib/IterationTracker.js +11 -11
- package/dist/lib/PythonParser.js +108 -108
- package/dist/lib/ReviewRace.js +96 -96
- package/dist/lib/SkillFrontmatter.js +28 -28
- package/dist/lib/SkillQualityGate.js +9 -9
- package/dist/lib/SkillRepository.js +159 -159
- package/dist/lib/UltraQA.js +77 -77
- package/dist/lib/gemini-api.js +5 -5
- package/dist/lib/gemini-mcp.d.ts +10 -0
- package/dist/lib/gemini-mcp.d.ts.map +1 -0
- package/dist/lib/gemini-mcp.js +353 -0
- package/dist/lib/gemini-mcp.js.map +1 -0
- package/dist/lib/gpt-api.js +4 -4
- package/dist/lib/gpt-mcp.d.ts +10 -0
- package/dist/lib/gpt-mcp.d.ts.map +1 -0
- package/dist/lib/gpt-mcp.js +352 -0
- package/dist/lib/gpt-mcp.js.map +1 -0
- package/dist/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/lib/memory/MemorySearch.js +20 -20
- package/dist/lib/memory/MemoryStorage.js +64 -64
- package/dist/orchestrator/AgentManager.js +12 -12
- package/dist/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/orchestrator/SmartRouter.js +11 -11
- package/dist/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
- package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
- package/dist/tools/analytics/getUsageAnalytics.js +246 -0
- package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
- package/dist/tools/analytics/index.d.ts +5 -0
- package/dist/tools/analytics/index.d.ts.map +1 -0
- package/dist/tools/analytics/index.js +5 -0
- package/dist/tools/analytics/index.js.map +1 -0
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/getCodingGuide.d.ts +7 -0
- package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
- package/dist/tools/convention/getCodingGuide.js +69 -0
- package/dist/tools/convention/getCodingGuide.js.map +1 -0
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
- package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
- package/dist/tools/planning/analyzeRequirements.js +171 -0
- package/dist/tools/planning/analyzeRequirements.js.map +1 -0
- package/dist/tools/planning/createUserStories.d.ts +9 -0
- package/dist/tools/planning/createUserStories.d.ts.map +1 -0
- package/dist/tools/planning/createUserStories.js +124 -0
- package/dist/tools/planning/createUserStories.js.map +1 -0
- package/dist/tools/planning/featureRoadmap.d.ts +10 -0
- package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
- package/dist/tools/planning/featureRoadmap.js +207 -0
- package/dist/tools/planning/featureRoadmap.js.map +1 -0
- package/dist/tools/planning/generatePrd.d.ts +11 -0
- package/dist/tools/planning/generatePrd.d.ts.map +1 -0
- package/dist/tools/planning/generatePrd.js +161 -0
- package/dist/tools/planning/generatePrd.js.map +1 -0
- package/dist/tools/planning/index.d.ts +8 -0
- package/dist/tools/planning/index.d.ts.map +1 -0
- package/dist/tools/planning/index.js +8 -0
- package/dist/tools/planning/index.js.map +1 -0
- package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
- package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
- package/dist/tools/prompt/analyzePrompt.js +150 -0
- package/dist/tools/prompt/analyzePrompt.js.map +1 -0
- package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
- package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
- package/dist/tools/prompt/enhancePrompt.js +110 -0
- package/dist/tools/prompt/enhancePrompt.js.map +1 -0
- package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
- package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
- package/dist/tools/prompt/enhancePromptGemini.js +332 -0
- package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
- package/dist/tools/prompt/index.d.ts +7 -0
- package/dist/tools/prompt/index.d.ts.map +1 -0
- package/dist/tools/prompt/index.js +7 -0
- package/dist/tools/prompt/index.js.map +1 -0
- package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
- package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
- package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
- package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
- package/dist/tools/reasoning/index.d.ts +5 -0
- package/dist/tools/reasoning/index.d.ts.map +1 -0
- package/dist/tools/reasoning/index.js +5 -0
- package/dist/tools/reasoning/index.js.map +1 -0
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/dist/tools/thinking/analyzeProblem.d.ts +7 -0
- package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
- package/dist/tools/thinking/analyzeProblem.js +55 -0
- package/dist/tools/thinking/analyzeProblem.js.map +1 -0
- package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
- package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
- package/dist/tools/thinking/breakDownProblem.js +145 -0
- package/dist/tools/thinking/breakDownProblem.js.map +1 -0
- package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
- package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
- package/dist/tools/thinking/createThinkingChain.js +44 -0
- package/dist/tools/thinking/createThinkingChain.js.map +1 -0
- package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
- package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
- package/dist/tools/thinking/formatAsPlan.js +78 -0
- package/dist/tools/thinking/formatAsPlan.js.map +1 -0
- package/dist/tools/thinking/index.d.ts +10 -0
- package/dist/tools/thinking/index.d.ts.map +1 -0
- package/dist/tools/thinking/index.js +10 -0
- package/dist/tools/thinking/index.js.map +1 -0
- package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
- package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
- package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
- package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
- package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
- package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
- package/dist/tools/thinking/thinkAloudProcess.js +80 -0
- package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
- package/hooks/hooks.json +222 -222
- package/hooks/scripts/code-check.js +22 -22
- package/hooks/scripts/code-review.js +22 -22
- package/hooks/scripts/complexity.js +22 -22
- package/hooks/scripts/compound.js +23 -23
- package/hooks/scripts/context-save.js +33 -33
- package/hooks/scripts/gemini-ui-gen.js +281 -281
- package/hooks/scripts/generate-brand-assets.js +474 -474
- package/hooks/scripts/hud-multiline.js +262 -262
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +171 -171
- package/hooks/scripts/post-edit.js +97 -97
- package/hooks/scripts/post-tool-verify.js +210 -210
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/recall.js +22 -22
- package/hooks/scripts/session-start.js +30 -30
- package/hooks/scripts/skill-injector.js +191 -191
- package/hooks/scripts/utils.js +97 -97
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +84 -84
- package/skills/brand-assets.md +141 -141
- package/skills/commerce-patterns.md +361 -361
- package/skills/context7-usage.md +102 -102
- package/skills/e2e-commerce.md +304 -304
- package/skills/frontend-design.md +92 -92
- package/skills/git-worktree.md +181 -181
- package/skills/parallel-research.md +77 -77
- package/skills/priority-todos.md +239 -239
- package/skills/seo-checklist.md +244 -244
- package/skills/tool-fallback.md +190 -190
- package/skills/vibe-capabilities.md +161 -161
- package/vibe/constitution.md +227 -227
- package/vibe/rules/core/communication-guide.md +98 -98
- package/vibe/rules/core/development-philosophy.md +52 -52
- package/vibe/rules/core/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
package/package.json
CHANGED
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@su-record/vibe",
|
|
3
|
-
"version": "2.6.
|
|
4
|
-
"description": "Vibe - Claude Code exclusive SPEC-driven AI coding framework with 35+ integrated tools",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "dist/cli/index.js",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": "./dist/cli/index.js",
|
|
9
|
-
"./tools": "./dist/tools/index.js",
|
|
10
|
-
"./tools/memory": "./dist/tools/memory/index.js",
|
|
11
|
-
"./tools/convention": "./dist/tools/convention/index.js",
|
|
12
|
-
"./tools/semantic": "./dist/tools/semantic/index.js",
|
|
13
|
-
"./tools/ui": "./dist/tools/ui/index.js",
|
|
14
|
-
"./tools/time": "./dist/tools/time/index.js",
|
|
15
|
-
"./tools/interaction": "./dist/tools/interaction/index.js",
|
|
16
|
-
"./orchestrator": "./dist/orchestrator/index.js",
|
|
17
|
-
"./lib/gpt": "./dist/lib/gpt-api.js",
|
|
18
|
-
"./lib/gemini": "./dist/lib/gemini-api.js"
|
|
19
|
-
},
|
|
20
|
-
"bin": {
|
|
21
|
-
"vibe": "./dist/cli/index.js"
|
|
22
|
-
},
|
|
23
|
-
"scripts": {
|
|
24
|
-
"build": "tsc",
|
|
25
|
-
"dev": "tsc --watch",
|
|
26
|
-
"test": "vitest run",
|
|
27
|
-
"test:watch": "vitest",
|
|
28
|
-
"prepublishOnly": "npm run build",
|
|
29
|
-
"postinstall": "node dist/cli/postinstall.js"
|
|
30
|
-
},
|
|
31
|
-
"keywords": [
|
|
32
|
-
"ai",
|
|
33
|
-
"vibe",
|
|
34
|
-
"coding",
|
|
35
|
-
"spec-driven",
|
|
36
|
-
"claude",
|
|
37
|
-
"mcp",
|
|
38
|
-
"framework",
|
|
39
|
-
"requirements",
|
|
40
|
-
"user-story",
|
|
41
|
-
"ultrawork",
|
|
42
|
-
"parallel-agents",
|
|
43
|
-
"memory-management",
|
|
44
|
-
"knowledge-graph",
|
|
45
|
-
"code-analysis",
|
|
46
|
-
"code-quality"
|
|
47
|
-
],
|
|
48
|
-
"author": "Su",
|
|
49
|
-
"license": "MIT",
|
|
50
|
-
"repository": {
|
|
51
|
-
"type": "git",
|
|
52
|
-
"url": "https://github.com/su-record/vibe.git"
|
|
53
|
-
},
|
|
54
|
-
"homepage": "https://github.com/su-record/vibe#readme",
|
|
55
|
-
"engines": {
|
|
56
|
-
"node": ">=18.0.0"
|
|
57
|
-
},
|
|
58
|
-
"dependencies": {
|
|
59
|
-
"@anthropic-ai/claude-agent-sdk": "^0.2.6",
|
|
60
|
-
"better-sqlite3": "^12.4.1",
|
|
61
|
-
"chalk": "^5.3.0",
|
|
62
|
-
"glob": "^11.0.3",
|
|
63
|
-
"ts-morph": "^26.0.0"
|
|
64
|
-
},
|
|
65
|
-
"devDependencies": {
|
|
66
|
-
"@types/better-sqlite3": "^7.6.13",
|
|
67
|
-
"@types/glob": "^8.1.0",
|
|
68
|
-
"@types/node": "^22.0.0",
|
|
69
|
-
"typescript": "^5.5.4",
|
|
70
|
-
"vitest": "^4.0.9"
|
|
71
|
-
},
|
|
72
|
-
"files": [
|
|
73
|
-
"dist/",
|
|
74
|
-
"vibe/",
|
|
75
|
-
"languages/",
|
|
76
|
-
"commands/",
|
|
77
|
-
"agents/",
|
|
78
|
-
"skills/",
|
|
79
|
-
"hooks/",
|
|
80
|
-
"CLAUDE.md",
|
|
81
|
-
"README.md",
|
|
82
|
-
"LICENSE"
|
|
83
|
-
]
|
|
84
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@su-record/vibe",
|
|
3
|
+
"version": "2.6.15",
|
|
4
|
+
"description": "Vibe - Claude Code exclusive SPEC-driven AI coding framework with 35+ integrated tools",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/cli/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./dist/cli/index.js",
|
|
9
|
+
"./tools": "./dist/tools/index.js",
|
|
10
|
+
"./tools/memory": "./dist/tools/memory/index.js",
|
|
11
|
+
"./tools/convention": "./dist/tools/convention/index.js",
|
|
12
|
+
"./tools/semantic": "./dist/tools/semantic/index.js",
|
|
13
|
+
"./tools/ui": "./dist/tools/ui/index.js",
|
|
14
|
+
"./tools/time": "./dist/tools/time/index.js",
|
|
15
|
+
"./tools/interaction": "./dist/tools/interaction/index.js",
|
|
16
|
+
"./orchestrator": "./dist/orchestrator/index.js",
|
|
17
|
+
"./lib/gpt": "./dist/lib/gpt-api.js",
|
|
18
|
+
"./lib/gemini": "./dist/lib/gemini-api.js"
|
|
19
|
+
},
|
|
20
|
+
"bin": {
|
|
21
|
+
"vibe": "./dist/cli/index.js"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsc",
|
|
25
|
+
"dev": "tsc --watch",
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"test:watch": "vitest",
|
|
28
|
+
"prepublishOnly": "npm run build",
|
|
29
|
+
"postinstall": "node dist/cli/postinstall.js"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"ai",
|
|
33
|
+
"vibe",
|
|
34
|
+
"coding",
|
|
35
|
+
"spec-driven",
|
|
36
|
+
"claude",
|
|
37
|
+
"mcp",
|
|
38
|
+
"framework",
|
|
39
|
+
"requirements",
|
|
40
|
+
"user-story",
|
|
41
|
+
"ultrawork",
|
|
42
|
+
"parallel-agents",
|
|
43
|
+
"memory-management",
|
|
44
|
+
"knowledge-graph",
|
|
45
|
+
"code-analysis",
|
|
46
|
+
"code-quality"
|
|
47
|
+
],
|
|
48
|
+
"author": "Su",
|
|
49
|
+
"license": "MIT",
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "https://github.com/su-record/vibe.git"
|
|
53
|
+
},
|
|
54
|
+
"homepage": "https://github.com/su-record/vibe#readme",
|
|
55
|
+
"engines": {
|
|
56
|
+
"node": ">=18.0.0"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.6",
|
|
60
|
+
"better-sqlite3": "^12.4.1",
|
|
61
|
+
"chalk": "^5.3.0",
|
|
62
|
+
"glob": "^11.0.3",
|
|
63
|
+
"ts-morph": "^26.0.0"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
67
|
+
"@types/glob": "^8.1.0",
|
|
68
|
+
"@types/node": "^22.0.0",
|
|
69
|
+
"typescript": "^5.5.4",
|
|
70
|
+
"vitest": "^4.0.9"
|
|
71
|
+
},
|
|
72
|
+
"files": [
|
|
73
|
+
"dist/",
|
|
74
|
+
"vibe/",
|
|
75
|
+
"languages/",
|
|
76
|
+
"commands/",
|
|
77
|
+
"agents/",
|
|
78
|
+
"skills/",
|
|
79
|
+
"hooks/",
|
|
80
|
+
"CLAUDE.md",
|
|
81
|
+
"README.md",
|
|
82
|
+
"LICENSE"
|
|
83
|
+
]
|
|
84
|
+
}
|
package/skills/brand-assets.md
CHANGED
|
@@ -1,141 +1,141 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: brand-assets
|
|
3
|
-
description: "Auto-generate app icons and favicons from SPEC brand information using Gemini Image API"
|
|
4
|
-
triggers: [icon, favicon, brand, logo, app icon, branding, assets]
|
|
5
|
-
priority: 65
|
|
6
|
-
---
|
|
7
|
-
# Brand Assets Generation Skill
|
|
8
|
-
|
|
9
|
-
Auto-generate app icons and favicons based on SPEC brand information.
|
|
10
|
-
|
|
11
|
-
## When to Use
|
|
12
|
-
|
|
13
|
-
- First-time project setup with `/vibe.run`
|
|
14
|
-
- When SPEC contains brand/design information
|
|
15
|
-
- When Gemini API key is configured
|
|
16
|
-
|
|
17
|
-
## Prerequisites
|
|
18
|
-
|
|
19
|
-
- Gemini API key configured (`vibe gemini auth`)
|
|
20
|
-
- SPEC with brand context (app name, colors, style)
|
|
21
|
-
|
|
22
|
-
## Generated Assets
|
|
23
|
-
|
|
24
|
-
### Web
|
|
25
|
-
- `favicon.ico` (16x16, 32x32, 48x48)
|
|
26
|
-
- `favicon-16x16.png`
|
|
27
|
-
- `favicon-32x32.png`
|
|
28
|
-
- `apple-touch-icon.png` (180x180)
|
|
29
|
-
- `android-chrome-192x192.png`
|
|
30
|
-
- `android-chrome-512x512.png`
|
|
31
|
-
|
|
32
|
-
### Mobile (if applicable)
|
|
33
|
-
- iOS: `AppIcon.appiconset/` with all sizes
|
|
34
|
-
- Android: `mipmap-*/` adaptive icons
|
|
35
|
-
|
|
36
|
-
## SPEC Brand Section
|
|
37
|
-
|
|
38
|
-
For best results, include brand info in your SPEC:
|
|
39
|
-
|
|
40
|
-
```yaml
|
|
41
|
-
<context>
|
|
42
|
-
Brand:
|
|
43
|
-
- App Name: MyApp
|
|
44
|
-
- Primary Color: #2F6BFF
|
|
45
|
-
- Style: Modern, minimal, flat design
|
|
46
|
-
- Icon Concept: Abstract geometric shape representing connectivity
|
|
47
|
-
</context>
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Generation Flow
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
SPEC Brand Info
|
|
54
|
-
|
|
|
55
|
-
v
|
|
56
|
-
Extract: name, colors, style keywords
|
|
57
|
-
|
|
|
58
|
-
v
|
|
59
|
-
Generate Prompt: "App icon for [name], [style], [colors]..."
|
|
60
|
-
|
|
|
61
|
-
v
|
|
62
|
-
Gemini Image API (imagen-3)
|
|
63
|
-
|
|
|
64
|
-
v
|
|
65
|
-
Resize & Convert: All platform sizes
|
|
66
|
-
|
|
|
67
|
-
v
|
|
68
|
-
Save to: public/ or assets/
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Auto-Trigger Conditions
|
|
72
|
-
|
|
73
|
-
1. First `/vibe.run` execution (no existing icons)
|
|
74
|
-
2. SPEC contains brand/design context
|
|
75
|
-
3. Gemini API key is available
|
|
76
|
-
4. `--generate-icons` flag passed
|
|
77
|
-
|
|
78
|
-
## Skip Conditions
|
|
79
|
-
|
|
80
|
-
- Icons already exist (unless `--regenerate-icons`)
|
|
81
|
-
- No brand info in SPEC
|
|
82
|
-
- Gemini API not configured
|
|
83
|
-
|
|
84
|
-
## Prompt Template
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
Create a modern app icon for "[APP_NAME]".
|
|
88
|
-
|
|
89
|
-
Style: [STYLE_KEYWORDS]
|
|
90
|
-
Primary color: [PRIMARY_COLOR]
|
|
91
|
-
Design: Minimalist, professional, suitable for mobile app
|
|
92
|
-
Format: Square, clean edges, simple recognizable shape
|
|
93
|
-
Background: Solid color or subtle gradient
|
|
94
|
-
|
|
95
|
-
Requirements:
|
|
96
|
-
- Works at small sizes (16x16 to 512x512)
|
|
97
|
-
- No text or letters
|
|
98
|
-
- Single focal element
|
|
99
|
-
- High contrast for visibility
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Manual Usage
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
# Generate via hook script (when Gemini configured)
|
|
106
|
-
node hooks/scripts/generate-brand-assets.js \
|
|
107
|
-
--name "MyApp" \
|
|
108
|
-
--color "#2F6BFF" \
|
|
109
|
-
--style "modern minimal" \
|
|
110
|
-
--output "./public"
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Integration with /vibe.run
|
|
114
|
-
|
|
115
|
-
During Phase 1 (Setup), if brand assets don't exist:
|
|
116
|
-
|
|
117
|
-
1. Parse SPEC for brand context
|
|
118
|
-
2. Generate icon via Gemini Image API
|
|
119
|
-
3. Create all size variants
|
|
120
|
-
4. Place in appropriate directories
|
|
121
|
-
5. Update manifest files if needed
|
|
122
|
-
|
|
123
|
-
## Fallback Strategy
|
|
124
|
-
|
|
125
|
-
If Gemini Image fails:
|
|
126
|
-
1. Generate text-based monogram icon (first letter)
|
|
127
|
-
2. Use project primary color as background
|
|
128
|
-
3. Create simple geometric placeholder
|
|
129
|
-
|
|
130
|
-
## Output Structure
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
public/
|
|
134
|
-
favicon.ico
|
|
135
|
-
favicon-16x16.png
|
|
136
|
-
favicon-32x32.png
|
|
137
|
-
apple-touch-icon.png
|
|
138
|
-
android-chrome-192x192.png
|
|
139
|
-
android-chrome-512x512.png
|
|
140
|
-
site.webmanifest
|
|
141
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: brand-assets
|
|
3
|
+
description: "Auto-generate app icons and favicons from SPEC brand information using Gemini Image API"
|
|
4
|
+
triggers: [icon, favicon, brand, logo, app icon, branding, assets]
|
|
5
|
+
priority: 65
|
|
6
|
+
---
|
|
7
|
+
# Brand Assets Generation Skill
|
|
8
|
+
|
|
9
|
+
Auto-generate app icons and favicons based on SPEC brand information.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- First-time project setup with `/vibe.run`
|
|
14
|
+
- When SPEC contains brand/design information
|
|
15
|
+
- When Gemini API key is configured
|
|
16
|
+
|
|
17
|
+
## Prerequisites
|
|
18
|
+
|
|
19
|
+
- Gemini API key configured (`vibe gemini auth`)
|
|
20
|
+
- SPEC with brand context (app name, colors, style)
|
|
21
|
+
|
|
22
|
+
## Generated Assets
|
|
23
|
+
|
|
24
|
+
### Web
|
|
25
|
+
- `favicon.ico` (16x16, 32x32, 48x48)
|
|
26
|
+
- `favicon-16x16.png`
|
|
27
|
+
- `favicon-32x32.png`
|
|
28
|
+
- `apple-touch-icon.png` (180x180)
|
|
29
|
+
- `android-chrome-192x192.png`
|
|
30
|
+
- `android-chrome-512x512.png`
|
|
31
|
+
|
|
32
|
+
### Mobile (if applicable)
|
|
33
|
+
- iOS: `AppIcon.appiconset/` with all sizes
|
|
34
|
+
- Android: `mipmap-*/` adaptive icons
|
|
35
|
+
|
|
36
|
+
## SPEC Brand Section
|
|
37
|
+
|
|
38
|
+
For best results, include brand info in your SPEC:
|
|
39
|
+
|
|
40
|
+
```yaml
|
|
41
|
+
<context>
|
|
42
|
+
Brand:
|
|
43
|
+
- App Name: MyApp
|
|
44
|
+
- Primary Color: #2F6BFF
|
|
45
|
+
- Style: Modern, minimal, flat design
|
|
46
|
+
- Icon Concept: Abstract geometric shape representing connectivity
|
|
47
|
+
</context>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Generation Flow
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
SPEC Brand Info
|
|
54
|
+
|
|
|
55
|
+
v
|
|
56
|
+
Extract: name, colors, style keywords
|
|
57
|
+
|
|
|
58
|
+
v
|
|
59
|
+
Generate Prompt: "App icon for [name], [style], [colors]..."
|
|
60
|
+
|
|
|
61
|
+
v
|
|
62
|
+
Gemini Image API (imagen-3)
|
|
63
|
+
|
|
|
64
|
+
v
|
|
65
|
+
Resize & Convert: All platform sizes
|
|
66
|
+
|
|
|
67
|
+
v
|
|
68
|
+
Save to: public/ or assets/
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Auto-Trigger Conditions
|
|
72
|
+
|
|
73
|
+
1. First `/vibe.run` execution (no existing icons)
|
|
74
|
+
2. SPEC contains brand/design context
|
|
75
|
+
3. Gemini API key is available
|
|
76
|
+
4. `--generate-icons` flag passed
|
|
77
|
+
|
|
78
|
+
## Skip Conditions
|
|
79
|
+
|
|
80
|
+
- Icons already exist (unless `--regenerate-icons`)
|
|
81
|
+
- No brand info in SPEC
|
|
82
|
+
- Gemini API not configured
|
|
83
|
+
|
|
84
|
+
## Prompt Template
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
Create a modern app icon for "[APP_NAME]".
|
|
88
|
+
|
|
89
|
+
Style: [STYLE_KEYWORDS]
|
|
90
|
+
Primary color: [PRIMARY_COLOR]
|
|
91
|
+
Design: Minimalist, professional, suitable for mobile app
|
|
92
|
+
Format: Square, clean edges, simple recognizable shape
|
|
93
|
+
Background: Solid color or subtle gradient
|
|
94
|
+
|
|
95
|
+
Requirements:
|
|
96
|
+
- Works at small sizes (16x16 to 512x512)
|
|
97
|
+
- No text or letters
|
|
98
|
+
- Single focal element
|
|
99
|
+
- High contrast for visibility
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Manual Usage
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Generate via hook script (when Gemini configured)
|
|
106
|
+
node hooks/scripts/generate-brand-assets.js \
|
|
107
|
+
--name "MyApp" \
|
|
108
|
+
--color "#2F6BFF" \
|
|
109
|
+
--style "modern minimal" \
|
|
110
|
+
--output "./public"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Integration with /vibe.run
|
|
114
|
+
|
|
115
|
+
During Phase 1 (Setup), if brand assets don't exist:
|
|
116
|
+
|
|
117
|
+
1. Parse SPEC for brand context
|
|
118
|
+
2. Generate icon via Gemini Image API
|
|
119
|
+
3. Create all size variants
|
|
120
|
+
4. Place in appropriate directories
|
|
121
|
+
5. Update manifest files if needed
|
|
122
|
+
|
|
123
|
+
## Fallback Strategy
|
|
124
|
+
|
|
125
|
+
If Gemini Image fails:
|
|
126
|
+
1. Generate text-based monogram icon (first letter)
|
|
127
|
+
2. Use project primary color as background
|
|
128
|
+
3. Create simple geometric placeholder
|
|
129
|
+
|
|
130
|
+
## Output Structure
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
public/
|
|
134
|
+
favicon.ico
|
|
135
|
+
favicon-16x16.png
|
|
136
|
+
favicon-32x32.png
|
|
137
|
+
apple-touch-icon.png
|
|
138
|
+
android-chrome-192x192.png
|
|
139
|
+
android-chrome-512x512.png
|
|
140
|
+
site.webmanifest
|
|
141
|
+
```
|