@macpaw/cctk 1.0.0-beta.1
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 +142 -0
- package/bin/index.js +5 -0
- package/dist/index.js +1 -0
- package/package.json +65 -0
- package/templates/claude/agents/brainstormer.md +113 -0
- package/templates/claude/agents/code-reviewer.md +157 -0
- package/templates/claude/agents/copywriter.md +110 -0
- package/templates/claude/agents/database-admin.md +92 -0
- package/templates/claude/agents/debugger.md +137 -0
- package/templates/claude/agents/docs-manager.md +208 -0
- package/templates/claude/agents/fullstack-developer.md +95 -0
- package/templates/claude/agents/git-manager.md +394 -0
- package/templates/claude/agents/journal-writer.md +113 -0
- package/templates/claude/agents/mcp-manager.md +89 -0
- package/templates/claude/agents/planner.md +108 -0
- package/templates/claude/agents/project-manager.md +125 -0
- package/templates/claude/agents/registry.json +304 -0
- package/templates/claude/agents/researcher.md +37 -0
- package/templates/claude/agents/scout-external.md +140 -0
- package/templates/claude/agents/scout.md +106 -0
- package/templates/claude/agents/tester.md +105 -0
- package/templates/claude/agents/ui-ux-designer.md +208 -0
- package/templates/claude/commands/ask.md +56 -0
- package/templates/claude/commands/bootstrap/auto/fast.md +106 -0
- package/templates/claude/commands/bootstrap/auto/parallel.md +64 -0
- package/templates/claude/commands/bootstrap/auto.md +110 -0
- package/templates/claude/commands/bootstrap.md +130 -0
- package/templates/claude/commands/brainstorm.md +75 -0
- package/templates/claude/commands/code/auto.md +198 -0
- package/templates/claude/commands/code/no-test.md +172 -0
- package/templates/claude/commands/code/parallel.md +100 -0
- package/templates/claude/commands/code.md +197 -0
- package/templates/claude/commands/coding-level.md +37 -0
- package/templates/claude/commands/content/cro.md +41 -0
- package/templates/claude/commands/content/enhance.md +12 -0
- package/templates/claude/commands/content/fast.md +11 -0
- package/templates/claude/commands/content/good.md +14 -0
- package/templates/claude/commands/cook/auto/fast.md +26 -0
- package/templates/claude/commands/cook/auto/parallel.md +49 -0
- package/templates/claude/commands/cook/auto.md +15 -0
- package/templates/claude/commands/cook.md +101 -0
- package/templates/claude/commands/debug.md +13 -0
- package/templates/claude/commands/docs/init.md +37 -0
- package/templates/claude/commands/docs/summarize.md +22 -0
- package/templates/claude/commands/docs/update.md +78 -0
- package/templates/claude/commands/fix/ci.md +17 -0
- package/templates/claude/commands/fix/fast.md +18 -0
- package/templates/claude/commands/fix/hard.md +35 -0
- package/templates/claude/commands/fix/logs.md +26 -0
- package/templates/claude/commands/fix/parallel.md +54 -0
- package/templates/claude/commands/fix/test.md +20 -0
- package/templates/claude/commands/fix/types.md +9 -0
- package/templates/claude/commands/fix/ui.md +33 -0
- package/templates/claude/commands/fix.md +43 -0
- package/templates/claude/commands/git/cm.md +5 -0
- package/templates/claude/commands/git/cp.md +4 -0
- package/templates/claude/commands/git/merge.md +40 -0
- package/templates/claude/commands/git/pr.md +50 -0
- package/templates/claude/commands/journal.md +7 -0
- package/templates/claude/commands/kanban.md +99 -0
- package/templates/claude/commands/plan/archive.md +57 -0
- package/templates/claude/commands/plan/ci.md +33 -0
- package/templates/claude/commands/plan/cro.md +67 -0
- package/templates/claude/commands/plan/fast.md +66 -0
- package/templates/claude/commands/plan/hard.md +92 -0
- package/templates/claude/commands/plan/parallel.md +129 -0
- package/templates/claude/commands/plan/two.md +45 -0
- package/templates/claude/commands/plan/validate.md +117 -0
- package/templates/claude/commands/plan.md +30 -0
- package/templates/claude/commands/preview.md +87 -0
- package/templates/claude/commands/registry.json +313 -0
- package/templates/claude/commands/review/codebase/parallel.md +122 -0
- package/templates/claude/commands/review/codebase.md +47 -0
- package/templates/claude/commands/scout/ext.md +35 -0
- package/templates/claude/commands/scout.md +28 -0
- package/templates/claude/commands/skill/add.md +36 -0
- package/templates/claude/commands/skill/create.md +29 -0
- package/templates/claude/commands/skill/fix-logs.md +22 -0
- package/templates/claude/commands/skill/optimize/auto.md +25 -0
- package/templates/claude/commands/skill/optimize.md +34 -0
- package/templates/claude/commands/skill/plan.md +45 -0
- package/templates/claude/commands/test/ui.md +91 -0
- package/templates/claude/commands/test.md +8 -0
- package/templates/claude/commands/use-mcp.md +34 -0
- package/templates/claude/commands/watzup.md +8 -0
- package/templates/claude/commands/worktree.md +126 -0
- package/templates/claude/hooks/dev-rules-reminder.cjs +258 -0
- package/templates/claude/hooks/docs/README.md +42 -0
- package/templates/claude/hooks/lib/cctk-config-utils.cjs +751 -0
- package/templates/claude/hooks/lib/cctk-paths.cjs +106 -0
- package/templates/claude/hooks/lib/context-tracker.cjs +346 -0
- package/templates/claude/hooks/privacy-block.cjs +289 -0
- package/templates/claude/hooks/registry.json +77 -0
- package/templates/claude/hooks/scout-block/broad-pattern-detector.cjs +293 -0
- package/templates/claude/hooks/scout-block/error-formatter.cjs +156 -0
- package/templates/claude/hooks/scout-block/path-extractor.cjs +359 -0
- package/templates/claude/hooks/scout-block/pattern-matcher.cjs +184 -0
- package/templates/claude/hooks/scout-block/vendor/ignore.js +626 -0
- package/templates/claude/hooks/scout-block.cjs +167 -0
- package/templates/claude/hooks/session-end.cjs +35 -0
- package/templates/claude/hooks/session-init.cjs +214 -0
- package/templates/claude/hooks/subagent-init.cjs +161 -0
- package/templates/claude/hooks/write-compact-marker.cjs +153 -0
- package/templates/claude/output-styles/coding-level-1.md +148 -0
- package/templates/claude/output-styles/coding-level-2.md +159 -0
- package/templates/claude/output-styles/coding-level-3.md +91 -0
- package/templates/claude/scripts/README.md +33 -0
- package/templates/claude/scripts/generate-catalogs.cjs +318 -0
- package/templates/claude/scripts/registry.json +48 -0
- package/templates/claude/scripts/set-active-plan.cjs +45 -0
- package/templates/claude/scripts/validate-docs.cjs +447 -0
- package/templates/claude/scripts/worktree.cjs +658 -0
- package/templates/claude/skills/README.md +112 -0
- package/templates/claude/skills/ai-artist/SKILL.md +75 -0
- package/templates/claude/skills/ai-artist/references/advanced-techniques.md +184 -0
- package/templates/claude/skills/ai-artist/references/domain-code.md +66 -0
- package/templates/claude/skills/ai-artist/references/domain-data.md +72 -0
- package/templates/claude/skills/ai-artist/references/domain-marketing.md +66 -0
- package/templates/claude/skills/ai-artist/references/domain-patterns.md +33 -0
- package/templates/claude/skills/ai-artist/references/domain-writing.md +68 -0
- package/templates/claude/skills/ai-artist/references/image-prompting.md +141 -0
- package/templates/claude/skills/ai-artist/references/llm-prompting.md +165 -0
- package/templates/claude/skills/ai-artist/references/nano-banana.md +59 -0
- package/templates/claude/skills/ai-artist/references/reasoning-techniques.md +201 -0
- package/templates/claude/skills/backend-development/SKILL.md +95 -0
- package/templates/claude/skills/backend-development/references/backend-api-design.md +495 -0
- package/templates/claude/skills/backend-development/references/backend-architecture.md +454 -0
- package/templates/claude/skills/backend-development/references/backend-authentication.md +338 -0
- package/templates/claude/skills/backend-development/references/backend-code-quality.md +659 -0
- package/templates/claude/skills/backend-development/references/backend-debugging.md +904 -0
- package/templates/claude/skills/backend-development/references/backend-devops.md +494 -0
- package/templates/claude/skills/backend-development/references/backend-mindset.md +387 -0
- package/templates/claude/skills/backend-development/references/backend-performance.md +397 -0
- package/templates/claude/skills/backend-development/references/backend-security.md +290 -0
- package/templates/claude/skills/backend-development/references/backend-technologies.md +256 -0
- package/templates/claude/skills/backend-development/references/backend-testing.md +429 -0
- package/templates/claude/skills/better-auth/SKILL.md +204 -0
- package/templates/claude/skills/better-auth/references/advanced-features.md +553 -0
- package/templates/claude/skills/better-auth/references/database-integration.md +577 -0
- package/templates/claude/skills/better-auth/references/email-password-auth.md +416 -0
- package/templates/claude/skills/better-auth/references/oauth-providers.md +430 -0
- package/templates/claude/skills/better-auth/scripts/better_auth_init.py +521 -0
- package/templates/claude/skills/chrome-devtools/SKILL.md +473 -0
- package/templates/claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
- package/templates/claude/skills/chrome-devtools/references/performance-guide.md +940 -0
- package/templates/claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/templates/claude/skills/chrome-devtools/scripts/README.md +288 -0
- package/templates/claude/skills/chrome-devtools/scripts/aria-snapshot.js +368 -0
- package/templates/claude/skills/chrome-devtools/scripts/click.js +92 -0
- package/templates/claude/skills/chrome-devtools/scripts/console.js +85 -0
- package/templates/claude/skills/chrome-devtools/scripts/evaluate.js +59 -0
- package/templates/claude/skills/chrome-devtools/scripts/fill.js +84 -0
- package/templates/claude/skills/chrome-devtools/scripts/inject-auth.js +247 -0
- package/templates/claude/skills/chrome-devtools/scripts/install-deps.sh +11 -0
- package/templates/claude/skills/chrome-devtools/scripts/install.sh +36 -0
- package/templates/claude/skills/chrome-devtools/scripts/lib/browser.js +335 -0
- package/templates/claude/skills/chrome-devtools/scripts/lib/selector.js +183 -0
- package/templates/claude/skills/chrome-devtools/scripts/navigate.js +60 -0
- package/templates/claude/skills/chrome-devtools/scripts/network.js +113 -0
- package/templates/claude/skills/chrome-devtools/scripts/package.json +16 -0
- package/templates/claude/skills/chrome-devtools/scripts/performance.js +159 -0
- package/templates/claude/skills/chrome-devtools/scripts/screenshot.js +212 -0
- package/templates/claude/skills/chrome-devtools/scripts/select-ref.js +151 -0
- package/templates/claude/skills/chrome-devtools/scripts/snapshot.js +143 -0
- package/templates/claude/skills/chrome-devtools/scripts/ws-debug.js +47 -0
- package/templates/claude/skills/chrome-devtools/scripts/ws-full-debug.js +115 -0
- package/templates/claude/skills/claude-code/references/advanced-features.md +399 -0
- package/templates/claude/skills/claude-code/references/agent-skills.md +399 -0
- package/templates/claude/skills/claude-code/references/api-reference.md +498 -0
- package/templates/claude/skills/claude-code/references/best-practices.md +447 -0
- package/templates/claude/skills/claude-code/references/cicd-integration.md +428 -0
- package/templates/claude/skills/claude-code/references/common-workflows.md +107 -0
- package/templates/claude/skills/claude-code/references/configuration.md +480 -0
- package/templates/claude/skills/claude-code/references/enterprise-features.md +472 -0
- package/templates/claude/skills/claude-code/references/getting-started.md +244 -0
- package/templates/claude/skills/claude-code/references/hooks-and-plugins.md +444 -0
- package/templates/claude/skills/claude-code/references/hooks-comprehensive.md +622 -0
- package/templates/claude/skills/claude-code/references/ide-integration.md +316 -0
- package/templates/claude/skills/claude-code/references/mcp-integration.md +386 -0
- package/templates/claude/skills/claude-code/references/slash-commands.md +460 -0
- package/templates/claude/skills/claude-code/references/troubleshooting.md +455 -0
- package/templates/claude/skills/claude-code/skill.md +60 -0
- package/templates/claude/skills/code-review/SKILL.md +143 -0
- package/templates/claude/skills/code-review/references/code-review-reception.md +209 -0
- package/templates/claude/skills/code-review/references/requesting-code-review.md +105 -0
- package/templates/claude/skills/code-review/references/verification-before-completion.md +139 -0
- package/templates/claude/skills/context-engineering/SKILL.md +86 -0
- package/templates/claude/skills/context-engineering/references/context-compression.md +84 -0
- package/templates/claude/skills/context-engineering/references/context-degradation.md +93 -0
- package/templates/claude/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/templates/claude/skills/context-engineering/references/context-optimization.md +82 -0
- package/templates/claude/skills/context-engineering/references/evaluation.md +89 -0
- package/templates/claude/skills/context-engineering/references/memory-systems.md +88 -0
- package/templates/claude/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/templates/claude/skills/context-engineering/references/project-development.md +97 -0
- package/templates/claude/skills/context-engineering/references/tool-design.md +86 -0
- package/templates/claude/skills/context-engineering/scripts/compression_evaluator.py +329 -0
- package/templates/claude/skills/context-engineering/scripts/context_analyzer.py +294 -0
- package/templates/claude/skills/databases/SKILL.md +232 -0
- package/templates/claude/skills/databases/references/mongodb-aggregation.md +447 -0
- package/templates/claude/skills/databases/references/mongodb-atlas.md +465 -0
- package/templates/claude/skills/databases/references/mongodb-crud.md +408 -0
- package/templates/claude/skills/databases/references/mongodb-indexing.md +442 -0
- package/templates/claude/skills/databases/references/postgresql-administration.md +594 -0
- package/templates/claude/skills/databases/references/postgresql-performance.md +527 -0
- package/templates/claude/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/templates/claude/skills/databases/references/postgresql-queries.md +475 -0
- package/templates/claude/skills/databases/scripts/db_backup.py +502 -0
- package/templates/claude/skills/databases/scripts/db_migrate.py +414 -0
- package/templates/claude/skills/databases/scripts/db_performance_check.py +445 -0
- package/templates/claude/skills/debugging/SKILL.md +84 -0
- package/templates/claude/skills/debugging/references/defense-in-depth.md +124 -0
- package/templates/claude/skills/debugging/references/root-cause-tracing.md +122 -0
- package/templates/claude/skills/debugging/references/systematic-debugging.md +102 -0
- package/templates/claude/skills/debugging/references/verification.md +123 -0
- package/templates/claude/skills/debugging/scripts/find-polluter.sh +63 -0
- package/templates/claude/skills/debugging/scripts/find-polluter.test.md +102 -0
- package/templates/claude/skills/devops/SKILL.md +293 -0
- package/templates/claude/skills/devops/references/browser-rendering.md +305 -0
- package/templates/claude/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/templates/claude/skills/devops/references/cloudflare-platform.md +271 -0
- package/templates/claude/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/templates/claude/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/templates/claude/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/templates/claude/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/templates/claude/skills/devops/references/docker-basics.md +297 -0
- package/templates/claude/skills/devops/references/docker-compose.md +292 -0
- package/templates/claude/skills/devops/references/gcloud-platform.md +307 -0
- package/templates/claude/skills/devops/references/gcloud-services.md +304 -0
- package/templates/claude/skills/devops/scripts/cloudflare_deploy.py +269 -0
- package/templates/claude/skills/devops/scripts/docker_optimize.py +320 -0
- package/templates/claude/skills/docs-seeker/SKILL.md +95 -0
- package/templates/claude/skills/docs-seeker/package.json +24 -0
- package/templates/claude/skills/docs-seeker/references/advanced.md +78 -0
- package/templates/claude/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/templates/claude/skills/docs-seeker/references/errors.md +68 -0
- package/templates/claude/skills/docs-seeker/scripts/analyze-llms-txt.js +245 -0
- package/templates/claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/templates/claude/skills/docs-seeker/scripts/fetch-docs.js +212 -0
- package/templates/claude/skills/docs-seeker/workflows/library-search.md +87 -0
- package/templates/claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
- package/templates/claude/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/templates/claude/skills/frontend-design/SKILL.md +85 -0
- package/templates/claude/skills/frontend-design/references/analysis-best-practices.md +80 -0
- package/templates/claude/skills/frontend-design/references/analysis-prompts.md +141 -0
- package/templates/claude/skills/frontend-design/references/analysis-techniques.md +118 -0
- package/templates/claude/skills/frontend-design/references/animejs.md +396 -0
- package/templates/claude/skills/frontend-design/references/design-extraction-overview.md +71 -0
- package/templates/claude/skills/frontend-design/references/extraction-best-practices.md +141 -0
- package/templates/claude/skills/frontend-design/references/extraction-output-templates.md +162 -0
- package/templates/claude/skills/frontend-design/references/extraction-prompts.md +127 -0
- package/templates/claude/skills/frontend-design/references/technical-accessibility.md +119 -0
- package/templates/claude/skills/frontend-design/references/technical-best-practices.md +97 -0
- package/templates/claude/skills/frontend-design/references/technical-optimization.md +44 -0
- package/templates/claude/skills/frontend-design/references/technical-overview.md +90 -0
- package/templates/claude/skills/frontend-design/references/technical-workflows.md +150 -0
- package/templates/claude/skills/frontend-design/references/visual-analysis-overview.md +95 -0
- package/templates/claude/skills/frontend-development/SKILL.md +399 -0
- package/templates/claude/skills/frontend-development/resources/common-patterns.md +331 -0
- package/templates/claude/skills/frontend-development/resources/complete-examples.md +872 -0
- package/templates/claude/skills/frontend-development/resources/component-patterns.md +502 -0
- package/templates/claude/skills/frontend-development/resources/data-fetching.md +767 -0
- package/templates/claude/skills/frontend-development/resources/file-organization.md +502 -0
- package/templates/claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/templates/claude/skills/frontend-development/resources/performance.md +406 -0
- package/templates/claude/skills/frontend-development/resources/routing-guide.md +364 -0
- package/templates/claude/skills/frontend-development/resources/styling-guide.md +428 -0
- package/templates/claude/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/templates/claude/skills/markdown-novel-viewer/SKILL.md +272 -0
- package/templates/claude/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
- package/templates/claude/skills/markdown-novel-viewer/assets/favicon.png +0 -0
- package/templates/claude/skills/markdown-novel-viewer/assets/novel-theme.css +872 -0
- package/templates/claude/skills/markdown-novel-viewer/assets/reader.js +378 -0
- package/templates/claude/skills/markdown-novel-viewer/assets/template.html +85 -0
- package/templates/claude/skills/markdown-novel-viewer/package.json +15 -0
- package/templates/claude/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
- package/templates/claude/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
- package/templates/claude/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
- package/templates/claude/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +49 -0
- package/templates/claude/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
- package/templates/claude/skills/markdown-novel-viewer/scripts/server.cjs +398 -0
- package/templates/claude/skills/mcp-builder/SKILL.md +328 -0
- package/templates/claude/skills/mcp-builder/reference/evaluation.md +602 -0
- package/templates/claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/templates/claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
- package/templates/claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
- package/templates/claude/skills/mcp-builder/scripts/connections.py +151 -0
- package/templates/claude/skills/mcp-builder/scripts/evaluation.py +381 -0
- package/templates/claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/templates/claude/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/templates/claude/skills/mcp-management/README.md +219 -0
- package/templates/claude/skills/mcp-management/SKILL.md +209 -0
- package/templates/claude/skills/mcp-management/assets/tools.json +3146 -0
- package/templates/claude/skills/mcp-management/references/configuration.md +114 -0
- package/templates/claude/skills/mcp-management/references/gemini-cli-integration.md +209 -0
- package/templates/claude/skills/mcp-management/references/mcp-protocol.md +116 -0
- package/templates/claude/skills/mcp-management/scripts/.env.example +10 -0
- package/templates/claude/skills/mcp-management/scripts/cli.ts +202 -0
- package/templates/claude/skills/mcp-management/scripts/mcp-client.ts +247 -0
- package/templates/claude/skills/mcp-management/scripts/package.json +20 -0
- package/templates/claude/skills/mcp-management/scripts/tsconfig.json +15 -0
- package/templates/claude/skills/media-processing/SKILL.md +91 -0
- package/templates/claude/skills/media-processing/references/common-workflows.md +132 -0
- package/templates/claude/skills/media-processing/references/ffmpeg-encoding.md +358 -0
- package/templates/claude/skills/media-processing/references/ffmpeg-filters.md +503 -0
- package/templates/claude/skills/media-processing/references/ffmpeg-streaming.md +395 -0
- package/templates/claude/skills/media-processing/references/format-compatibility.md +375 -0
- package/templates/claude/skills/media-processing/references/imagemagick-batch.md +612 -0
- package/templates/claude/skills/media-processing/references/imagemagick-editing.md +623 -0
- package/templates/claude/skills/media-processing/references/rmbg-background-removal.md +66 -0
- package/templates/claude/skills/media-processing/references/troubleshooting.md +109 -0
- package/templates/claude/skills/media-processing/scripts/README.md +102 -0
- package/templates/claude/skills/media-processing/scripts/batch-remove-background.sh +124 -0
- package/templates/claude/skills/media-processing/scripts/batch_resize.py +342 -0
- package/templates/claude/skills/media-processing/scripts/media_convert.py +311 -0
- package/templates/claude/skills/media-processing/scripts/remove-background.sh +96 -0
- package/templates/claude/skills/media-processing/scripts/remove-bg-node.js +181 -0
- package/templates/claude/skills/mermaidjs-v11/SKILL.md +115 -0
- package/templates/claude/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/templates/claude/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/templates/claude/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/templates/claude/skills/mermaidjs-v11/references/examples.md +344 -0
- package/templates/claude/skills/mermaidjs-v11/references/integration.md +310 -0
- package/templates/claude/skills/planning/SKILL.md +115 -0
- package/templates/claude/skills/planning/references/codebase-understanding.md +62 -0
- package/templates/claude/skills/planning/references/output-standards.md +127 -0
- package/templates/claude/skills/planning/references/plan-organization.md +150 -0
- package/templates/claude/skills/planning/references/research-phase.md +49 -0
- package/templates/claude/skills/planning/references/solution-design.md +63 -0
- package/templates/claude/skills/plans-kanban/SKILL.md +157 -0
- package/templates/claude/skills/plans-kanban/assets/dashboard-template.html +119 -0
- package/templates/claude/skills/plans-kanban/assets/dashboard.css +1594 -0
- package/templates/claude/skills/plans-kanban/assets/dashboard.js +659 -0
- package/templates/claude/skills/plans-kanban/assets/favicon.png +0 -0
- package/templates/claude/skills/plans-kanban/package.json +13 -0
- package/templates/claude/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +941 -0
- package/templates/claude/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
- package/templates/claude/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
- package/templates/claude/skills/plans-kanban/scripts/lib/plan-parser.cjs +194 -0
- package/templates/claude/skills/plans-kanban/scripts/lib/plan-scanner.cjs +277 -0
- package/templates/claude/skills/plans-kanban/scripts/lib/port-finder.cjs +49 -0
- package/templates/claude/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
- package/templates/claude/skills/plans-kanban/scripts/server.cjs +249 -0
- package/templates/claude/skills/problem-solving/SKILL.md +96 -0
- package/templates/claude/skills/problem-solving/references/attribution.md +69 -0
- package/templates/claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/templates/claude/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/templates/claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/templates/claude/skills/problem-solving/references/scale-game.md +95 -0
- package/templates/claude/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/templates/claude/skills/problem-solving/references/when-stuck.md +72 -0
- package/templates/claude/skills/registry.json +258 -0
- package/templates/claude/skills/repomix/SKILL.md +247 -0
- package/templates/claude/skills/repomix/references/configuration.md +211 -0
- package/templates/claude/skills/repomix/references/usage-patterns.md +232 -0
- package/templates/claude/skills/repomix/scripts/README.md +179 -0
- package/templates/claude/skills/repomix/scripts/repomix_batch.py +455 -0
- package/templates/claude/skills/repomix/scripts/repos.example.json +15 -0
- package/templates/claude/skills/research/SKILL.md +168 -0
- package/templates/claude/skills/sequential-thinking/.env.example +8 -0
- package/templates/claude/skills/sequential-thinking/README.md +183 -0
- package/templates/claude/skills/sequential-thinking/SKILL.md +94 -0
- package/templates/claude/skills/sequential-thinking/package.json +31 -0
- package/templates/claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/templates/claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/templates/claude/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/templates/claude/skills/sequential-thinking/references/examples-api.md +88 -0
- package/templates/claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
- package/templates/claude/skills/sequential-thinking/references/examples-debug.md +90 -0
- package/templates/claude/skills/sequential-thinking/scripts/format-thought.js +182 -0
- package/templates/claude/skills/sequential-thinking/scripts/process-thought.js +252 -0
- package/templates/claude/skills/skill-creator/LICENSE.txt +202 -0
- package/templates/claude/skills/skill-creator/SKILL.md +266 -0
- package/templates/claude/skills/skill-creator/references/agent-skills-spec.md +51 -0
- package/templates/claude/skills/skill-creator/scripts/encoding_utils.py +21 -0
- package/templates/claude/skills/skill-creator/scripts/init_skill.py +304 -0
- package/templates/claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/templates/claude/skills/skill-creator/scripts/quick_validate.py +66 -0
- package/templates/claude/skills/template-skill/SKILL.md +6 -0
- package/templates/claude/skills/vitest/SKILL.md +595 -0
- package/templates/claude/skills/vitest/references/async-patterns.md +82 -0
- package/templates/claude/skills/vitest/references/mock-patterns.md +78 -0
- package/templates/claude/skills/vitest/references/monorepo-setup.md +185 -0
- package/templates/claude/skills/vitest/references/turborepo-setup.md +332 -0
- package/templates/claude/skills/web-frameworks/SKILL.md +324 -0
- package/templates/claude/skills/web-frameworks/references/nextjs-app-router.md +465 -0
- package/templates/claude/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/templates/claude/skills/web-frameworks/references/nextjs-optimization.md +511 -0
- package/templates/claude/skills/web-frameworks/references/nextjs-server-components.md +495 -0
- package/templates/claude/skills/web-frameworks/references/remix-icon-integration.md +603 -0
- package/templates/claude/skills/web-frameworks/references/turborepo-caching.md +551 -0
- package/templates/claude/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
- package/templates/claude/skills/web-frameworks/references/turborepo-setup.md +542 -0
- package/templates/claude/skills/web-frameworks/scripts/nextjs_init.py +547 -0
- package/templates/claude/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/templates/claude/workflows/development-rules.md +40 -0
- package/templates/claude/workflows/documentation-management.md +121 -0
- package/templates/claude/workflows/orchestration-protocol.md +16 -0
- package/templates/claude/workflows/primary-workflow.md +45 -0
- package/templates/claude/workflows/registry.json +37 -0
- package/templates/common/.cct.json +41 -0
- package/templates/common/.cctkignore +22 -0
- package/templates/common/.env.example +39 -0
- package/templates/common/.mcp.json.example +16 -0
- package/templates/common/metadata.json +15 -0
- package/templates/common/settings.json +79 -0
- package/templates/common/statusline.cjs +271 -0
- package/templates/config/.repomixignore +22 -0
- package/templates/config/AGENTS.md +55 -0
- package/templates/config/CLAUDE.md +87 -0
- package/templates/plans/bug-fix-template.md +69 -0
- package/templates/plans/feature-implementation-template.md +84 -0
- package/templates/plans/refactor-template.md +82 -0
- package/templates/plans/template-usage-guide.md +58 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# Docker Compose
|
|
2
|
+
|
|
3
|
+
Multi-container application orchestration.
|
|
4
|
+
|
|
5
|
+
## Basic Structure
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
version: '3.8'
|
|
9
|
+
|
|
10
|
+
services:
|
|
11
|
+
web:
|
|
12
|
+
build: .
|
|
13
|
+
ports:
|
|
14
|
+
- "3000:3000"
|
|
15
|
+
environment:
|
|
16
|
+
- NODE_ENV=production
|
|
17
|
+
- DATABASE_URL=postgresql://user:pass@db:5432/app
|
|
18
|
+
depends_on:
|
|
19
|
+
- db
|
|
20
|
+
- redis
|
|
21
|
+
volumes:
|
|
22
|
+
- ./src:/app/src
|
|
23
|
+
networks:
|
|
24
|
+
- app-network
|
|
25
|
+
restart: unless-stopped
|
|
26
|
+
|
|
27
|
+
db:
|
|
28
|
+
image: postgres:15-alpine
|
|
29
|
+
environment:
|
|
30
|
+
POSTGRES_USER: user
|
|
31
|
+
POSTGRES_PASSWORD: pass
|
|
32
|
+
POSTGRES_DB: app
|
|
33
|
+
volumes:
|
|
34
|
+
- postgres_data:/var/lib/postgresql/data
|
|
35
|
+
networks:
|
|
36
|
+
- app-network
|
|
37
|
+
healthcheck:
|
|
38
|
+
test: ["CMD-SHELL", "pg_isready -U user"]
|
|
39
|
+
interval: 10s
|
|
40
|
+
timeout: 5s
|
|
41
|
+
retries: 5
|
|
42
|
+
|
|
43
|
+
redis:
|
|
44
|
+
image: redis:7-alpine
|
|
45
|
+
networks:
|
|
46
|
+
- app-network
|
|
47
|
+
volumes:
|
|
48
|
+
- redis_data:/data
|
|
49
|
+
|
|
50
|
+
volumes:
|
|
51
|
+
postgres_data:
|
|
52
|
+
redis_data:
|
|
53
|
+
|
|
54
|
+
networks:
|
|
55
|
+
app-network:
|
|
56
|
+
driver: bridge
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Commands
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Start services
|
|
63
|
+
docker compose up
|
|
64
|
+
docker compose up -d
|
|
65
|
+
|
|
66
|
+
# Build images before starting
|
|
67
|
+
docker compose up --build
|
|
68
|
+
|
|
69
|
+
# Scale service
|
|
70
|
+
docker compose up -d --scale web=3
|
|
71
|
+
|
|
72
|
+
# Stop services
|
|
73
|
+
docker compose down
|
|
74
|
+
|
|
75
|
+
# Stop and remove volumes
|
|
76
|
+
docker compose down --volumes
|
|
77
|
+
|
|
78
|
+
# Logs
|
|
79
|
+
docker compose logs
|
|
80
|
+
docker compose logs -f web
|
|
81
|
+
|
|
82
|
+
# Execute command
|
|
83
|
+
docker compose exec web sh
|
|
84
|
+
docker compose exec db psql -U user -d app
|
|
85
|
+
|
|
86
|
+
# List services
|
|
87
|
+
docker compose ps
|
|
88
|
+
|
|
89
|
+
# Restart service
|
|
90
|
+
docker compose restart web
|
|
91
|
+
|
|
92
|
+
# Pull images
|
|
93
|
+
docker compose pull
|
|
94
|
+
|
|
95
|
+
# Validate
|
|
96
|
+
docker compose config
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Environment-Specific Configs
|
|
100
|
+
|
|
101
|
+
**compose.yml (base):**
|
|
102
|
+
```yaml
|
|
103
|
+
services:
|
|
104
|
+
web:
|
|
105
|
+
build: .
|
|
106
|
+
ports:
|
|
107
|
+
- "3000:3000"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**compose.override.yml (dev, auto-loaded):**
|
|
111
|
+
```yaml
|
|
112
|
+
services:
|
|
113
|
+
web:
|
|
114
|
+
volumes:
|
|
115
|
+
- ./src:/app/src # Live reload
|
|
116
|
+
environment:
|
|
117
|
+
- NODE_ENV=development
|
|
118
|
+
- DEBUG=true
|
|
119
|
+
command: npm run dev
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**compose.prod.yml (production):**
|
|
123
|
+
```yaml
|
|
124
|
+
services:
|
|
125
|
+
web:
|
|
126
|
+
image: registry.example.com/myapp:1.0
|
|
127
|
+
restart: always
|
|
128
|
+
environment:
|
|
129
|
+
- NODE_ENV=production
|
|
130
|
+
deploy:
|
|
131
|
+
replicas: 3
|
|
132
|
+
resources:
|
|
133
|
+
limits:
|
|
134
|
+
cpus: '0.5'
|
|
135
|
+
memory: 512M
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Usage:**
|
|
139
|
+
```bash
|
|
140
|
+
# Development (uses compose.yml + compose.override.yml)
|
|
141
|
+
docker compose up
|
|
142
|
+
|
|
143
|
+
# Production
|
|
144
|
+
docker compose -f compose.yml -f compose.prod.yml up -d
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Health Checks
|
|
148
|
+
|
|
149
|
+
```yaml
|
|
150
|
+
services:
|
|
151
|
+
web:
|
|
152
|
+
healthcheck:
|
|
153
|
+
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
|
|
154
|
+
interval: 30s
|
|
155
|
+
timeout: 3s
|
|
156
|
+
start_period: 40s
|
|
157
|
+
retries: 3
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Resource Limits
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
services:
|
|
164
|
+
web:
|
|
165
|
+
deploy:
|
|
166
|
+
resources:
|
|
167
|
+
limits:
|
|
168
|
+
cpus: '0.5'
|
|
169
|
+
memory: 512M
|
|
170
|
+
reservations:
|
|
171
|
+
cpus: '0.25'
|
|
172
|
+
memory: 256M
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Logging
|
|
176
|
+
|
|
177
|
+
```yaml
|
|
178
|
+
services:
|
|
179
|
+
web:
|
|
180
|
+
logging:
|
|
181
|
+
driver: "json-file"
|
|
182
|
+
options:
|
|
183
|
+
max-size: "10m"
|
|
184
|
+
max-file: "3"
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Environment Variables
|
|
188
|
+
|
|
189
|
+
**Using .env file (local development only):**
|
|
190
|
+
```bash
|
|
191
|
+
# .env (never commit — add to .gitignore)
|
|
192
|
+
DATABASE_URL=postgresql://user:pass@db:5432/app
|
|
193
|
+
NODE_ENV=development
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
```yaml
|
|
197
|
+
services:
|
|
198
|
+
web:
|
|
199
|
+
env_file:
|
|
200
|
+
- .env
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Networking
|
|
204
|
+
|
|
205
|
+
Services on same network communicate via service name:
|
|
206
|
+
|
|
207
|
+
```yaml
|
|
208
|
+
services:
|
|
209
|
+
web:
|
|
210
|
+
depends_on:
|
|
211
|
+
- db
|
|
212
|
+
environment:
|
|
213
|
+
# Use service name as hostname
|
|
214
|
+
- DATABASE_URL=postgresql://user:pass@db:5432/app
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Volume Backup/Restore
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# Backup
|
|
221
|
+
docker compose run --rm -v app_data:/data -v $(pwd):/backup \
|
|
222
|
+
alpine tar czf /backup/backup.tar.gz /data
|
|
223
|
+
|
|
224
|
+
# Restore
|
|
225
|
+
docker compose run --rm -v app_data:/data -v $(pwd):/backup \
|
|
226
|
+
alpine tar xzf /backup/backup.tar.gz -C /data
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Common Stacks
|
|
230
|
+
|
|
231
|
+
### Web + Database + Cache
|
|
232
|
+
```yaml
|
|
233
|
+
services:
|
|
234
|
+
web:
|
|
235
|
+
build: .
|
|
236
|
+
depends_on:
|
|
237
|
+
- db
|
|
238
|
+
- redis
|
|
239
|
+
db:
|
|
240
|
+
image: postgres:15-alpine
|
|
241
|
+
redis:
|
|
242
|
+
image: redis:7-alpine
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Microservices
|
|
246
|
+
```yaml
|
|
247
|
+
services:
|
|
248
|
+
api-gateway:
|
|
249
|
+
build: ./gateway
|
|
250
|
+
user-service:
|
|
251
|
+
build: ./services/users
|
|
252
|
+
order-service:
|
|
253
|
+
build: ./services/orders
|
|
254
|
+
rabbitmq:
|
|
255
|
+
image: rabbitmq:3-management
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## Best Practices
|
|
259
|
+
|
|
260
|
+
- Use named volumes for data persistence
|
|
261
|
+
- Implement health checks for all services
|
|
262
|
+
- Set restart policies for production
|
|
263
|
+
- Use environment-specific compose files
|
|
264
|
+
- Configure resource limits
|
|
265
|
+
- Enable logging with size limits
|
|
266
|
+
- Use depends_on for service ordering
|
|
267
|
+
- Network isolation with custom networks
|
|
268
|
+
|
|
269
|
+
## Troubleshooting
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# View service logs
|
|
273
|
+
docker compose logs -f service-name
|
|
274
|
+
|
|
275
|
+
# Check service status
|
|
276
|
+
docker compose ps
|
|
277
|
+
|
|
278
|
+
# Restart specific service
|
|
279
|
+
docker compose restart service-name
|
|
280
|
+
|
|
281
|
+
# Rebuild service
|
|
282
|
+
docker compose up --build service-name
|
|
283
|
+
|
|
284
|
+
# Remove everything
|
|
285
|
+
docker compose down --volumes --rmi all
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## Resources
|
|
289
|
+
|
|
290
|
+
- Docs: https://docs.docker.com/compose/
|
|
291
|
+
- Compose Specification: https://docs.docker.com/compose/compose-file/
|
|
292
|
+
- Best Practices: https://docs.docker.com/compose/production/
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
# Google Cloud Platform with gcloud CLI
|
|
2
|
+
|
|
3
|
+
Comprehensive guide for gcloud CLI - command-line interface for Google Cloud Platform.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Linux
|
|
8
|
+
```bash
|
|
9
|
+
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz
|
|
10
|
+
tar -xf google-cloud-cli-linux-x86_64.tar.gz
|
|
11
|
+
./google-cloud-sdk/install.sh
|
|
12
|
+
./google-cloud-sdk/bin/gcloud init
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Debian/Ubuntu
|
|
16
|
+
```bash
|
|
17
|
+
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
|
|
18
|
+
sudo apt-get update && sudo apt-get install google-cloud-cli
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### macOS
|
|
22
|
+
```bash
|
|
23
|
+
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-darwin-arm.tar.gz
|
|
24
|
+
tar -xf google-cloud-cli-darwin-arm.tar.gz
|
|
25
|
+
./google-cloud-sdk/install.sh
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Authentication
|
|
29
|
+
|
|
30
|
+
### User Account
|
|
31
|
+
```bash
|
|
32
|
+
# Login with browser
|
|
33
|
+
gcloud auth login
|
|
34
|
+
|
|
35
|
+
# Login without browser (remote/headless)
|
|
36
|
+
gcloud auth login --no-browser
|
|
37
|
+
|
|
38
|
+
# List accounts
|
|
39
|
+
gcloud auth list
|
|
40
|
+
|
|
41
|
+
# Switch account
|
|
42
|
+
gcloud config set account user@example.com
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Service Account
|
|
46
|
+
|
|
47
|
+
> **SECURITY:** Avoid creating SA key files. Use service account impersonation (below) instead.
|
|
48
|
+
> Key files on disk are a security risk — prefer short-lived credentials via impersonation.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Create service account (no key file needed with impersonation)
|
|
52
|
+
gcloud iam service-accounts create SA_NAME \
|
|
53
|
+
--display-name="Service Account"
|
|
54
|
+
|
|
55
|
+
# Grant role
|
|
56
|
+
gcloud projects add-iam-policy-binding PROJECT_ID \
|
|
57
|
+
--member="serviceAccount:SA_EMAIL" \
|
|
58
|
+
--role="roles/compute.admin"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Service Account Impersonation (Recommended)
|
|
62
|
+
```bash
|
|
63
|
+
# Impersonate for single command
|
|
64
|
+
gcloud compute instances list \
|
|
65
|
+
--impersonate-service-account=SA_EMAIL
|
|
66
|
+
|
|
67
|
+
# Set default impersonation
|
|
68
|
+
gcloud config set auth/impersonate_service_account SA_EMAIL
|
|
69
|
+
|
|
70
|
+
# Clear impersonation
|
|
71
|
+
gcloud config unset auth/impersonate_service_account
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Why impersonation? Short-lived credentials, no key files, centralized management.
|
|
75
|
+
|
|
76
|
+
## Configuration Management
|
|
77
|
+
|
|
78
|
+
### Named Configurations
|
|
79
|
+
```bash
|
|
80
|
+
# Create configuration
|
|
81
|
+
gcloud config configurations create dev
|
|
82
|
+
|
|
83
|
+
# List configurations
|
|
84
|
+
gcloud config configurations list
|
|
85
|
+
|
|
86
|
+
# Activate configuration
|
|
87
|
+
gcloud config configurations activate dev
|
|
88
|
+
|
|
89
|
+
# Set properties
|
|
90
|
+
gcloud config set project my-project-dev
|
|
91
|
+
gcloud config set compute/region us-central1
|
|
92
|
+
gcloud config set compute/zone us-central1-a
|
|
93
|
+
|
|
94
|
+
# View properties
|
|
95
|
+
gcloud config list
|
|
96
|
+
|
|
97
|
+
# Delete configuration
|
|
98
|
+
gcloud config configurations delete dev
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Multi-Environment Pattern
|
|
102
|
+
```bash
|
|
103
|
+
# Development
|
|
104
|
+
gcloud config configurations create dev
|
|
105
|
+
gcloud config set project my-project-dev
|
|
106
|
+
gcloud config set account dev@example.com
|
|
107
|
+
|
|
108
|
+
# Staging
|
|
109
|
+
gcloud config configurations create staging
|
|
110
|
+
gcloud config set project my-project-staging
|
|
111
|
+
gcloud config set auth/impersonate_service_account staging-sa@project.iam.gserviceaccount.com
|
|
112
|
+
|
|
113
|
+
# Production
|
|
114
|
+
gcloud config configurations create prod
|
|
115
|
+
gcloud config set project my-project-prod
|
|
116
|
+
gcloud config set auth/impersonate_service_account prod-sa@project.iam.gserviceaccount.com
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Project Management
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# List projects
|
|
123
|
+
gcloud projects list
|
|
124
|
+
|
|
125
|
+
# Create project
|
|
126
|
+
gcloud projects create PROJECT_ID --name="Project Name"
|
|
127
|
+
|
|
128
|
+
# Set active project
|
|
129
|
+
gcloud config set project PROJECT_ID
|
|
130
|
+
|
|
131
|
+
# Get current project
|
|
132
|
+
gcloud config get-value project
|
|
133
|
+
|
|
134
|
+
# Enable API
|
|
135
|
+
gcloud services enable compute.googleapis.com
|
|
136
|
+
gcloud services enable container.googleapis.com
|
|
137
|
+
|
|
138
|
+
# List enabled APIs
|
|
139
|
+
gcloud services list
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Output Formats
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# JSON (recommended for scripting)
|
|
146
|
+
gcloud compute instances list --format=json
|
|
147
|
+
|
|
148
|
+
# YAML
|
|
149
|
+
gcloud compute instances list --format=yaml
|
|
150
|
+
|
|
151
|
+
# CSV
|
|
152
|
+
gcloud compute instances list --format="csv(name,zone,status)"
|
|
153
|
+
|
|
154
|
+
# Value (single field)
|
|
155
|
+
gcloud config get-value project --format="value()"
|
|
156
|
+
|
|
157
|
+
# Custom table
|
|
158
|
+
gcloud compute instances list \
|
|
159
|
+
--format="table(name,zone,machineType,status)"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Filtering
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# Server-side filtering (efficient)
|
|
166
|
+
gcloud compute instances list --filter="zone:us-central1-a"
|
|
167
|
+
gcloud compute instances list --filter="status=RUNNING"
|
|
168
|
+
gcloud compute instances list --filter="name~^web-.*"
|
|
169
|
+
|
|
170
|
+
# Multiple conditions
|
|
171
|
+
gcloud compute instances list \
|
|
172
|
+
--filter="zone:us-central1 AND status=RUNNING"
|
|
173
|
+
|
|
174
|
+
# Negation
|
|
175
|
+
gcloud compute instances list --filter="NOT status=TERMINATED"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## CI/CD Integration
|
|
179
|
+
|
|
180
|
+
> **Note:** CI/CD runners use Workload Identity Federation (keyless) when possible.
|
|
181
|
+
> SA key JSON is a legacy pattern for CI runners only — never for interactive agent sessions.
|
|
182
|
+
|
|
183
|
+
### GitHub Actions (Workload Identity Federation — Recommended)
|
|
184
|
+
```yaml
|
|
185
|
+
name: Deploy to GCP
|
|
186
|
+
|
|
187
|
+
on:
|
|
188
|
+
push:
|
|
189
|
+
branches: [main]
|
|
190
|
+
|
|
191
|
+
jobs:
|
|
192
|
+
deploy:
|
|
193
|
+
runs-on: ubuntu-latest
|
|
194
|
+
permissions:
|
|
195
|
+
contents: read
|
|
196
|
+
id-token: write
|
|
197
|
+
steps:
|
|
198
|
+
- uses: actions/checkout@v4
|
|
199
|
+
|
|
200
|
+
- id: auth
|
|
201
|
+
uses: google-github-actions/auth@v2
|
|
202
|
+
with:
|
|
203
|
+
workload_identity_provider: projects/PROJECT_NUM/locations/global/workloadIdentityPools/POOL/providers/PROVIDER
|
|
204
|
+
service_account: SA_EMAIL
|
|
205
|
+
|
|
206
|
+
- name: Set up Cloud SDK
|
|
207
|
+
uses: google-github-actions/setup-gcloud@v2
|
|
208
|
+
|
|
209
|
+
- name: Deploy
|
|
210
|
+
run: |
|
|
211
|
+
gcloud run deploy my-service \
|
|
212
|
+
--image=gcr.io/${{ vars.GCP_PROJECT_ID }}/my-image \
|
|
213
|
+
--region=us-central1
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### GitLab CI (Workload Identity Federation)
|
|
217
|
+
```yaml
|
|
218
|
+
deploy:
|
|
219
|
+
image: google/cloud-sdk:alpine
|
|
220
|
+
id_tokens:
|
|
221
|
+
GITLAB_OIDC_TOKEN:
|
|
222
|
+
aud: https://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/POOL/providers/PROVIDER
|
|
223
|
+
script:
|
|
224
|
+
- gcloud iam workload-identity-pools create-cred-config PROVIDER_RESOURCE
|
|
225
|
+
--service-account=SA_EMAIL
|
|
226
|
+
--output-file=credentials.json
|
|
227
|
+
--credential-source-type=text
|
|
228
|
+
- export GOOGLE_APPLICATION_CREDENTIALS=credentials.json
|
|
229
|
+
- gcloud config set project $GCP_PROJECT_ID
|
|
230
|
+
- gcloud app deploy
|
|
231
|
+
only:
|
|
232
|
+
- main
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Best Practices
|
|
236
|
+
|
|
237
|
+
### Security
|
|
238
|
+
- Never commit or hardcode credentials
|
|
239
|
+
- Use `gcloud auth login` (OAuth) for interactive sessions
|
|
240
|
+
- Use service account impersonation — avoid SA key files
|
|
241
|
+
- Use Workload Identity Federation for CI/CD (keyless)
|
|
242
|
+
- Grant minimal IAM permissions
|
|
243
|
+
|
|
244
|
+
### Performance
|
|
245
|
+
- Use server-side filtering: `--filter`
|
|
246
|
+
- Limit output: `--limit=10`
|
|
247
|
+
- Project only needed fields: `--format="value(name)"`
|
|
248
|
+
- Batch operations with `--async`
|
|
249
|
+
|
|
250
|
+
### Maintainability
|
|
251
|
+
- Use named configurations for environments
|
|
252
|
+
- Document commands
|
|
253
|
+
- Implement error handling and retries
|
|
254
|
+
|
|
255
|
+
## Troubleshooting
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
# Check authentication
|
|
259
|
+
gcloud auth list
|
|
260
|
+
|
|
261
|
+
# Re-authenticate
|
|
262
|
+
gcloud auth login
|
|
263
|
+
gcloud auth application-default login
|
|
264
|
+
|
|
265
|
+
# Check IAM permissions
|
|
266
|
+
gcloud projects get-iam-policy PROJECT_ID \
|
|
267
|
+
--flatten="bindings[].members" \
|
|
268
|
+
--filter="bindings.members:user@example.com"
|
|
269
|
+
|
|
270
|
+
# View configuration
|
|
271
|
+
gcloud config list
|
|
272
|
+
|
|
273
|
+
# Reset configuration
|
|
274
|
+
gcloud config configurations delete default
|
|
275
|
+
gcloud init
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Quick Reference
|
|
279
|
+
|
|
280
|
+
| Task | Command |
|
|
281
|
+
|------|---------|
|
|
282
|
+
| Initialize | `gcloud init` |
|
|
283
|
+
| Login | `gcloud auth login` |
|
|
284
|
+
| Set project | `gcloud config set project PROJECT_ID` |
|
|
285
|
+
| List resources | `gcloud [SERVICE] list` |
|
|
286
|
+
| Create resource | `gcloud [SERVICE] create RESOURCE` |
|
|
287
|
+
| Delete resource | `gcloud [SERVICE] delete RESOURCE` |
|
|
288
|
+
| Get help | `gcloud [SERVICE] --help` |
|
|
289
|
+
|
|
290
|
+
## Global Flags
|
|
291
|
+
|
|
292
|
+
| Flag | Purpose |
|
|
293
|
+
|------|---------|
|
|
294
|
+
| `--project` | Override project |
|
|
295
|
+
| `--format` | Output format (json, yaml, csv) |
|
|
296
|
+
| `--filter` | Server-side filter |
|
|
297
|
+
| `--limit` | Limit results |
|
|
298
|
+
| `--quiet` | Suppress prompts |
|
|
299
|
+
| `--verbosity` | Log level (debug, info, warning, error) |
|
|
300
|
+
| `--async` | Don't wait for operation |
|
|
301
|
+
|
|
302
|
+
## Resources
|
|
303
|
+
|
|
304
|
+
- gcloud Reference: https://cloud.google.com/sdk/gcloud/reference
|
|
305
|
+
- Installation: https://cloud.google.com/sdk/docs/install
|
|
306
|
+
- Authentication: https://cloud.google.com/docs/authentication
|
|
307
|
+
- Cheatsheet: https://cloud.google.com/sdk/docs/cheatsheet
|