@trieungoctam/vibekit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +85 -0
- package/agents/debugger.md +158 -0
- package/agents/docs-manager.md +220 -0
- package/agents/planner.md +129 -0
- package/agents/researcher.md +58 -0
- package/agents/reviewer.md +152 -0
- package/agents/tester.md +126 -0
- package/bin/vibekit.js +18 -0
- package/hooks/lib/ck-config-utils.cjs +831 -0
- package/hooks/lib/colors.cjs +95 -0
- package/hooks/lib/config-counter.cjs +103 -0
- package/hooks/lib/context-builder.cjs +616 -0
- package/hooks/lib/git-info-cache.cjs +143 -0
- package/hooks/lib/hook-logger.cjs +92 -0
- package/hooks/lib/privacy-checker.cjs +297 -0
- package/hooks/lib/project-detector.cjs +474 -0
- package/hooks/lib/scout-checker.cjs +263 -0
- package/hooks/lib/transcript-parser.cjs +181 -0
- package/hooks/post-edit-simplify-reminder.cjs +156 -0
- package/hooks/privacy-block.cjs +166 -0
- package/hooks/scout-block.cjs +147 -0
- package/hooks/session-init.cjs +360 -0
- package/package.json +41 -0
- package/rules/development-rules.md +52 -0
- package/rules/documentation-management.md +121 -0
- package/rules/orchestration-protocol.md +43 -0
- package/rules/primary-workflow.md +57 -0
- package/rules/team-coordination-rules.md +90 -0
- package/skills/ai/agent-browser/SKILL.md +294 -0
- package/skills/ai/agent-browser/references/.gitkeep +0 -0
- package/skills/ai/agent-browser/references/agent-browser-vs-chrome-devtools.md +112 -0
- package/skills/ai/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/skills/ai/ai-artist/SKILL.md +122 -0
- package/skills/ai/ai-artist/data/awesome-prompts.csv +3592 -0
- package/skills/ai/ai-artist/data/lighting.csv +19 -0
- package/skills/ai/ai-artist/data/nano-banana-templates.csv +17 -0
- package/skills/ai/ai-artist/data/platforms.csv +11 -0
- package/skills/ai/ai-artist/data/styles.csv +26 -0
- package/skills/ai/ai-artist/data/techniques.csv +19 -0
- package/skills/ai/ai-artist/data/use-cases.csv +16 -0
- package/skills/ai/ai-artist/references/advanced-techniques.md +184 -0
- package/skills/ai/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
- package/skills/ai/ai-artist/references/domain-code.md +66 -0
- package/skills/ai/ai-artist/references/domain-data.md +72 -0
- package/skills/ai/ai-artist/references/domain-marketing.md +66 -0
- package/skills/ai/ai-artist/references/domain-patterns.md +33 -0
- package/skills/ai/ai-artist/references/domain-writing.md +68 -0
- package/skills/ai/ai-artist/references/image-prompting.md +141 -0
- package/skills/ai/ai-artist/references/llm-prompting.md +165 -0
- package/skills/ai/ai-artist/references/nano-banana.md +136 -0
- package/skills/ai/ai-artist/references/reasoning-techniques.md +201 -0
- package/skills/ai/ai-artist/references/validation-workflow.md +117 -0
- package/skills/ai/ai-artist/scripts/core.py +197 -0
- package/skills/ai/ai-artist/scripts/extract_prompts.py +102 -0
- package/skills/ai/ai-artist/scripts/generate.py +370 -0
- package/skills/ai/ai-artist/scripts/search.py +147 -0
- package/skills/ai/ai-multimodal/.env.example +204 -0
- package/skills/ai/ai-multimodal/SKILL.md +110 -0
- package/skills/ai/ai-multimodal/references/audio-processing.md +387 -0
- package/skills/ai/ai-multimodal/references/image-generation.md +939 -0
- package/skills/ai/ai-multimodal/references/music-generation.md +311 -0
- package/skills/ai/ai-multimodal/references/video-analysis.md +515 -0
- package/skills/ai/ai-multimodal/references/video-generation.md +457 -0
- package/skills/ai/ai-multimodal/references/vision-understanding.md +492 -0
- package/skills/ai/ai-multimodal/scripts/.coverage +0 -0
- package/skills/ai/ai-multimodal/scripts/check_setup.py +315 -0
- package/skills/ai/ai-multimodal/scripts/document_converter.py +395 -0
- package/skills/ai/ai-multimodal/scripts/gemini_batch_process.py +1185 -0
- package/skills/ai/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/skills/ai/ai-multimodal/scripts/requirements.txt +26 -0
- package/skills/ai/ai-multimodal/scripts/tests/.coverage +0 -0
- package/skills/ai/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/skills/ai/mcp-management/README.md +219 -0
- package/skills/ai/mcp-management/SKILL.md +210 -0
- package/skills/ai/mcp-management/assets/tools.json +3146 -0
- package/skills/ai/mcp-management/references/configuration.md +114 -0
- package/skills/ai/mcp-management/references/gemini-cli-integration.md +221 -0
- package/skills/ai/mcp-management/references/mcp-protocol.md +116 -0
- package/skills/ai/mcp-management/scripts/.env.example +10 -0
- package/skills/ai/mcp-management/scripts/cli.ts +195 -0
- package/skills/ai/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/ai/mcp-management/scripts/dist/cli.js +160 -0
- package/skills/ai/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/ai/mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/ai/mcp-management/scripts/package.json +20 -0
- package/skills/ai/mcp-management/scripts/tsconfig.json +15 -0
- package/skills/core/brainstorm/SKILL.md +164 -0
- package/skills/core/brainstorm/scripts/frame-template.html +214 -0
- package/skills/core/brainstorm/scripts/helper.js +88 -0
- package/skills/core/brainstorm/scripts/server.cjs +338 -0
- package/skills/core/brainstorm/scripts/start-server.sh +153 -0
- package/skills/core/brainstorm/scripts/stop-server.sh +55 -0
- package/skills/core/brainstorm/spec-document-reviewer-prompt.md +49 -0
- package/skills/core/brainstorm/visual-companion.md +286 -0
- package/skills/core/code-review/SKILL.md +147 -0
- package/skills/core/code-review/references/code-review-reception.md +113 -0
- package/skills/core/code-review/references/codebase-scan-workflow.md +29 -0
- package/skills/core/code-review/references/edge-case-scouting.md +119 -0
- package/skills/core/code-review/references/parallel-review-workflow.md +69 -0
- package/skills/core/code-review/references/requesting-code-review.md +116 -0
- package/skills/core/code-review/references/task-management-reviews.md +140 -0
- package/skills/core/code-review/references/verification-before-completion.md +139 -0
- package/skills/core/cook/README.md +86 -0
- package/skills/core/cook/SKILL.md +113 -0
- package/skills/core/cook/references/intent-detection.md +101 -0
- package/skills/core/cook/references/review-cycle.md +75 -0
- package/skills/core/cook/references/subagent-patterns.md +75 -0
- package/skills/core/cook/references/workflow-steps.md +172 -0
- package/skills/core/debug/SKILL.md +121 -0
- package/skills/core/debug/references/defense-in-depth.md +124 -0
- package/skills/core/debug/references/frontend-verification.md +103 -0
- package/skills/core/debug/references/investigation-methodology.md +101 -0
- package/skills/core/debug/references/log-and-ci-analysis.md +97 -0
- package/skills/core/debug/references/performance-diagnostics.md +113 -0
- package/skills/core/debug/references/reporting-standards.md +122 -0
- package/skills/core/debug/references/root-cause-tracing.md +122 -0
- package/skills/core/debug/references/systematic-debugging.md +102 -0
- package/skills/core/debug/references/task-management-debugging.md +155 -0
- package/skills/core/debug/references/verification.md +123 -0
- package/skills/core/debug/scripts/find-polluter.sh +63 -0
- package/skills/core/debug/scripts/find-polluter.test.md +102 -0
- package/skills/core/execute/SKILL.md +70 -0
- package/skills/core/fix/SKILL.md +111 -0
- package/skills/core/fix/references/complexity-assessment.md +72 -0
- package/skills/core/fix/references/mode-selection.md +46 -0
- package/skills/core/fix/references/parallel-exploration.md +100 -0
- package/skills/core/fix/references/review-cycle.md +77 -0
- package/skills/core/fix/references/skill-activation-matrix.md +78 -0
- package/skills/core/fix/references/task-orchestration.md +103 -0
- package/skills/core/fix/references/workflow-ci.md +28 -0
- package/skills/core/fix/references/workflow-deep.md +122 -0
- package/skills/core/fix/references/workflow-logs.md +72 -0
- package/skills/core/fix/references/workflow-quick.md +59 -0
- package/skills/core/fix/references/workflow-standard.md +111 -0
- package/skills/core/fix/references/workflow-test.md +75 -0
- package/skills/core/fix/references/workflow-types.md +33 -0
- package/skills/core/fix/references/workflow-ui.md +75 -0
- package/skills/core/plan/SKILL.md +145 -0
- package/skills/core/plan/plan-document-reviewer-prompt.md +49 -0
- package/skills/core/subagent-dev/SKILL.md +277 -0
- package/skills/core/subagent-dev/code-quality-reviewer-prompt.md +26 -0
- package/skills/core/subagent-dev/implementer-prompt.md +113 -0
- package/skills/core/subagent-dev/spec-reviewer-prompt.md +61 -0
- package/skills/core/tdd/SKILL.md +371 -0
- package/skills/core/tdd/testing-anti-patterns.md +299 -0
- package/skills/core/test/SKILL.md +109 -0
- package/skills/core/test/references/report-format.md +58 -0
- package/skills/core/test/references/test-execution-workflow.md +103 -0
- package/skills/core/test/references/ui-testing-workflow.md +65 -0
- package/skills/core/verify/SKILL.md +139 -0
- package/skills/dev/backend-dev/SKILL.md +96 -0
- package/skills/dev/backend-dev/references/backend-api-design.md +495 -0
- package/skills/dev/backend-dev/references/backend-architecture.md +454 -0
- package/skills/dev/backend-dev/references/backend-authentication.md +338 -0
- package/skills/dev/backend-dev/references/backend-code-quality.md +659 -0
- package/skills/dev/backend-dev/references/backend-debugging.md +904 -0
- package/skills/dev/backend-dev/references/backend-devops.md +494 -0
- package/skills/dev/backend-dev/references/backend-mindset.md +387 -0
- package/skills/dev/backend-dev/references/backend-performance.md +397 -0
- package/skills/dev/backend-dev/references/backend-security.md +290 -0
- package/skills/dev/backend-dev/references/backend-technologies.md +256 -0
- package/skills/dev/backend-dev/references/backend-testing.md +429 -0
- package/skills/dev/context-engineering/SKILL.md +108 -0
- package/skills/dev/context-engineering/references/context-compression.md +84 -0
- package/skills/dev/context-engineering/references/context-degradation.md +93 -0
- package/skills/dev/context-engineering/references/context-fundamentals.md +75 -0
- package/skills/dev/context-engineering/references/context-optimization.md +82 -0
- package/skills/dev/context-engineering/references/evaluation.md +89 -0
- package/skills/dev/context-engineering/references/memory-systems.md +88 -0
- package/skills/dev/context-engineering/references/multi-agent-patterns.md +90 -0
- package/skills/dev/context-engineering/references/project-development.md +97 -0
- package/skills/dev/context-engineering/references/runtime-awareness.md +202 -0
- package/skills/dev/context-engineering/references/tool-design.md +86 -0
- package/skills/dev/context-engineering/scripts/compression_evaluator.py +349 -0
- package/skills/dev/context-engineering/scripts/context_analyzer.py +317 -0
- package/skills/dev/context-engineering/scripts/tests/test_edge_cases.py +246 -0
- package/skills/dev/databases/SKILL.md +84 -0
- package/skills/dev/databases/analytics.md +198 -0
- package/skills/dev/databases/db-design.md +188 -0
- package/skills/dev/databases/incremental-etl.md +213 -0
- package/skills/dev/databases/references/mongodb-aggregation.md +447 -0
- package/skills/dev/databases/references/mongodb-atlas.md +465 -0
- package/skills/dev/databases/references/mongodb-crud.md +408 -0
- package/skills/dev/databases/references/mongodb-indexing.md +442 -0
- package/skills/dev/databases/references/postgresql-administration.md +594 -0
- package/skills/dev/databases/references/postgresql-performance.md +527 -0
- package/skills/dev/databases/references/postgresql-psql-cli.md +467 -0
- package/skills/dev/databases/references/postgresql-queries.md +475 -0
- package/skills/dev/databases/scripts/.coverage +0 -0
- package/skills/dev/databases/scripts/db_backup.py +502 -0
- package/skills/dev/databases/scripts/db_migrate.py +426 -0
- package/skills/dev/databases/scripts/db_performance_check.py +457 -0
- package/skills/dev/databases/scripts/requirements.txt +20 -0
- package/skills/dev/databases/scripts/tests/coverage-db.json +1 -0
- package/skills/dev/databases/scripts/tests/requirements.txt +4 -0
- package/skills/dev/databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/dev/databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/dev/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/dev/databases/stacks/bigquery.md +231 -0
- package/skills/dev/databases/stacks/d1_cloudflare.md +137 -0
- package/skills/dev/databases/stacks/mysql.md +216 -0
- package/skills/dev/databases/stacks/postgres.md +235 -0
- package/skills/dev/databases/stacks/sqlite.md +244 -0
- package/skills/dev/databases/transactional.md +176 -0
- package/skills/dev/devops/.env.example +76 -0
- package/skills/dev/devops/SKILL.md +97 -0
- package/skills/dev/devops/references/browser-rendering.md +305 -0
- package/skills/dev/devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/dev/devops/references/cloudflare-platform.md +271 -0
- package/skills/dev/devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/dev/devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/dev/devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/dev/devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/dev/devops/references/docker-basics.md +297 -0
- package/skills/dev/devops/references/docker-compose.md +292 -0
- package/skills/dev/devops/references/gcloud-platform.md +297 -0
- package/skills/dev/devops/references/gcloud-services.md +304 -0
- package/skills/dev/devops/references/kubernetes-basics.md +99 -0
- package/skills/dev/devops/references/kubernetes-helm-advanced.md +75 -0
- package/skills/dev/devops/references/kubernetes-helm.md +81 -0
- package/skills/dev/devops/references/kubernetes-kubectl.md +74 -0
- package/skills/dev/devops/references/kubernetes-security-advanced.md +98 -0
- package/skills/dev/devops/references/kubernetes-security.md +95 -0
- package/skills/dev/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
- package/skills/dev/devops/references/kubernetes-troubleshooting.md +49 -0
- package/skills/dev/devops/references/kubernetes-workflows-advanced.md +75 -0
- package/skills/dev/devops/references/kubernetes-workflows.md +78 -0
- package/skills/dev/devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/dev/devops/scripts/docker_optimize.py +332 -0
- package/skills/dev/devops/scripts/requirements.txt +20 -0
- package/skills/dev/devops/scripts/tests/requirements.txt +3 -0
- package/skills/dev/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/dev/devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/dev/frontend-design/SKILL.md +78 -0
- package/skills/dev/frontend-design/references/ai-multimodal-overview.md +165 -0
- package/skills/dev/frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/dev/frontend-design/references/analysis-prompts.md +141 -0
- package/skills/dev/frontend-design/references/analysis-techniques.md +118 -0
- package/skills/dev/frontend-design/references/animejs.md +396 -0
- package/skills/dev/frontend-design/references/asset-generation.md +337 -0
- package/skills/dev/frontend-design/references/design-extraction-overview.md +71 -0
- package/skills/dev/frontend-design/references/extraction-best-practices.md +141 -0
- package/skills/dev/frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/dev/frontend-design/references/extraction-prompts.md +127 -0
- package/skills/dev/frontend-design/references/technical-accessibility.md +119 -0
- package/skills/dev/frontend-design/references/technical-best-practices.md +97 -0
- package/skills/dev/frontend-design/references/technical-optimization.md +44 -0
- package/skills/dev/frontend-design/references/technical-overview.md +90 -0
- package/skills/dev/frontend-design/references/technical-workflows.md +150 -0
- package/skills/dev/frontend-design/references/visual-analysis-overview.md +95 -0
- package/skills/dev/frontend-design/references/workflow-3d.md +102 -0
- package/skills/dev/frontend-design/references/workflow-describe.md +87 -0
- package/skills/dev/frontend-design/references/workflow-immersive.md +87 -0
- package/skills/dev/frontend-design/references/workflow-quick.md +57 -0
- package/skills/dev/frontend-design/references/workflow-screenshot.md +63 -0
- package/skills/dev/frontend-design/references/workflow-video.md +74 -0
- package/skills/dev/frontend-dev/SKILL.md +400 -0
- package/skills/dev/frontend-dev/resources/common-patterns.md +331 -0
- package/skills/dev/frontend-dev/resources/complete-examples.md +872 -0
- package/skills/dev/frontend-dev/resources/component-patterns.md +502 -0
- package/skills/dev/frontend-dev/resources/data-fetching.md +767 -0
- package/skills/dev/frontend-dev/resources/file-organization.md +502 -0
- package/skills/dev/frontend-dev/resources/loading-and-error-states.md +501 -0
- package/skills/dev/frontend-dev/resources/performance.md +406 -0
- package/skills/dev/frontend-dev/resources/routing-guide.md +364 -0
- package/skills/dev/frontend-dev/resources/styling-guide.md +428 -0
- package/skills/dev/frontend-dev/resources/typescript-standards.md +418 -0
- package/skills/dev/git/SKILL.md +114 -0
- package/skills/dev/git/references/branch-management.md +88 -0
- package/skills/dev/git/references/commit-standards.md +46 -0
- package/skills/dev/git/references/gh-cli-guide.md +109 -0
- package/skills/dev/git/references/safety-protocols.md +69 -0
- package/skills/dev/git/references/workflow-commit.md +58 -0
- package/skills/dev/git/references/workflow-merge.md +48 -0
- package/skills/dev/git/references/workflow-pr.md +58 -0
- package/skills/dev/git/references/workflow-push.md +52 -0
- package/skills/dev/git-worktree/SKILL.md +218 -0
- package/skills/utils/ask/SKILL.md +58 -0
- package/skills/utils/bootstrap/SKILL.md +101 -0
- package/skills/utils/bootstrap/references/shared-phases.md +59 -0
- package/skills/utils/bootstrap/references/workflow-auto.md +52 -0
- package/skills/utils/bootstrap/references/workflow-fast.md +50 -0
- package/skills/utils/bootstrap/references/workflow-full.md +60 -0
- package/skills/utils/bootstrap/references/workflow-parallel.md +59 -0
- package/skills/utils/ck-help/SKILL.md +102 -0
- package/skills/utils/ck-help/scripts/ck-help.py +1321 -0
- package/skills/utils/ck-help/scripts/commands_data.yaml +3 -0
- package/skills/utils/ck-help/scripts/skills_data.yaml +593 -0
- package/skills/utils/copywriting/SKILL.md +94 -0
- package/skills/utils/copywriting/references/copy-formulas.md +150 -0
- package/skills/utils/copywriting/references/cta-patterns.md +168 -0
- package/skills/utils/copywriting/references/email-copy.md +193 -0
- package/skills/utils/copywriting/references/headline-templates.md +140 -0
- package/skills/utils/copywriting/references/landing-page-copy.md +175 -0
- package/skills/utils/copywriting/references/power-words.md +189 -0
- package/skills/utils/copywriting/references/social-media-copy.md +222 -0
- package/skills/utils/copywriting/references/workflow-cro.md +83 -0
- package/skills/utils/copywriting/references/workflow-enhance.md +32 -0
- package/skills/utils/copywriting/references/workflow-fast.md +29 -0
- package/skills/utils/copywriting/references/workflow-good.md +39 -0
- package/skills/utils/copywriting/references/writing-styles.md +247 -0
- package/skills/utils/copywriting/scripts/extract-writing-styles.py +308 -0
- package/skills/utils/copywriting/templates/copy-brief.md +49 -0
- package/skills/utils/docs/SKILL.md +55 -0
- package/skills/utils/docs/references/init-workflow.md +32 -0
- package/skills/utils/docs/references/summarize-workflow.md +18 -0
- package/skills/utils/docs/references/update-workflow.md +59 -0
- package/skills/utils/journal/SKILL.md +11 -0
- package/skills/utils/kanban/SKILL.md +99 -0
- package/skills/utils/preview/SKILL.md +75 -0
- package/skills/utils/preview/references/generation-modes.md +95 -0
- package/skills/utils/preview/references/view-mode.md +42 -0
- package/skills/utils/repomix/SKILL.md +248 -0
- package/skills/utils/repomix/references/configuration.md +211 -0
- package/skills/utils/repomix/references/usage-patterns.md +232 -0
- package/skills/utils/repomix/scripts/.coverage +0 -0
- package/skills/utils/repomix/scripts/README.md +179 -0
- package/skills/utils/repomix/scripts/repomix_batch.py +455 -0
- package/skills/utils/repomix/scripts/repos.example.json +15 -0
- package/skills/utils/repomix/scripts/requirements.txt +15 -0
- package/skills/utils/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/skills/utils/research/SKILL.md +171 -0
- package/skills/utils/scout/SKILL.md +89 -0
- package/skills/utils/scout/references/external-scouting.md +140 -0
- package/skills/utils/scout/references/internal-scouting.md +119 -0
- package/skills/utils/scout/references/task-management-scouting.md +125 -0
- package/skills/utils/sequential-thinking/.env.example +8 -0
- package/skills/utils/sequential-thinking/README.md +183 -0
- package/skills/utils/sequential-thinking/SKILL.md +95 -0
- package/skills/utils/sequential-thinking/package.json +31 -0
- package/skills/utils/sequential-thinking/references/advanced-strategies.md +79 -0
- package/skills/utils/sequential-thinking/references/advanced-techniques.md +76 -0
- package/skills/utils/sequential-thinking/references/core-patterns.md +95 -0
- package/skills/utils/sequential-thinking/references/examples-api.md +88 -0
- package/skills/utils/sequential-thinking/references/examples-architecture.md +94 -0
- package/skills/utils/sequential-thinking/references/examples-debug.md +90 -0
- package/skills/utils/sequential-thinking/scripts/format-thought.js +159 -0
- package/skills/utils/sequential-thinking/scripts/process-thought.js +236 -0
- package/skills/utils/sequential-thinking/tests/format-thought.test.js +133 -0
- package/skills/utils/sequential-thinking/tests/process-thought.test.js +215 -0
- package/skills/utils/write-skill/SKILL.md +655 -0
- package/skills/utils/write-skill/anthropic-best-practices.md +1150 -0
- package/skills/utils/write-skill/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/utils/write-skill/graphviz-conventions.dot +172 -0
- package/skills/utils/write-skill/persuasion-principles.md +187 -0
- package/skills/utils/write-skill/render-graphs.js +168 -0
- package/skills/utils/write-skill/testing-skills-with-subagents.md +384 -0
- package/src/commands/init.js +238 -0
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
# Music Generation Reference
|
|
2
|
+
|
|
3
|
+
Real-time music generation using Lyria RealTime via WebSocket API.
|
|
4
|
+
|
|
5
|
+
## Core Capabilities
|
|
6
|
+
|
|
7
|
+
- **Real-time streaming**: Bidirectional WebSocket for continuous generation
|
|
8
|
+
- **Dynamic control**: Modify music in real-time during generation
|
|
9
|
+
- **Style steering**: Genre, mood, instrumentation guidance
|
|
10
|
+
- **Audio output**: 48kHz stereo 16-bit PCM
|
|
11
|
+
|
|
12
|
+
## Model
|
|
13
|
+
|
|
14
|
+
**Lyria RealTime** (Experimental)
|
|
15
|
+
- WebSocket-based streaming
|
|
16
|
+
- Real-time parameter adjustment
|
|
17
|
+
- Instrumental only (no vocals)
|
|
18
|
+
- Watermarked output
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
### Python
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
from google import genai
|
|
26
|
+
import asyncio
|
|
27
|
+
|
|
28
|
+
client = genai.Client(api_key=os.getenv('GEMINI_API_KEY'))
|
|
29
|
+
|
|
30
|
+
async def generate_music():
|
|
31
|
+
async with client.aio.live.music.connect() as session:
|
|
32
|
+
# Set style prompts with weights (0.0-1.0)
|
|
33
|
+
await session.set_weighted_prompts([
|
|
34
|
+
{"prompt": "Upbeat corporate background music", "weight": 0.8},
|
|
35
|
+
{"prompt": "Modern electronic elements", "weight": 0.5}
|
|
36
|
+
])
|
|
37
|
+
|
|
38
|
+
# Configure generation parameters
|
|
39
|
+
await session.set_music_generation_config(
|
|
40
|
+
guidance=4.0, # Prompt adherence (0.0-6.0)
|
|
41
|
+
bpm=120, # Tempo (60-200)
|
|
42
|
+
density=0.6, # Note density (0.0-1.0)
|
|
43
|
+
brightness=0.5 # Tonal quality (0.0-1.0)
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
# Start playback and collect audio
|
|
47
|
+
await session.play()
|
|
48
|
+
|
|
49
|
+
audio_chunks = []
|
|
50
|
+
async for chunk in session:
|
|
51
|
+
audio_chunks.append(chunk.audio_data)
|
|
52
|
+
|
|
53
|
+
return b''.join(audio_chunks)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### JavaScript
|
|
57
|
+
|
|
58
|
+
```javascript
|
|
59
|
+
const client = new GenaiClient({ apiKey: process.env.GEMINI_API_KEY });
|
|
60
|
+
|
|
61
|
+
async function generateMusic() {
|
|
62
|
+
const session = await client.live.music.connect();
|
|
63
|
+
|
|
64
|
+
await session.setWeightedPrompts([
|
|
65
|
+
{ prompt: "Calm ambient background", weight: 0.9 },
|
|
66
|
+
{ prompt: "Nature sounds influence", weight: 0.3 }
|
|
67
|
+
]);
|
|
68
|
+
|
|
69
|
+
await session.setMusicGenerationConfig({
|
|
70
|
+
guidance: 3.5,
|
|
71
|
+
bpm: 80,
|
|
72
|
+
density: 0.4,
|
|
73
|
+
brightness: 0.6
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
session.onAudio((audioChunk) => {
|
|
77
|
+
// Process 48kHz stereo PCM audio
|
|
78
|
+
audioBuffer.push(audioChunk);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
await session.play();
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Configuration Parameters
|
|
86
|
+
|
|
87
|
+
| Parameter | Range | Default | Description |
|
|
88
|
+
|-----------|-------|---------|-------------|
|
|
89
|
+
| `guidance` | 0.0-6.0 | 4.0 | Prompt adherence (higher = stricter) |
|
|
90
|
+
| `bpm` | 60-200 | 120 | Tempo in beats per minute |
|
|
91
|
+
| `density` | 0.0-1.0 | 0.5 | Note/sound density |
|
|
92
|
+
| `brightness` | 0.0-1.0 | 0.5 | Tonal quality (higher = brighter) |
|
|
93
|
+
| `scale` | 12 keys | C Major | Musical key |
|
|
94
|
+
| `mute_bass` | bool | false | Remove bass elements |
|
|
95
|
+
| `mute_drums` | bool | false | Remove drum elements |
|
|
96
|
+
| `mode` | enum | QUALITY | QUALITY, DIVERSITY, VOCALIZATION |
|
|
97
|
+
| `temperature` | 0.0-2.0 | 1.0 | Sampling randomness |
|
|
98
|
+
| `top_k` | int | 40 | Sampling top-k |
|
|
99
|
+
| `seed` | int | random | Reproducibility seed |
|
|
100
|
+
|
|
101
|
+
## Weighted Prompts
|
|
102
|
+
|
|
103
|
+
Control generation direction with weighted prompts:
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
await session.set_weighted_prompts([
|
|
107
|
+
{"prompt": "Main style description", "weight": 1.0}, # Primary
|
|
108
|
+
{"prompt": "Secondary influence", "weight": 0.5}, # Supporting
|
|
109
|
+
{"prompt": "Subtle element", "weight": 0.2} # Accent
|
|
110
|
+
])
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Weight guidelines**:
|
|
114
|
+
- 0.8-1.0: Dominant influence
|
|
115
|
+
- 0.5-0.7: Secondary contribution
|
|
116
|
+
- 0.2-0.4: Subtle accent
|
|
117
|
+
- 0.0-0.1: Minimal effect
|
|
118
|
+
|
|
119
|
+
## Style Prompts by Use Case
|
|
120
|
+
|
|
121
|
+
### Corporate/Marketing
|
|
122
|
+
|
|
123
|
+
```python
|
|
124
|
+
prompts = [
|
|
125
|
+
{"prompt": "Professional corporate background music, modern", "weight": 0.9},
|
|
126
|
+
{"prompt": "Uplifting, optimistic mood", "weight": 0.6},
|
|
127
|
+
{"prompt": "Clean production, minimal complexity", "weight": 0.5}
|
|
128
|
+
]
|
|
129
|
+
config = {"bpm": 100, "brightness": 0.6, "density": 0.5}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Social Media/Short-form
|
|
133
|
+
|
|
134
|
+
```python
|
|
135
|
+
prompts = [
|
|
136
|
+
{"prompt": "Trending pop electronic beat", "weight": 0.9},
|
|
137
|
+
{"prompt": "Energetic, catchy rhythm", "weight": 0.7},
|
|
138
|
+
{"prompt": "Bass-heavy, punchy", "weight": 0.5}
|
|
139
|
+
]
|
|
140
|
+
config = {"bpm": 128, "brightness": 0.7, "density": 0.7}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Emotional/Cinematic
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
prompts = [
|
|
147
|
+
{"prompt": "Cinematic orchestral underscore", "weight": 0.9},
|
|
148
|
+
{"prompt": "Emotional, inspiring", "weight": 0.7},
|
|
149
|
+
{"prompt": "Building tension and release", "weight": 0.5}
|
|
150
|
+
]
|
|
151
|
+
config = {"bpm": 70, "brightness": 0.4, "density": 0.4}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Ambient/Background
|
|
155
|
+
|
|
156
|
+
```python
|
|
157
|
+
prompts = [
|
|
158
|
+
{"prompt": "Calm ambient soundscape", "weight": 0.9},
|
|
159
|
+
{"prompt": "Minimal, atmospheric", "weight": 0.6},
|
|
160
|
+
{"prompt": "Lo-fi textures", "weight": 0.4}
|
|
161
|
+
]
|
|
162
|
+
config = {"bpm": 80, "brightness": 0.4, "density": 0.3}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Real-time Transitions
|
|
166
|
+
|
|
167
|
+
Smoothly transition between styles during generation:
|
|
168
|
+
|
|
169
|
+
```python
|
|
170
|
+
async def dynamic_music_generation():
|
|
171
|
+
async with client.aio.live.music.connect() as session:
|
|
172
|
+
# Start with intro style
|
|
173
|
+
await session.set_weighted_prompts([
|
|
174
|
+
{"prompt": "Soft ambient intro", "weight": 0.9}
|
|
175
|
+
])
|
|
176
|
+
await session.play()
|
|
177
|
+
|
|
178
|
+
# Collect intro (4 seconds)
|
|
179
|
+
intro_chunks = []
|
|
180
|
+
for _ in range(192): # ~4 seconds at 48kHz
|
|
181
|
+
chunk = await session.__anext__()
|
|
182
|
+
intro_chunks.append(chunk.audio_data)
|
|
183
|
+
|
|
184
|
+
# Transition to main section
|
|
185
|
+
await session.set_weighted_prompts([
|
|
186
|
+
{"prompt": "Building energy", "weight": 0.7},
|
|
187
|
+
{"prompt": "Full beat drop", "weight": 0.5}
|
|
188
|
+
])
|
|
189
|
+
|
|
190
|
+
# Continue with new style...
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Output Specifications
|
|
194
|
+
|
|
195
|
+
- **Format**: Raw 16-bit PCM
|
|
196
|
+
- **Sample Rate**: 48,000 Hz
|
|
197
|
+
- **Channels**: 2 (stereo)
|
|
198
|
+
- **Bit Depth**: 16 bits
|
|
199
|
+
- **Watermarking**: Always enabled (SynthID)
|
|
200
|
+
|
|
201
|
+
### Save to WAV
|
|
202
|
+
|
|
203
|
+
```python
|
|
204
|
+
import wave
|
|
205
|
+
|
|
206
|
+
def save_pcm_to_wav(pcm_data, filename):
|
|
207
|
+
with wave.open(filename, 'wb') as wav_file:
|
|
208
|
+
wav_file.setnchannels(2) # Stereo
|
|
209
|
+
wav_file.setsampwidth(2) # 16-bit
|
|
210
|
+
wav_file.setframerate(48000) # 48kHz
|
|
211
|
+
wav_file.writeframes(pcm_data)
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Convert to MP3
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
# Using FFmpeg
|
|
218
|
+
ffmpeg -f s16le -ar 48000 -ac 2 -i input.pcm output.mp3
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Integration with Video Production
|
|
222
|
+
|
|
223
|
+
### Generate Background Music for Video
|
|
224
|
+
|
|
225
|
+
```python
|
|
226
|
+
async def generate_video_background(duration_seconds, mood):
|
|
227
|
+
"""Generate background music matching video length"""
|
|
228
|
+
|
|
229
|
+
# Configure for video background
|
|
230
|
+
prompts = [
|
|
231
|
+
{"prompt": f"{mood} background music for video", "weight": 0.9},
|
|
232
|
+
{"prompt": "Non-distracting, supportive underscore", "weight": 0.6}
|
|
233
|
+
]
|
|
234
|
+
|
|
235
|
+
async with client.aio.live.music.connect() as session:
|
|
236
|
+
await session.set_weighted_prompts(prompts)
|
|
237
|
+
await session.set_music_generation_config(
|
|
238
|
+
guidance=4.0,
|
|
239
|
+
density=0.4, # Keep sparse for background
|
|
240
|
+
brightness=0.5
|
|
241
|
+
)
|
|
242
|
+
await session.play()
|
|
243
|
+
|
|
244
|
+
# Calculate chunks needed (48kHz stereo = 192000 bytes/second)
|
|
245
|
+
total_chunks = duration_seconds * 48000 // 512 # Chunk size estimate
|
|
246
|
+
|
|
247
|
+
audio_data = []
|
|
248
|
+
async for i, chunk in enumerate(session):
|
|
249
|
+
audio_data.append(chunk.audio_data)
|
|
250
|
+
if i >= total_chunks:
|
|
251
|
+
break
|
|
252
|
+
|
|
253
|
+
return b''.join(audio_data)
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Sync with Storyboard Timing
|
|
257
|
+
|
|
258
|
+
```python
|
|
259
|
+
async def generate_scene_music(scenes):
|
|
260
|
+
"""Generate music with transitions matching scene changes"""
|
|
261
|
+
|
|
262
|
+
all_audio = []
|
|
263
|
+
|
|
264
|
+
async with client.aio.live.music.connect() as session:
|
|
265
|
+
for scene in scenes:
|
|
266
|
+
# Update style for each scene
|
|
267
|
+
await session.set_weighted_prompts([
|
|
268
|
+
{"prompt": scene['mood'], "weight": 0.9},
|
|
269
|
+
{"prompt": scene['style'], "weight": 0.5}
|
|
270
|
+
])
|
|
271
|
+
|
|
272
|
+
if scene['index'] == 0:
|
|
273
|
+
await session.play()
|
|
274
|
+
|
|
275
|
+
# Collect audio for scene duration
|
|
276
|
+
chunks = int(scene['duration'] * 48000 / 512)
|
|
277
|
+
for _ in range(chunks):
|
|
278
|
+
chunk = await session.__anext__()
|
|
279
|
+
all_audio.append(chunk.audio_data)
|
|
280
|
+
|
|
281
|
+
return b''.join(all_audio)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## Limitations
|
|
285
|
+
|
|
286
|
+
- **Instrumental only**: No vocal/singing generation
|
|
287
|
+
- **WebSocket required**: Real-time streaming connection
|
|
288
|
+
- **Safety filtering**: Prompts undergo safety review
|
|
289
|
+
- **Watermarking**: All output contains SynthID watermark
|
|
290
|
+
- **Experimental**: API may change
|
|
291
|
+
|
|
292
|
+
## Best Practices
|
|
293
|
+
|
|
294
|
+
1. **Buffer audio**: Implement robust buffering for smooth playback
|
|
295
|
+
2. **Gradual transitions**: Avoid drastic prompt changes mid-stream
|
|
296
|
+
3. **Sparse for backgrounds**: Lower density for video backgrounds
|
|
297
|
+
4. **Test prompts**: Iterate on prompt combinations
|
|
298
|
+
5. **Cross-fade transitions**: Blend audio at style changes
|
|
299
|
+
6. **Match video mood**: Align music tempo/energy with visuals
|
|
300
|
+
|
|
301
|
+
## Resources
|
|
302
|
+
|
|
303
|
+
- [Lyria RealTime Docs](https://ai.google.dev/gemini-api/docs/music-generation)
|
|
304
|
+
- [Audio Processing Guide](./audio-processing.md)
|
|
305
|
+
- [Video Generation](./video-generation.md)
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
**Related**: [Audio Processing](./audio-processing.md) | [Video Generation](./video-generation.md)
|
|
310
|
+
|
|
311
|
+
**Back to**: [AI Multimodal Skill](../SKILL.md)
|