@su-record/vibe 2.7.12 → 2.7.14
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/.env.example +37 -37
- package/CLAUDE.md +126 -126
- package/LICENSE +21 -21
- package/README.md +449 -580
- 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/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -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/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- 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/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -260
- package/commands/vibe.analyze.md +8 -0
- package/commands/vibe.review.md +10 -3
- package/commands/vibe.run.md +2078 -2022
- package/commands/vibe.spec.md +10 -10
- package/commands/vibe.spec.review.md +565 -558
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +45 -0
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +1 -7
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +55 -70
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +6 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/setup.js +1 -1
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +3 -4
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -55
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +20 -20
- package/dist/cli/llm/config.js.map +1 -1
- package/dist/cli/llm/gemini-commands.d.ts +4 -6
- package/dist/cli/llm/gemini-commands.d.ts.map +1 -1
- package/dist/cli/llm/gemini-commands.js +52 -322
- package/dist/cli/llm/gemini-commands.js.map +1 -1
- package/dist/cli/llm/gpt-commands.js +21 -21
- package/dist/cli/llm/gpt-commands.js.map +1 -1
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.js +1 -1
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/postinstall/inline-skills.js +1 -1
- package/dist/cli/postinstall/inline-skills.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/cli/types.d.ts +2 -18
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/utils.d.ts +0 -9
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +0 -28
- package/dist/cli/utils.js.map +1 -1
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/config/GlobalConfigManager.d.ts +0 -2
- package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.js +0 -27
- package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/auth.d.ts +4 -16
- package/dist/infra/lib/gemini/auth.d.ts.map +1 -1
- package/dist/infra/lib/gemini/auth.js +10 -405
- package/dist/infra/lib/gemini/auth.js.map +1 -1
- package/dist/infra/lib/gemini/capabilities.d.ts +4 -8
- package/dist/infra/lib/gemini/capabilities.d.ts.map +1 -1
- package/dist/infra/lib/gemini/capabilities.js +8 -166
- package/dist/infra/lib/gemini/capabilities.js.map +1 -1
- package/dist/infra/lib/gemini/chat.d.ts +4 -13
- package/dist/infra/lib/gemini/chat.d.ts.map +1 -1
- package/dist/infra/lib/gemini/chat.js +10 -323
- package/dist/infra/lib/gemini/chat.js.map +1 -1
- package/dist/infra/lib/gemini/completion.d.ts +5 -15
- package/dist/infra/lib/gemini/completion.d.ts.map +1 -1
- package/dist/infra/lib/gemini/completion.js +6 -97
- package/dist/infra/lib/gemini/completion.js.map +1 -1
- package/dist/infra/lib/gemini/constants.d.ts +2 -31
- package/dist/infra/lib/gemini/constants.d.ts.map +1 -1
- package/dist/infra/lib/gemini/constants.js +2 -77
- package/dist/infra/lib/gemini/constants.js.map +1 -1
- package/dist/infra/lib/gemini/index.d.ts +5 -8
- package/dist/infra/lib/gemini/index.d.ts.map +1 -1
- package/dist/infra/lib/gemini/index.js +4 -7
- package/dist/infra/lib/gemini/index.js.map +1 -1
- package/dist/infra/lib/gemini/models.d.ts +3 -4
- package/dist/infra/lib/gemini/models.d.ts.map +1 -1
- package/dist/infra/lib/gemini/models.js +8 -84
- package/dist/infra/lib/gemini/models.js.map +1 -1
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gemini/types.d.ts +16 -44
- package/dist/infra/lib/gemini/types.d.ts.map +1 -1
- package/dist/infra/lib/gemini/types.js +1 -1
- package/dist/infra/lib/gpt/auth.d.ts +2 -5
- package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
- package/dist/infra/lib/gpt/auth.js +8 -38
- package/dist/infra/lib/gpt/auth.js.map +1 -1
- package/dist/infra/lib/gpt/chat.d.ts +3 -3
- package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
- package/dist/infra/lib/gpt/chat.js +37 -53
- package/dist/infra/lib/gpt/chat.js.map +1 -1
- package/dist/infra/lib/gpt/constants.d.ts +2 -5
- package/dist/infra/lib/gpt/constants.d.ts.map +1 -1
- package/dist/infra/lib/gpt/constants.js +4 -9
- package/dist/infra/lib/gpt/constants.js.map +1 -1
- package/dist/infra/lib/gpt/embedding.d.ts +1 -1
- package/dist/infra/lib/gpt/embedding.js +3 -3
- package/dist/infra/lib/gpt/embedding.js.map +1 -1
- package/dist/infra/lib/gpt/oauth.d.ts +6 -39
- package/dist/infra/lib/gpt/oauth.d.ts.map +1 -1
- package/dist/infra/lib/gpt/oauth.js +8 -340
- package/dist/infra/lib/gpt/oauth.js.map +1 -1
- package/dist/infra/lib/gpt/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js.map +1 -1
- package/dist/infra/lib/gpt/specializations.d.ts +2 -2
- package/dist/infra/lib/gpt/specializations.js +3 -3
- package/dist/infra/lib/gpt/specializations.js.map +1 -1
- package/dist/infra/lib/gpt/types.d.ts +1 -1
- package/dist/infra/lib/gpt/types.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts +2 -2
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.js.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.test.js +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.test.js.map +1 -1
- package/dist/infra/lib/llm/auth/TokenRefresher.d.ts +1 -1
- package/dist/infra/lib/llm/auth/TokenRefresher.js +1 -1
- package/dist/infra/lib/llm/auth/index.d.ts +2 -12
- package/dist/infra/lib/llm/auth/index.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/index.js +5 -63
- package/dist/infra/lib/llm/auth/index.js.map +1 -1
- package/dist/infra/lib/llm/types.d.ts +1 -1
- package/dist/infra/lib/llm/types.d.ts.map +1 -1
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- 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/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +70 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -646
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- 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 +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +59 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +48 -48
- package/skills/e2e-commerce/SKILL.md +57 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +73 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -65
- package/skills/ui-ux-pro-max/SKILL.md +206 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/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/performance.md +236 -236
- 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/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- 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/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
- package/commands/vibe.voice.md +0 -79
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "1.0.0",
|
|
3
|
-
"schema_version": "1",
|
|
4
|
-
"description": "UI/UX Design Intelligence CSV data for VIBE framework",
|
|
5
|
-
"files": {
|
|
6
|
-
"products.csv": ["No", "Product_Type", "Keywords", "Style_Recommendation", "Color_Palette_Type", "Typography_Type", "Layout_Preference", "Dashboard_Style"],
|
|
7
|
-
"ui-reasoning.csv": ["No", "UI_Category", "Style_Priority", "Color_Mood", "Typography_Mood", "Decision_Rules", "Anti_Patterns", "Severity"],
|
|
8
|
-
"styles.csv": ["No", "Style Category", "Keywords", "Primary Colors", "Effects", "Best For", "CSS Keywords", "Design System Variables", "Implementation Checklist"],
|
|
9
|
-
"colors.csv": ["No", "Product Type", "Primary (Hex)", "Secondary (Hex)", "CTA (Hex)", "Background (Hex)", "Text (Hex)", "Border/Divider (Hex)", "Notes"],
|
|
10
|
-
"typography.csv": ["No", "Font Pairing Name", "Heading Font", "Body Font", "Best For", "Mood", "Google Fonts URL"],
|
|
11
|
-
"landing.csv": ["No", "Product Type", "Pattern Name", "Section Order", "Primary CTA Placement", "Color Strategy", "Effects", "Conversion Tips"],
|
|
12
|
-
"charts.csv": ["No", "Chart Type", "Best For", "Data Type", "Library", "Key Config", "Accessibility Notes"],
|
|
13
|
-
"icons.csv": ["No", "Icon Library", "Style", "Best For", "CDN URL", "React Component", "Size Options"],
|
|
14
|
-
"react-performance.csv": ["No", "Pattern", "Problem", "Solution", "Impact", "Priority"],
|
|
15
|
-
"ux-guidelines.csv": ["No", "Category", "Guideline", "Priority", "WCAG Level", "Implementation"],
|
|
16
|
-
"web-interface.csv": ["No", "Component", "Pattern", "Best Practice", "Anti-Pattern", "Framework Support"],
|
|
17
|
-
"stacks/nextjs.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
18
|
-
"stacks/react.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
19
|
-
"stacks/shadcn.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
20
|
-
"stacks/html-tailwind.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
21
|
-
"stacks/svelte.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
22
|
-
"stacks/vue.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
23
|
-
"stacks/nuxtjs.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
24
|
-
"stacks/nuxt-ui.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
25
|
-
"stacks/astro.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
26
|
-
"stacks/flutter.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
27
|
-
"stacks/react-native.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
28
|
-
"stacks/swiftui.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
29
|
-
"stacks/jetpack-compose.csv": ["No", "Category", "Pattern", "Implementation", "Notes"]
|
|
30
|
-
}
|
|
31
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"schema_version": "1",
|
|
4
|
+
"description": "UI/UX Design Intelligence CSV data for VIBE framework",
|
|
5
|
+
"files": {
|
|
6
|
+
"products.csv": ["No", "Product_Type", "Keywords", "Style_Recommendation", "Color_Palette_Type", "Typography_Type", "Layout_Preference", "Dashboard_Style"],
|
|
7
|
+
"ui-reasoning.csv": ["No", "UI_Category", "Style_Priority", "Color_Mood", "Typography_Mood", "Decision_Rules", "Anti_Patterns", "Severity"],
|
|
8
|
+
"styles.csv": ["No", "Style Category", "Keywords", "Primary Colors", "Effects", "Best For", "CSS Keywords", "Design System Variables", "Implementation Checklist"],
|
|
9
|
+
"colors.csv": ["No", "Product Type", "Primary (Hex)", "Secondary (Hex)", "CTA (Hex)", "Background (Hex)", "Text (Hex)", "Border/Divider (Hex)", "Notes"],
|
|
10
|
+
"typography.csv": ["No", "Font Pairing Name", "Heading Font", "Body Font", "Best For", "Mood", "Google Fonts URL"],
|
|
11
|
+
"landing.csv": ["No", "Product Type", "Pattern Name", "Section Order", "Primary CTA Placement", "Color Strategy", "Effects", "Conversion Tips"],
|
|
12
|
+
"charts.csv": ["No", "Chart Type", "Best For", "Data Type", "Library", "Key Config", "Accessibility Notes"],
|
|
13
|
+
"icons.csv": ["No", "Icon Library", "Style", "Best For", "CDN URL", "React Component", "Size Options"],
|
|
14
|
+
"react-performance.csv": ["No", "Pattern", "Problem", "Solution", "Impact", "Priority"],
|
|
15
|
+
"ux-guidelines.csv": ["No", "Category", "Guideline", "Priority", "WCAG Level", "Implementation"],
|
|
16
|
+
"web-interface.csv": ["No", "Component", "Pattern", "Best Practice", "Anti-Pattern", "Framework Support"],
|
|
17
|
+
"stacks/nextjs.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
18
|
+
"stacks/react.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
19
|
+
"stacks/shadcn.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
20
|
+
"stacks/html-tailwind.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
21
|
+
"stacks/svelte.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
22
|
+
"stacks/vue.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
23
|
+
"stacks/nuxtjs.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
24
|
+
"stacks/nuxt-ui.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
25
|
+
"stacks/astro.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
26
|
+
"stacks/flutter.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
27
|
+
"stacks/react-native.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
28
|
+
"stacks/swiftui.csv": ["No", "Category", "Pattern", "Implementation", "Notes"],
|
|
29
|
+
"stacks/jetpack-compose.csv": ["No", "Category", "Pattern", "Implementation", "Notes"]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
No,Category,Issue,Keywords,Platform,Description,Do,Don't,Code Example Good,Code Example Bad,Severity
|
|
2
|
-
1,Accessibility,Icon Button Labels,icon button aria-label,Web,Icon-only buttons must have accessible names,Add aria-label to icon buttons,Icon button without label,"<button aria-label='Close'><XIcon /></button>","<button><XIcon /></button>",Critical
|
|
3
|
-
2,Accessibility,Form Control Labels,form input label aria,Web,All form controls need labels or aria-label,Use label element or aria-label,Input without accessible name,"<label for='email'>Email</label><input id='email' />","<input placeholder='Email' />",Critical
|
|
4
|
-
3,Accessibility,Keyboard Handlers,keyboard onclick onkeydown,Web,Interactive elements must support keyboard interaction,Add onKeyDown alongside onClick,Click-only interaction,"<div onClick={fn} onKeyDown={fn} tabIndex={0}>","<div onClick={fn}>",High
|
|
5
|
-
4,Accessibility,Semantic HTML,semantic button a label,Web,Use semantic HTML before ARIA attributes,Use button/a/label elements,Div with role attribute,"<button onClick={fn}>Submit</button>","<div role='button' onClick={fn}>Submit</div>",High
|
|
6
|
-
5,Accessibility,Aria Live,aria-live polite async,Web,Async updates need aria-live for screen readers,Add aria-live='polite' for dynamic content,Silent async updates,"<div aria-live='polite'>{status}</div>","<div>{status}</div> // no announcement",Medium
|
|
7
|
-
6,Accessibility,Decorative Icons,aria-hidden decorative icon,Web,Decorative icons should be hidden from screen readers,Add aria-hidden='true' to decorative icons,Decorative icon announced,"<Icon aria-hidden='true' />","<Icon /> // announced as 'image'",Medium
|
|
8
|
-
7,Focus,Visible Focus States,focus-visible outline ring,Web,All interactive elements need visible focus states,Use :focus-visible with ring/outline,No focus indication,"focus-visible:ring-2 focus-visible:ring-blue-500","outline-none // no replacement",Critical
|
|
9
|
-
8,Focus,Never Remove Outline,outline-none focus replacement,Web,Never remove outline without providing replacement,Replace outline with visible alternative,Remove outline completely,"focus:outline-none focus:ring-2","focus:outline-none // nothing else",Critical
|
|
10
|
-
9,Focus,Checkbox Radio Hit Target,checkbox radio label target,Web,Checkbox/radio must share hit target with label,Wrap input and label together,Separate tiny checkbox,"<label class='flex gap-2'><input type='checkbox' /><span>Option</span></label>","<input type='checkbox' id='x' /><label for='x'>Option</label>",Medium
|
|
11
|
-
10,Forms,Autocomplete Attribute,autocomplete input form,Web,Inputs need autocomplete attribute for autofill,Add appropriate autocomplete value,Missing autocomplete,"<input autocomplete='email' type='email' />","<input type='email' />",High
|
|
12
|
-
11,Forms,Semantic Input Types,input type email tel url,Web,Use semantic input type attributes,Use email/tel/url/number types,text type for everything,"<input type='email' />","<input type='text' /> // for email",Medium
|
|
13
|
-
12,Forms,Never Block Paste,paste onpaste password,Web,Never prevent paste functionality,Allow paste on all inputs,Block paste on password/code,"<input type='password' />","<input onPaste={e => e.preventDefault()} />",High
|
|
14
|
-
13,Forms,Spellcheck Disable,spellcheck email code,Web,Disable spellcheck on emails and codes,Set spellcheck='false' on codes,Spellcheck on technical input,"<input spellCheck='false' type='email' />","<input type='email' /> // red squiggles",Low
|
|
15
|
-
14,Forms,Submit Button Enabled,submit button disabled loading,Web,Keep submit enabled and show spinner during requests,Show loading spinner keep enabled,Disable button during submit,"<button>{loading ? <Spinner /> : 'Submit'}</button>","<button disabled={loading}>Submit</button>",Medium
|
|
16
|
-
15,Forms,Inline Errors,error message inline focus,Web,Show error messages inline near the problem field,Inline error with focus on first error,Single error at top,"<input /><span class='text-red-500'>{error}</span>","<div class='error'>{allErrors}</div> // at top",High
|
|
17
|
-
16,Performance,Virtualize Lists,virtualize list 50 items,Web,Virtualize lists exceeding 50 items,Use virtual list for large datasets,Render all items,"<VirtualList items={items} />","items.map(item => <Item />)",High
|
|
18
|
-
17,Performance,Avoid Layout Reads,layout read render getboundingclientrect,Web,Avoid layout reads during render phase,Read layout in effects or callbacks,getBoundingClientRect in render,"useEffect(() => { el.getBoundingClientRect() })","const rect = el.getBoundingClientRect() // in render",Medium
|
|
19
|
-
18,Performance,Batch DOM Operations,batch dom write read,Web,Group DOM operations to minimize reflows,Batch writes then reads,Interleave reads and writes,"writes.forEach(w => w()); reads.forEach(r => r())","write(); read(); write(); read(); // thrashing",Medium
|
|
20
|
-
19,Performance,Preconnect CDN,preconnect link cdn,Web,Add preconnect links for CDN domains,Preconnect to known domains,"<link rel='preconnect' href='https://cdn.example.com' />","// no preconnect hint",Low
|
|
21
|
-
20,Performance,Lazy Load Images,lazy loading image below-fold,Web,Lazy-load images below the fold,Use loading='lazy' for below-fold images,Load all images eagerly,"<img loading='lazy' src='...' />","<img src='...' /> // above fold only",Medium
|
|
22
|
-
21,State,URL Reflects State,url state query params,Web,URL should reflect current UI state,Sync filters/tabs/pagination to URL,State only in memory,"?tab=settings&page=2","useState only // lost on refresh",High
|
|
23
|
-
22,State,Deep Linking,deep link stateful component,Web,Stateful components should support deep-linking,Enable sharing current view via URL,No shareable state,"router.push({ query: { ...filters } })","setFilters(f) // not in URL",Medium
|
|
24
|
-
23,State,Confirm Destructive Actions,confirm destructive delete modal,Web,Destructive actions require confirmation,Show confirmation dialog before delete,Delete without confirmation,"if (confirm('Delete?')) delete()","onClick={delete} // no confirmation",High
|
|
25
|
-
24,Typography,Proper Unicode,unicode ellipsis quotes,Web,Use proper Unicode characters,Use ... curly quotes proper dashes,ASCII approximations,"'Hello...' with proper ellipsis","'Hello...' with three dots",Low
|
|
26
|
-
25,Typography,Text Overflow,truncate line-clamp overflow,Web,Handle text overflow properly,Use truncate/line-clamp/break-words,Text overflows container,"<p class='truncate'>Long text...</p>","<p>Long text...</p> // overflows",Medium
|
|
27
|
-
26,Typography,Non-Breaking Spaces,nbsp unit brand,Web,Use non-breaking spaces for units and brand names,Use between number and unit,"10 kg or Next.js 14","10 kg // may wrap",Low
|
|
28
|
-
27,Anti-Pattern,No Zoom Disable,viewport zoom disable,Web,Never disable zoom in viewport meta,Allow user zoom,"<meta name='viewport' content='width=device-width'>","<meta name='viewport' content='maximum-scale=1'>",Critical
|
|
29
|
-
28,Anti-Pattern,No Transition All,transition all specific,Web,Avoid transition: all - specify properties,Transition specific properties,transition: all,"transition-colors duration-200","transition-all duration-200",Medium
|
|
30
|
-
29,Anti-Pattern,Outline Replacement,outline-none ring focus,Web,Never use outline-none without replacement,Provide visible focus replacement,Remove outline with nothing,"focus:outline-none focus:ring-2 focus:ring-blue-500","focus:outline-none // alone",Critical
|
|
31
|
-
30,Anti-Pattern,No Hardcoded Dates,date format intl locale,Web,Use Intl for date/number formatting,Use Intl.DateTimeFormat,Hardcoded date format,"new Intl.DateTimeFormat('en').format(date)","date.toLocaleDateString() // or manual format",Medium
|
|
1
|
+
No,Category,Issue,Keywords,Platform,Description,Do,Don't,Code Example Good,Code Example Bad,Severity
|
|
2
|
+
1,Accessibility,Icon Button Labels,icon button aria-label,Web,Icon-only buttons must have accessible names,Add aria-label to icon buttons,Icon button without label,"<button aria-label='Close'><XIcon /></button>","<button><XIcon /></button>",Critical
|
|
3
|
+
2,Accessibility,Form Control Labels,form input label aria,Web,All form controls need labels or aria-label,Use label element or aria-label,Input without accessible name,"<label for='email'>Email</label><input id='email' />","<input placeholder='Email' />",Critical
|
|
4
|
+
3,Accessibility,Keyboard Handlers,keyboard onclick onkeydown,Web,Interactive elements must support keyboard interaction,Add onKeyDown alongside onClick,Click-only interaction,"<div onClick={fn} onKeyDown={fn} tabIndex={0}>","<div onClick={fn}>",High
|
|
5
|
+
4,Accessibility,Semantic HTML,semantic button a label,Web,Use semantic HTML before ARIA attributes,Use button/a/label elements,Div with role attribute,"<button onClick={fn}>Submit</button>","<div role='button' onClick={fn}>Submit</div>",High
|
|
6
|
+
5,Accessibility,Aria Live,aria-live polite async,Web,Async updates need aria-live for screen readers,Add aria-live='polite' for dynamic content,Silent async updates,"<div aria-live='polite'>{status}</div>","<div>{status}</div> // no announcement",Medium
|
|
7
|
+
6,Accessibility,Decorative Icons,aria-hidden decorative icon,Web,Decorative icons should be hidden from screen readers,Add aria-hidden='true' to decorative icons,Decorative icon announced,"<Icon aria-hidden='true' />","<Icon /> // announced as 'image'",Medium
|
|
8
|
+
7,Focus,Visible Focus States,focus-visible outline ring,Web,All interactive elements need visible focus states,Use :focus-visible with ring/outline,No focus indication,"focus-visible:ring-2 focus-visible:ring-blue-500","outline-none // no replacement",Critical
|
|
9
|
+
8,Focus,Never Remove Outline,outline-none focus replacement,Web,Never remove outline without providing replacement,Replace outline with visible alternative,Remove outline completely,"focus:outline-none focus:ring-2","focus:outline-none // nothing else",Critical
|
|
10
|
+
9,Focus,Checkbox Radio Hit Target,checkbox radio label target,Web,Checkbox/radio must share hit target with label,Wrap input and label together,Separate tiny checkbox,"<label class='flex gap-2'><input type='checkbox' /><span>Option</span></label>","<input type='checkbox' id='x' /><label for='x'>Option</label>",Medium
|
|
11
|
+
10,Forms,Autocomplete Attribute,autocomplete input form,Web,Inputs need autocomplete attribute for autofill,Add appropriate autocomplete value,Missing autocomplete,"<input autocomplete='email' type='email' />","<input type='email' />",High
|
|
12
|
+
11,Forms,Semantic Input Types,input type email tel url,Web,Use semantic input type attributes,Use email/tel/url/number types,text type for everything,"<input type='email' />","<input type='text' /> // for email",Medium
|
|
13
|
+
12,Forms,Never Block Paste,paste onpaste password,Web,Never prevent paste functionality,Allow paste on all inputs,Block paste on password/code,"<input type='password' />","<input onPaste={e => e.preventDefault()} />",High
|
|
14
|
+
13,Forms,Spellcheck Disable,spellcheck email code,Web,Disable spellcheck on emails and codes,Set spellcheck='false' on codes,Spellcheck on technical input,"<input spellCheck='false' type='email' />","<input type='email' /> // red squiggles",Low
|
|
15
|
+
14,Forms,Submit Button Enabled,submit button disabled loading,Web,Keep submit enabled and show spinner during requests,Show loading spinner keep enabled,Disable button during submit,"<button>{loading ? <Spinner /> : 'Submit'}</button>","<button disabled={loading}>Submit</button>",Medium
|
|
16
|
+
15,Forms,Inline Errors,error message inline focus,Web,Show error messages inline near the problem field,Inline error with focus on first error,Single error at top,"<input /><span class='text-red-500'>{error}</span>","<div class='error'>{allErrors}</div> // at top",High
|
|
17
|
+
16,Performance,Virtualize Lists,virtualize list 50 items,Web,Virtualize lists exceeding 50 items,Use virtual list for large datasets,Render all items,"<VirtualList items={items} />","items.map(item => <Item />)",High
|
|
18
|
+
17,Performance,Avoid Layout Reads,layout read render getboundingclientrect,Web,Avoid layout reads during render phase,Read layout in effects or callbacks,getBoundingClientRect in render,"useEffect(() => { el.getBoundingClientRect() })","const rect = el.getBoundingClientRect() // in render",Medium
|
|
19
|
+
18,Performance,Batch DOM Operations,batch dom write read,Web,Group DOM operations to minimize reflows,Batch writes then reads,Interleave reads and writes,"writes.forEach(w => w()); reads.forEach(r => r())","write(); read(); write(); read(); // thrashing",Medium
|
|
20
|
+
19,Performance,Preconnect CDN,preconnect link cdn,Web,Add preconnect links for CDN domains,Preconnect to known domains,"<link rel='preconnect' href='https://cdn.example.com' />","// no preconnect hint",Low
|
|
21
|
+
20,Performance,Lazy Load Images,lazy loading image below-fold,Web,Lazy-load images below the fold,Use loading='lazy' for below-fold images,Load all images eagerly,"<img loading='lazy' src='...' />","<img src='...' /> // above fold only",Medium
|
|
22
|
+
21,State,URL Reflects State,url state query params,Web,URL should reflect current UI state,Sync filters/tabs/pagination to URL,State only in memory,"?tab=settings&page=2","useState only // lost on refresh",High
|
|
23
|
+
22,State,Deep Linking,deep link stateful component,Web,Stateful components should support deep-linking,Enable sharing current view via URL,No shareable state,"router.push({ query: { ...filters } })","setFilters(f) // not in URL",Medium
|
|
24
|
+
23,State,Confirm Destructive Actions,confirm destructive delete modal,Web,Destructive actions require confirmation,Show confirmation dialog before delete,Delete without confirmation,"if (confirm('Delete?')) delete()","onClick={delete} // no confirmation",High
|
|
25
|
+
24,Typography,Proper Unicode,unicode ellipsis quotes,Web,Use proper Unicode characters,Use ... curly quotes proper dashes,ASCII approximations,"'Hello...' with proper ellipsis","'Hello...' with three dots",Low
|
|
26
|
+
25,Typography,Text Overflow,truncate line-clamp overflow,Web,Handle text overflow properly,Use truncate/line-clamp/break-words,Text overflows container,"<p class='truncate'>Long text...</p>","<p>Long text...</p> // overflows",Medium
|
|
27
|
+
26,Typography,Non-Breaking Spaces,nbsp unit brand,Web,Use non-breaking spaces for units and brand names,Use between number and unit,"10 kg or Next.js 14","10 kg // may wrap",Low
|
|
28
|
+
27,Anti-Pattern,No Zoom Disable,viewport zoom disable,Web,Never disable zoom in viewport meta,Allow user zoom,"<meta name='viewport' content='width=device-width'>","<meta name='viewport' content='maximum-scale=1'>",Critical
|
|
29
|
+
28,Anti-Pattern,No Transition All,transition all specific,Web,Avoid transition: all - specify properties,Transition specific properties,transition: all,"transition-colors duration-200","transition-all duration-200",Medium
|
|
30
|
+
29,Anti-Pattern,Outline Replacement,outline-none ring focus,Web,Never use outline-none without replacement,Provide visible focus replacement,Remove outline with nothing,"focus:outline-none focus:ring-2 focus:ring-blue-500","focus:outline-none // alone",Critical
|
|
31
|
+
30,Anti-Pattern,No Hardcoded Dates,date format intl locale,Web,Use Intl for date/number formatting,Use Intl.DateTimeFormat,Hardcoded date format,"new Intl.DateTimeFormat('en').format(date)","date.toLocaleDateString() // or manual format",Medium
|
package/commands/vibe.voice.md
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Voice-to-coding command via Gemini audio transcription
|
|
3
|
-
argument-hint: "--pro for high accuracy, --lang ko for Korean"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /vibe.voice
|
|
7
|
-
|
|
8
|
-
마이크로 음성을 녹음하고 Gemini를 통해 텍스트로 변환하여 코딩 명령으로 사용합니다.
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
|
|
12
|
-
- **Gemini 인증 필수** (`vibe gemini auth` 또는 `vibe gemini key <key>`)
|
|
13
|
-
- **sox 설치 필수** (`brew install sox` on macOS, `apt install sox` on Linux)
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
/vibe.voice # 녹음 후 변환 (gemini-3-flash)
|
|
19
|
-
/vibe.voice --pro # 고정밀 모드 (gemini-3-pro)
|
|
20
|
-
/vibe.voice --lang ko # 한국어 힌트
|
|
21
|
-
/vibe.voice --duration 30 # 최대 녹음 시간 (기본: 60초)
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## MANDATORY Execution Steps
|
|
25
|
-
|
|
26
|
-
**반드시 아래 순서로 실행하세요.**
|
|
27
|
-
|
|
28
|
-
### Step 1: getCurrentTime 호출
|
|
29
|
-
|
|
30
|
-
시작 시간을 기록합니다.
|
|
31
|
-
|
|
32
|
-
### Step 2: 음성 녹음 및 변환
|
|
33
|
-
|
|
34
|
-
**스크립트 경로:**
|
|
35
|
-
- `[LLM_SCRIPT]` = `{{VIBE_PATH}}/hooks/scripts/llm-orchestrate.js`
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
node "[LLM_SCRIPT]" gemini voice $ARGUMENTS
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**대체 경로** (프로젝트 로컬):
|
|
42
|
-
```bash
|
|
43
|
-
node ./node_modules/@su-record/vibe/dist/hooks/scripts/llm-orchestrate.js gemini voice $ARGUMENTS
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Step 3: 결과 처리
|
|
47
|
-
|
|
48
|
-
JSON 출력을 파싱합니다:
|
|
49
|
-
|
|
50
|
-
**성공 시:**
|
|
51
|
-
```json
|
|
52
|
-
{ "success": true, "transcription": "변환된 텍스트", "duration": 5.2, "model": "gemini-3-flash" }
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**실패 시:**
|
|
56
|
-
```json
|
|
57
|
-
{ "success": false, "error": "에러 메시지" }
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Step 4: 변환된 텍스트를 코딩 명령으로 실행
|
|
61
|
-
|
|
62
|
-
1. `success: true`이면 `transcription` 값을 사용자에게 보여줍니다
|
|
63
|
-
2. 사용자가 확인하면 해당 텍스트를 코딩 명령으로 실행합니다
|
|
64
|
-
3. `success: false`이면 에러 메시지를 표시하고 트러블슈팅을 안내합니다
|
|
65
|
-
|
|
66
|
-
### Step 5: getCurrentTime 호출
|
|
67
|
-
|
|
68
|
-
종료 시간을 기록합니다.
|
|
69
|
-
|
|
70
|
-
## Troubleshooting
|
|
71
|
-
|
|
72
|
-
| Error | Fix |
|
|
73
|
-
|-------|-----|
|
|
74
|
-
| "sox is not installed" | `brew install sox` (macOS) 또는 `apt install sox` (Linux) |
|
|
75
|
-
| "Gemini credentials not found" | `vibe gemini auth` 또는 `vibe gemini key <key>` 실행 |
|
|
76
|
-
| "Recording failed: empty audio" | 마이크 권한 확인, 기본 오디오 입력 장치 확인 |
|
|
77
|
-
| 변환 결과가 부정확 | `--pro` 옵션으로 gemini-3-pro 사용, 마이크 가까이에서 말하기 |
|
|
78
|
-
|
|
79
|
-
ARGUMENTS: $ARGUMENTS
|