@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,465 @@
|
|
|
1
|
+
# MongoDB Atlas Cloud Platform
|
|
2
|
+
|
|
3
|
+
MongoDB Atlas is fully-managed cloud database service with automated backups, monitoring, and scaling.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
### Create Free Cluster
|
|
8
|
+
1. Sign up at mongodb.com/atlas
|
|
9
|
+
2. Create organization and project
|
|
10
|
+
3. Build cluster (M0 Free Tier)
|
|
11
|
+
- Cloud provider: AWS/GCP/Azure
|
|
12
|
+
- Region: closest to users
|
|
13
|
+
- Cluster name
|
|
14
|
+
4. Create database user (username/password)
|
|
15
|
+
5. Whitelist IP address (or 0.0.0.0/0 for development)
|
|
16
|
+
6. Get connection string
|
|
17
|
+
|
|
18
|
+
### Connection String Format
|
|
19
|
+
```
|
|
20
|
+
mongodb+srv://username:password@cluster.mongodb.net/database?retryWrites=true&w=majority
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Connect
|
|
24
|
+
```javascript
|
|
25
|
+
// Node.js
|
|
26
|
+
const { MongoClient } = require("mongodb");
|
|
27
|
+
const uri = "mongodb+srv://...";
|
|
28
|
+
const client = new MongoClient(uri);
|
|
29
|
+
|
|
30
|
+
await client.connect();
|
|
31
|
+
const db = client.db("myDatabase");
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
# Python
|
|
36
|
+
from pymongo import MongoClient
|
|
37
|
+
uri = "mongodb+srv://..."
|
|
38
|
+
client = MongoClient(uri)
|
|
39
|
+
db = client.myDatabase
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Cluster Tiers
|
|
43
|
+
|
|
44
|
+
### M0 (Free Tier)
|
|
45
|
+
- 512 MB storage
|
|
46
|
+
- Shared CPU/RAM
|
|
47
|
+
- Perfect for development/learning
|
|
48
|
+
- Limited to 100 connections
|
|
49
|
+
- No backups
|
|
50
|
+
|
|
51
|
+
### M10+ (Dedicated Clusters)
|
|
52
|
+
- Dedicated resources
|
|
53
|
+
- 2GB - 4TB+ storage
|
|
54
|
+
- Automated backups
|
|
55
|
+
- Advanced monitoring
|
|
56
|
+
- Performance Advisor
|
|
57
|
+
- Multi-region support
|
|
58
|
+
- VPC peering
|
|
59
|
+
|
|
60
|
+
### Serverless
|
|
61
|
+
- Pay per operation
|
|
62
|
+
- Auto-scales to zero
|
|
63
|
+
- Good for sporadic workloads
|
|
64
|
+
- 1GB+ storage
|
|
65
|
+
- Limited features (no full-text search)
|
|
66
|
+
|
|
67
|
+
## Database Configuration
|
|
68
|
+
|
|
69
|
+
### Create Database
|
|
70
|
+
```javascript
|
|
71
|
+
// Via Atlas UI: Database → Add Database
|
|
72
|
+
// Via shell
|
|
73
|
+
use myNewDatabase
|
|
74
|
+
db.createCollection("myCollection")
|
|
75
|
+
|
|
76
|
+
// Via driver
|
|
77
|
+
const db = client.db("myNewDatabase");
|
|
78
|
+
await db.createCollection("myCollection");
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Schema Validation
|
|
82
|
+
```javascript
|
|
83
|
+
// Set validation rules in Atlas UI or via shell
|
|
84
|
+
db.createCollection("users", {
|
|
85
|
+
validator: {
|
|
86
|
+
$jsonSchema: {
|
|
87
|
+
bsonType: "object",
|
|
88
|
+
required: ["email", "name"],
|
|
89
|
+
properties: {
|
|
90
|
+
email: { bsonType: "string", pattern: "^.+@.+$" },
|
|
91
|
+
age: { bsonType: "int", minimum: 0 }
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Security
|
|
99
|
+
|
|
100
|
+
### Network Access
|
|
101
|
+
```javascript
|
|
102
|
+
// IP Whitelist (Atlas UI → Network Access)
|
|
103
|
+
// - Add IP Address: specific IPs
|
|
104
|
+
// - 0.0.0.0/0: allow from anywhere (dev only)
|
|
105
|
+
// - VPC Peering: private connection
|
|
106
|
+
|
|
107
|
+
// Connection string includes options
|
|
108
|
+
mongodb+srv://cluster.mongodb.net/?retryWrites=true&w=majority&ssl=true
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Database Users
|
|
112
|
+
```javascript
|
|
113
|
+
// Create via Atlas UI → Database Access
|
|
114
|
+
// - Username/password authentication
|
|
115
|
+
// - AWS IAM authentication
|
|
116
|
+
// - X.509 certificates
|
|
117
|
+
|
|
118
|
+
// Roles:
|
|
119
|
+
// - atlasAdmin: full access
|
|
120
|
+
// - readWriteAnyDatabase: read/write all databases
|
|
121
|
+
// - readAnyDatabase: read-only all databases
|
|
122
|
+
// - read/readWrite: database-specific
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Encryption
|
|
126
|
+
```javascript
|
|
127
|
+
// Encryption at rest (automatic on M10+)
|
|
128
|
+
// Encryption in transit (TLS/SSL, always enabled)
|
|
129
|
+
|
|
130
|
+
// Client-Side Field Level Encryption (CSFLE)
|
|
131
|
+
const autoEncryptionOpts = {
|
|
132
|
+
keyVaultNamespace: "encryption.__keyVault",
|
|
133
|
+
kmsProviders: {
|
|
134
|
+
aws: {
|
|
135
|
+
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
136
|
+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
const client = new MongoClient(uri, { autoEncryption: autoEncryptionOpts });
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Backups and Snapshots
|
|
145
|
+
|
|
146
|
+
### Cloud Backups (M10+)
|
|
147
|
+
```javascript
|
|
148
|
+
// Automatic continuous backups
|
|
149
|
+
// - Snapshots every 6-24 hours
|
|
150
|
+
// - Oplog for point-in-time recovery
|
|
151
|
+
// - Retention: 2+ days configurable
|
|
152
|
+
|
|
153
|
+
// Restore via Atlas UI:
|
|
154
|
+
// 1. Clusters → cluster name → Backup tab
|
|
155
|
+
// 2. Select snapshot or point in time
|
|
156
|
+
// 3. Download or restore to cluster
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Manual Backups
|
|
160
|
+
```bash
|
|
161
|
+
# Export using mongodump
|
|
162
|
+
mongodump --uri="mongodb+srv://user:pass@cluster.mongodb.net/mydb" --out=/backup
|
|
163
|
+
|
|
164
|
+
# Restore using mongorestore
|
|
165
|
+
mongorestore --uri="mongodb+srv://..." /backup/mydb
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Monitoring and Alerts
|
|
169
|
+
|
|
170
|
+
### Metrics Dashboard
|
|
171
|
+
```javascript
|
|
172
|
+
// Atlas UI → Metrics
|
|
173
|
+
// Key metrics:
|
|
174
|
+
// - Operations per second
|
|
175
|
+
// - Query execution times
|
|
176
|
+
// - Connections
|
|
177
|
+
// - Network I/O
|
|
178
|
+
// - Disk usage
|
|
179
|
+
// - CPU utilization
|
|
180
|
+
|
|
181
|
+
// Real-time Performance panel
|
|
182
|
+
// - Current operations
|
|
183
|
+
// - Slow queries
|
|
184
|
+
// - Index suggestions
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Alerts
|
|
188
|
+
```javascript
|
|
189
|
+
// Configure via Atlas UI → Alerts
|
|
190
|
+
// Alert types:
|
|
191
|
+
// - High connections (> threshold)
|
|
192
|
+
// - High CPU usage (> 80%)
|
|
193
|
+
// - Disk usage (> 90%)
|
|
194
|
+
// - Replication lag
|
|
195
|
+
// - Backup failures
|
|
196
|
+
|
|
197
|
+
// Notification channels:
|
|
198
|
+
// - Email
|
|
199
|
+
// - SMS
|
|
200
|
+
// - Slack
|
|
201
|
+
// - PagerDuty
|
|
202
|
+
// - Webhook
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Performance Advisor
|
|
206
|
+
```javascript
|
|
207
|
+
// Automatic index recommendations
|
|
208
|
+
// Atlas UI → Performance Advisor
|
|
209
|
+
|
|
210
|
+
// Analyzes:
|
|
211
|
+
// - Slow queries
|
|
212
|
+
// - Missing indexes
|
|
213
|
+
// - Redundant indexes
|
|
214
|
+
// - Index usage statistics
|
|
215
|
+
|
|
216
|
+
// Provides:
|
|
217
|
+
// - Index creation commands
|
|
218
|
+
// - Expected performance improvement
|
|
219
|
+
// - Schema design suggestions
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## Atlas Search (Full-Text Search)
|
|
223
|
+
|
|
224
|
+
### Create Search Index
|
|
225
|
+
```javascript
|
|
226
|
+
// Atlas UI → Search → Create Index
|
|
227
|
+
|
|
228
|
+
// JSON definition
|
|
229
|
+
{
|
|
230
|
+
"mappings": {
|
|
231
|
+
"dynamic": false,
|
|
232
|
+
"fields": {
|
|
233
|
+
"title": {
|
|
234
|
+
"type": "string",
|
|
235
|
+
"analyzer": "lucene.standard"
|
|
236
|
+
},
|
|
237
|
+
"description": {
|
|
238
|
+
"type": "string",
|
|
239
|
+
"analyzer": "lucene.english"
|
|
240
|
+
},
|
|
241
|
+
"tags": {
|
|
242
|
+
"type": "string"
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Search Queries
|
|
250
|
+
```javascript
|
|
251
|
+
// Aggregation pipeline with $search
|
|
252
|
+
db.articles.aggregate([
|
|
253
|
+
{
|
|
254
|
+
$search: {
|
|
255
|
+
text: {
|
|
256
|
+
query: "mongodb database tutorial",
|
|
257
|
+
path: ["title", "description"],
|
|
258
|
+
fuzzy: { maxEdits: 1 }
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
{ $limit: 10 },
|
|
263
|
+
{
|
|
264
|
+
$project: {
|
|
265
|
+
title: 1,
|
|
266
|
+
description: 1,
|
|
267
|
+
score: { $meta: "searchScore" }
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
])
|
|
271
|
+
|
|
272
|
+
// Autocomplete
|
|
273
|
+
db.articles.aggregate([
|
|
274
|
+
{
|
|
275
|
+
$search: {
|
|
276
|
+
autocomplete: {
|
|
277
|
+
query: "mong",
|
|
278
|
+
path: "title",
|
|
279
|
+
tokenOrder: "sequential"
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
])
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## Atlas Vector Search (AI/ML)
|
|
287
|
+
|
|
288
|
+
### Create Vector Search Index
|
|
289
|
+
```javascript
|
|
290
|
+
// For AI similarity search (embeddings)
|
|
291
|
+
{
|
|
292
|
+
"fields": [
|
|
293
|
+
{
|
|
294
|
+
"type": "vector",
|
|
295
|
+
"path": "embedding",
|
|
296
|
+
"numDimensions": 1536, // OpenAI embeddings
|
|
297
|
+
"similarity": "cosine"
|
|
298
|
+
}
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Vector Search Query
|
|
304
|
+
```javascript
|
|
305
|
+
// Search by similarity
|
|
306
|
+
db.products.aggregate([
|
|
307
|
+
{
|
|
308
|
+
$vectorSearch: {
|
|
309
|
+
index: "vector_index",
|
|
310
|
+
path: "embedding",
|
|
311
|
+
queryVector: [0.123, 0.456, ...], // 1536 dimensions
|
|
312
|
+
numCandidates: 100,
|
|
313
|
+
limit: 10
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
$project: {
|
|
318
|
+
name: 1,
|
|
319
|
+
description: 1,
|
|
320
|
+
score: { $meta: "vectorSearchScore" }
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
])
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
## Data Federation
|
|
327
|
+
|
|
328
|
+
### Query Across Sources
|
|
329
|
+
```javascript
|
|
330
|
+
// Federated database instance
|
|
331
|
+
// Query data from:
|
|
332
|
+
// - Atlas clusters
|
|
333
|
+
// - AWS S3
|
|
334
|
+
// - HTTP endpoints
|
|
335
|
+
|
|
336
|
+
// Create virtual collection
|
|
337
|
+
{
|
|
338
|
+
"databases": [{
|
|
339
|
+
"name": "federated",
|
|
340
|
+
"collections": [{
|
|
341
|
+
"name": "sales",
|
|
342
|
+
"dataSources": [{
|
|
343
|
+
"storeName": "s3Store",
|
|
344
|
+
"path": "/sales/*.json"
|
|
345
|
+
}]
|
|
346
|
+
}]
|
|
347
|
+
}]
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// Query like normal collection
|
|
351
|
+
use federated
|
|
352
|
+
db.sales.find({ region: "US" })
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
## Atlas Charts (Embedded Analytics)
|
|
356
|
+
|
|
357
|
+
### Create Dashboard
|
|
358
|
+
```javascript
|
|
359
|
+
// Atlas UI → Charts → New Dashboard
|
|
360
|
+
// Data source: Atlas cluster
|
|
361
|
+
// Chart types: bar, line, pie, scatter, etc.
|
|
362
|
+
|
|
363
|
+
// Embed in application
|
|
364
|
+
<iframe
|
|
365
|
+
src="https://charts.mongodb.com/charts-project/embed/charts?id=..."
|
|
366
|
+
width="800"
|
|
367
|
+
height="600"
|
|
368
|
+
/>
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
## Atlas CLI
|
|
372
|
+
|
|
373
|
+
```bash
|
|
374
|
+
# Install
|
|
375
|
+
npm install -g mongodb-atlas-cli
|
|
376
|
+
|
|
377
|
+
# Login
|
|
378
|
+
atlas auth login
|
|
379
|
+
|
|
380
|
+
# List clusters
|
|
381
|
+
atlas clusters list
|
|
382
|
+
|
|
383
|
+
# Create cluster
|
|
384
|
+
atlas clusters create myCluster --provider AWS --region US_EAST_1 --tier M10
|
|
385
|
+
|
|
386
|
+
# Manage users
|
|
387
|
+
atlas dbusers create --username myuser --password mypass
|
|
388
|
+
|
|
389
|
+
# Backups
|
|
390
|
+
atlas backups snapshots list --clusterName myCluster
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
## Best Practices
|
|
394
|
+
|
|
395
|
+
1. **Use connection pooling** - Reuse connections
|
|
396
|
+
```javascript
|
|
397
|
+
const client = new MongoClient(uri, {
|
|
398
|
+
maxPoolSize: 50,
|
|
399
|
+
minPoolSize: 10
|
|
400
|
+
});
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
2. **Enable authentication** - Always use database users, not Atlas users
|
|
404
|
+
|
|
405
|
+
3. **Restrict network access** - IP whitelist or VPC peering
|
|
406
|
+
|
|
407
|
+
4. **Monitor regularly** - Set up alerts for key metrics
|
|
408
|
+
|
|
409
|
+
5. **Index optimization** - Use Performance Advisor recommendations
|
|
410
|
+
|
|
411
|
+
6. **Backup verification** - Regularly test restores
|
|
412
|
+
|
|
413
|
+
7. **Right-size clusters** - Start small, scale as needed
|
|
414
|
+
|
|
415
|
+
8. **Multi-region** - For global applications (M10+)
|
|
416
|
+
|
|
417
|
+
9. **Read preferences** - Use secondaries for read-heavy workloads
|
|
418
|
+
```javascript
|
|
419
|
+
const client = new MongoClient(uri, {
|
|
420
|
+
readPreference: "secondaryPreferred"
|
|
421
|
+
});
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
10. **Connection string security** - Use environment variables
|
|
425
|
+
```javascript
|
|
426
|
+
const uri = process.env.MONGODB_URI;
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
## Troubleshooting
|
|
430
|
+
|
|
431
|
+
### Connection Issues
|
|
432
|
+
```javascript
|
|
433
|
+
// Check IP whitelist
|
|
434
|
+
// Verify credentials
|
|
435
|
+
// Test connection string
|
|
436
|
+
|
|
437
|
+
// Verbose logging
|
|
438
|
+
const client = new MongoClient(uri, {
|
|
439
|
+
serverSelectionTimeoutMS: 5000,
|
|
440
|
+
loggerLevel: "debug"
|
|
441
|
+
});
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Performance Issues
|
|
445
|
+
```javascript
|
|
446
|
+
// Check Performance Advisor
|
|
447
|
+
// Review slow query logs
|
|
448
|
+
// Analyze index usage
|
|
449
|
+
db.collection.aggregate([{ $indexStats: {} }])
|
|
450
|
+
|
|
451
|
+
// Check connection count
|
|
452
|
+
db.serverStatus().connections
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### Common Errors
|
|
456
|
+
```javascript
|
|
457
|
+
// MongoNetworkError: IP not whitelisted
|
|
458
|
+
// → Add IP to Network Access
|
|
459
|
+
|
|
460
|
+
// Authentication failed: wrong credentials
|
|
461
|
+
// → Verify username/password in Database Access
|
|
462
|
+
|
|
463
|
+
// Timeout: connection string or network issue
|
|
464
|
+
// → Check connection string format, DNS resolution
|
|
465
|
+
```
|