cokit-cli 1.0.0 → 1.0.2
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/AGENTS.md +103 -0
- package/FAQ.md +5 -5
- package/QUICK-START.md +4 -4
- package/README.FLOW.md +237 -0
- package/README.md +153 -92
- package/agents/brainstormer.agent.md +71 -0
- package/agents/code-reviewer.agent.md +128 -0
- package/agents/database-admin.agent.md +91 -0
- package/agents/debugger.agent.md +128 -0
- package/agents/docs-manager.agent.md +121 -0
- package/agents/fullstack-developer.agent.md +96 -0
- package/agents/git-manager.agent.md +392 -0
- package/agents/mcp-manager.agent.md +93 -0
- package/agents/planner.agent.md +94 -0
- package/agents/project-manager.agent.md +124 -0
- package/agents/researcher.agent.md +32 -0
- package/agents/scout-external.agent.md +141 -0
- package/agents/scout.agent.md +107 -0
- package/agents/tester.agent.md +106 -0
- package/agents/ui-ux-designer.agent.md +225 -0
- package/collections/ck-core.collection.yml +30 -0
- package/collections/ck-development-rules.collection.yml +18 -0
- package/collections/ck-documentation.collection.yml +18 -0
- package/collections/ck-git-workflow.collection.yml +18 -0
- package/collections/ck-orchestration.collection.yml +22 -0
- package/collections/ck-ui-design.collection.yml +18 -0
- package/docs/README.md +85 -0
- package/docs/copilot-processing-flow.md +128 -0
- package/docs/migration-guide.md +12 -12
- package/instructions/ck-backend.instructions.md +48 -0
- package/instructions/ck-development.instructions.md +40 -0
- package/instructions/ck-frontend-design-pro.instructions.md +58 -0
- package/instructions/ck-frontend.instructions.md +44 -0
- package/instructions/ck-google-adk-python.instructions.md +242 -0
- package/instructions/ck-research.instructions.md +167 -0
- package/instructions/ck-testing.instructions.md +36 -0
- package/package.json +9 -2
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-01-restructure-folders.md +183 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-02-convert-agents.md +206 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-03-convert-commands-to-prompts.md +284 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-04-convert-skills-to-instructions.md +349 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-05-create-collections.md +320 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-06-update-cli-build-scripts.md +450 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-07-update-documentation.md +407 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/plan.md +136 -0
- package/prompts/ck-ask.prompt.md +57 -0
- package/prompts/ck-bootstrap-auto-fast.prompt.md +108 -0
- package/prompts/ck-bootstrap-auto-parallel.prompt.md +66 -0
- package/prompts/ck-bootstrap-auto.prompt.md +114 -0
- package/prompts/ck-bootstrap.prompt.md +136 -0
- package/prompts/ck-brainstorm.prompt.md +68 -0
- package/prompts/ck-ck-help.prompt.md +114 -0
- package/prompts/ck-code-auto.prompt.md +171 -0
- package/prompts/ck-code-no-test.prompt.md +159 -0
- package/prompts/ck-code-parallel.prompt.md +56 -0
- package/prompts/ck-code.prompt.md +177 -0
- package/prompts/ck-coding-level.prompt.md +54 -0
- package/prompts/ck-cook-auto-fast.prompt.md +26 -0
- package/prompts/ck-cook-auto-parallel.prompt.md +49 -0
- package/prompts/ck-cook-auto.prompt.md +15 -0
- package/prompts/ck-cook.prompt.md +96 -0
- package/prompts/ck-debug.prompt.md +14 -0
- package/prompts/ck-design-3d.prompt.md +84 -0
- package/prompts/ck-design-describe.prompt.md +24 -0
- package/prompts/ck-design-fast.prompt.md +32 -0
- package/prompts/ck-design-good.prompt.md +36 -0
- package/prompts/ck-design-screenshot.prompt.md +35 -0
- package/prompts/ck-design-video.prompt.md +35 -0
- package/prompts/ck-docs-init.prompt.md +27 -0
- package/prompts/ck-docs-summarize.prompt.md +23 -0
- package/prompts/ck-docs-update.prompt.md +36 -0
- package/prompts/ck-fix-ci.prompt.md +18 -0
- package/prompts/ck-fix-fast.prompt.md +18 -0
- package/prompts/ck-fix-hard.prompt.md +36 -0
- package/prompts/ck-fix-logs.prompt.md +27 -0
- package/prompts/ck-fix-parallel.prompt.md +54 -0
- package/prompts/ck-fix-test.prompt.md +19 -0
- package/prompts/ck-fix-types.prompt.md +11 -0
- package/prompts/ck-fix-ui.prompt.md +49 -0
- package/prompts/ck-fix.prompt.md +44 -0
- package/prompts/ck-git-cm.prompt.md +8 -0
- package/prompts/ck-git-cp.prompt.md +7 -0
- package/prompts/ck-git-merge.prompt.md +41 -0
- package/prompts/ck-git-pr.prompt.md +49 -0
- package/prompts/ck-kanban.prompt.md +77 -0
- package/prompts/ck-plan-archive.prompt.md +58 -0
- package/prompts/ck-plan-ci.prompt.md +34 -0
- package/prompts/ck-plan-cro.prompt.md +66 -0
- package/prompts/ck-plan-fast.prompt.md +67 -0
- package/prompts/ck-plan-hard.prompt.md +89 -0
- package/prompts/ck-plan-parallel.prompt.md +126 -0
- package/prompts/ck-plan-two.prompt.md +43 -0
- package/prompts/ck-plan-validate.prompt.md +118 -0
- package/prompts/ck-plan.prompt.md +29 -1
- package/prompts/ck-preview.prompt.md +65 -0
- package/prompts/ck-review-codebase.prompt.md +44 -0
- package/prompts/ck-scout-ext.prompt.md +35 -0
- package/prompts/ck-scout.prompt.md +25 -0
- package/prompts/ck-skill-add.prompt.md +36 -0
- package/prompts/ck-skill-create.prompt.md +29 -0
- package/prompts/ck-skill-fix-logs.prompt.md +22 -0
- package/prompts/ck-skill-optimize-auto.prompt.md +25 -0
- package/prompts/ck-skill-optimize.prompt.md +34 -0
- package/prompts/ck-skill-plan.prompt.md +46 -0
- package/prompts/ck-test-ui.prompt.md +92 -0
- package/prompts/ck-test.prompt.md +10 -0
- package/prompts/ck-use-mcp.prompt.md +27 -0
- package/prompts/ck-watzup.prompt.md +11 -0
- package/prompts/ck-worktree.prompt.md +127 -0
- package/rules/README.agents.md +55 -0
- package/rules/README.collections.md +78 -0
- package/rules/README.copilot-instructions.md +66 -0
- package/rules/README.instructions.md +73 -0
- package/rules/README.md +39 -0
- package/rules/README.prompts.md +76 -0
- package/rules/README.skills.md +71 -0
- package/skills/ck-ai-artist/SKILL.md +73 -0
- package/skills/ck-ai-artist/references/advanced-techniques.md +184 -0
- package/skills/ck-ai-artist/references/domain-code.md +66 -0
- package/skills/ck-ai-artist/references/domain-data.md +72 -0
- package/skills/ck-ai-artist/references/domain-marketing.md +66 -0
- package/skills/ck-ai-artist/references/domain-patterns.md +33 -0
- package/skills/ck-ai-artist/references/domain-writing.md +68 -0
- package/skills/ck-ai-artist/references/image-prompting.md +141 -0
- package/skills/ck-ai-artist/references/llm-prompting.md +165 -0
- package/skills/ck-ai-artist/references/nano-banana.md +59 -0
- package/skills/ck-ai-artist/references/reasoning-techniques.md +201 -0
- package/skills/ck-backend-development/SKILL.md +93 -0
- package/skills/ck-backend-development/references/backend-api-design.md +495 -0
- package/skills/ck-backend-development/references/backend-architecture.md +454 -0
- package/skills/ck-backend-development/references/backend-authentication.md +338 -0
- package/skills/ck-backend-development/references/backend-code-quality.md +659 -0
- package/skills/ck-backend-development/references/backend-debugging.md +904 -0
- package/skills/ck-backend-development/references/backend-devops.md +494 -0
- package/skills/ck-backend-development/references/backend-mindset.md +387 -0
- package/skills/ck-backend-development/references/backend-performance.md +397 -0
- package/skills/ck-backend-development/references/backend-security.md +290 -0
- package/skills/ck-backend-development/references/backend-technologies.md +256 -0
- package/skills/ck-backend-development/references/backend-testing.md +429 -0
- package/skills/ck-better-auth/SKILL.md +202 -0
- package/skills/ck-better-auth/references/advanced-features.md +553 -0
- package/skills/ck-better-auth/references/database-integration.md +577 -0
- package/skills/ck-better-auth/references/email-password-auth.md +416 -0
- package/skills/ck-better-auth/references/oauth-providers.md +430 -0
- package/skills/ck-better-auth/scripts/.coverage +0 -0
- package/skills/ck-better-auth/scripts/better_auth_init.py +521 -0
- package/skills/ck-better-auth/scripts/requirements.txt +15 -0
- package/skills/ck-better-auth/scripts/tests/.coverage +0 -0
- package/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/skills/ck-chrome-devtools/SKILL.md +470 -0
- package/skills/ck-chrome-devtools/references/cdp-domains.md +694 -0
- package/skills/ck-chrome-devtools/references/performance-guide.md +940 -0
- package/skills/ck-chrome-devtools/references/puppeteer-reference.md +953 -0
- package/skills/ck-chrome-devtools/scripts/README.md +272 -0
- package/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/skills/ck-chrome-devtools/scripts/aria-snapshot.js +362 -0
- package/skills/ck-chrome-devtools/scripts/click.js +83 -0
- package/skills/ck-chrome-devtools/scripts/console.js +79 -0
- package/skills/ck-chrome-devtools/scripts/evaluate.js +53 -0
- package/skills/ck-chrome-devtools/scripts/fill.js +76 -0
- package/skills/ck-chrome-devtools/scripts/inject-auth.js +229 -0
- package/skills/ck-chrome-devtools/scripts/install-deps.sh +181 -0
- package/skills/ck-chrome-devtools/scripts/install.sh +83 -0
- package/skills/ck-chrome-devtools/scripts/lib/browser.js +318 -0
- package/skills/ck-chrome-devtools/scripts/lib/selector.js +178 -0
- package/skills/ck-chrome-devtools/scripts/navigate.js +54 -0
- package/skills/ck-chrome-devtools/scripts/network.js +106 -0
- package/skills/ck-chrome-devtools/scripts/package-lock.json +1589 -0
- package/skills/ck-chrome-devtools/scripts/package.json +16 -0
- package/skills/ck-chrome-devtools/scripts/performance.js +149 -0
- package/skills/ck-chrome-devtools/scripts/screenshot.js +198 -0
- package/skills/ck-chrome-devtools/scripts/select-ref.js +131 -0
- package/skills/ck-chrome-devtools/scripts/snapshot.js +135 -0
- package/skills/ck-code-review/SKILL.md +143 -0
- package/skills/ck-code-review/references/code-review-reception.md +209 -0
- package/skills/ck-code-review/references/requesting-code-review.md +105 -0
- package/skills/ck-code-review/references/verification-before-completion.md +139 -0
- package/skills/ck-databases/SKILL.md +231 -0
- package/skills/ck-databases/references/mongodb-aggregation.md +447 -0
- package/skills/ck-databases/references/mongodb-atlas.md +465 -0
- package/skills/ck-databases/references/mongodb-crud.md +408 -0
- package/skills/ck-databases/references/mongodb-indexing.md +442 -0
- package/skills/ck-databases/references/postgresql-administration.md +594 -0
- package/skills/ck-databases/references/postgresql-performance.md +527 -0
- package/skills/ck-databases/references/postgresql-psql-cli.md +467 -0
- package/skills/ck-databases/references/postgresql-queries.md +475 -0
- package/skills/ck-databases/scripts/.coverage +0 -0
- package/skills/ck-databases/scripts/db_backup.py +502 -0
- package/skills/ck-databases/scripts/db_migrate.py +425 -0
- package/skills/ck-databases/scripts/db_performance_check.py +456 -0
- package/skills/ck-databases/scripts/requirements.txt +20 -0
- package/skills/ck-databases/scripts/tests/coverage-db.json +1 -0
- package/skills/ck-databases/scripts/tests/requirements.txt +4 -0
- package/skills/ck-databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/ck-databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/ck-databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/ck-debugging/SKILL.md +82 -0
- package/skills/ck-debugging/references/defense-in-depth.md +124 -0
- package/skills/ck-debugging/references/root-cause-tracing.md +122 -0
- package/skills/ck-debugging/references/systematic-debugging.md +102 -0
- package/skills/ck-debugging/references/verification.md +123 -0
- package/skills/ck-debugging/scripts/find-polluter.sh +63 -0
- package/skills/ck-debugging/scripts/find-polluter.test.md +102 -0
- package/skills/ck-devops/.env.example +76 -0
- package/skills/ck-devops/SKILL.md +283 -0
- package/skills/ck-devops/references/browser-rendering.md +305 -0
- package/skills/ck-devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/ck-devops/references/cloudflare-platform.md +271 -0
- package/skills/ck-devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/ck-devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/ck-devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/ck-devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/ck-devops/references/docker-basics.md +297 -0
- package/skills/ck-devops/references/docker-compose.md +292 -0
- package/skills/ck-devops/references/gcloud-platform.md +297 -0
- package/skills/ck-devops/references/gcloud-services.md +304 -0
- package/skills/ck-devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/ck-devops/scripts/docker_optimize.py +331 -0
- package/skills/ck-devops/scripts/requirements.txt +20 -0
- package/skills/ck-devops/scripts/tests/requirements.txt +3 -0
- package/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/ck-devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/ck-docs-seeker/.env.example +15 -0
- package/skills/ck-docs-seeker/SKILL.md +96 -0
- package/skills/ck-docs-seeker/package.json +25 -0
- package/skills/ck-docs-seeker/references/advanced.md +79 -0
- package/skills/ck-docs-seeker/references/context7-patterns.md +68 -0
- package/skills/ck-docs-seeker/references/errors.md +68 -0
- package/skills/ck-docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/skills/ck-docs-seeker/scripts/detect-topic.js +172 -0
- package/skills/ck-docs-seeker/scripts/fetch-docs.js +213 -0
- package/skills/ck-docs-seeker/scripts/tests/run-tests.js +72 -0
- package/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
- package/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +112 -0
- package/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
- package/skills/ck-docs-seeker/scripts/utils/env-loader.js +94 -0
- package/skills/ck-docs-seeker/workflows/library-search.md +87 -0
- package/skills/ck-docs-seeker/workflows/repo-analysis.md +91 -0
- package/skills/ck-docs-seeker/workflows/topic-search.md +77 -0
- package/skills/ck-frontend-design/SKILL.md +79 -0
- package/skills/ck-frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/ck-frontend-design/references/analysis-prompts.md +141 -0
- package/skills/ck-frontend-design/references/analysis-techniques.md +118 -0
- package/skills/ck-frontend-design/references/animejs.md +396 -0
- package/skills/ck-frontend-design/references/design-extraction-overview.md +71 -0
- package/skills/ck-frontend-design/references/extraction-best-practices.md +141 -0
- package/skills/ck-frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/ck-frontend-design/references/extraction-prompts.md +127 -0
- package/skills/ck-frontend-design/references/technical-accessibility.md +119 -0
- package/skills/ck-frontend-design/references/technical-best-practices.md +97 -0
- package/skills/ck-frontend-design/references/technical-optimization.md +44 -0
- package/skills/ck-frontend-design/references/technical-overview.md +90 -0
- package/skills/ck-frontend-design/references/technical-workflows.md +150 -0
- package/skills/ck-frontend-design/references/visual-analysis-overview.md +95 -0
- package/skills/ck-frontend-development/SKILL.md +399 -0
- package/skills/ck-frontend-development/resources/common-patterns.md +331 -0
- package/skills/ck-frontend-development/resources/complete-examples.md +872 -0
- package/skills/ck-frontend-development/resources/component-patterns.md +502 -0
- package/skills/ck-frontend-development/resources/data-fetching.md +767 -0
- package/skills/ck-frontend-development/resources/file-organization.md +502 -0
- package/skills/ck-frontend-development/resources/loading-and-error-states.md +501 -0
- package/skills/ck-frontend-development/resources/performance.md +406 -0
- package/skills/ck-frontend-development/resources/routing-guide.md +364 -0
- package/skills/ck-frontend-development/resources/styling-guide.md +428 -0
- package/skills/ck-frontend-development/resources/typescript-standards.md +418 -0
- package/skills/ck-markdown-novel-viewer/SKILL.md +190 -0
- package/skills/ck-markdown-novel-viewer/assets/directory-browser.css +215 -0
- package/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
- package/skills/ck-markdown-novel-viewer/assets/novel-theme.css +818 -0
- package/skills/ck-markdown-novel-viewer/assets/reader.js +262 -0
- package/skills/ck-markdown-novel-viewer/assets/template.html +80 -0
- package/skills/ck-markdown-novel-viewer/package.json +15 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +272 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
- package/skills/ck-markdown-novel-viewer/scripts/server.cjs +411 -0
- package/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
- package/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
- package/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
- package/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +271 -0
- package/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +51 -0
- package/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +154 -0
- package/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +90 -0
- package/skills/ck-mcp-builder/LICENSE.txt +202 -0
- package/skills/ck-mcp-builder/SKILL.md +327 -0
- package/skills/ck-mcp-builder/reference/evaluation.md +602 -0
- package/skills/ck-mcp-builder/reference/mcp_best_practices.md +915 -0
- package/skills/ck-mcp-builder/reference/node_mcp_server.md +916 -0
- package/skills/ck-mcp-builder/reference/python_mcp_server.md +752 -0
- package/skills/ck-mcp-builder/scripts/connections.py +151 -0
- package/skills/ck-mcp-builder/scripts/evaluation.py +373 -0
- package/skills/ck-mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/ck-mcp-builder/scripts/requirements.txt +2 -0
- package/skills/ck-mcp-management/README.md +219 -0
- package/skills/ck-mcp-management/SKILL.md +209 -0
- package/skills/ck-mcp-management/assets/tools.json +3146 -0
- package/skills/ck-mcp-management/references/configuration.md +114 -0
- package/skills/ck-mcp-management/references/gemini-cli-integration.md +215 -0
- package/skills/ck-mcp-management/references/mcp-protocol.md +116 -0
- package/skills/ck-mcp-management/scripts/.env.example +10 -0
- package/skills/ck-mcp-management/scripts/cli.ts +195 -0
- package/skills/ck-mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/ck-mcp-management/scripts/dist/cli.js +160 -0
- package/skills/ck-mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/ck-mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/ck-mcp-management/scripts/package.json +20 -0
- package/skills/ck-mcp-management/scripts/tsconfig.json +15 -0
- package/skills/ck-media-processing/SKILL.md +90 -0
- package/skills/ck-media-processing/references/common-workflows.md +132 -0
- package/skills/ck-media-processing/references/ffmpeg-encoding.md +358 -0
- package/skills/ck-media-processing/references/ffmpeg-filters.md +503 -0
- package/skills/ck-media-processing/references/ffmpeg-streaming.md +403 -0
- package/skills/ck-media-processing/references/format-compatibility.md +375 -0
- package/skills/ck-media-processing/references/imagemagick-batch.md +612 -0
- package/skills/ck-media-processing/references/imagemagick-editing.md +623 -0
- package/skills/ck-media-processing/references/rmbg-background-removal.md +66 -0
- package/skills/ck-media-processing/references/troubleshooting.md +109 -0
- package/skills/ck-media-processing/scripts/README.md +111 -0
- package/skills/ck-media-processing/scripts/batch-remove-background.sh +124 -0
- package/skills/ck-media-processing/scripts/batch_resize.py +342 -0
- package/skills/ck-media-processing/scripts/media_convert.py +311 -0
- package/skills/ck-media-processing/scripts/remove-background.sh +96 -0
- package/skills/ck-media-processing/scripts/remove-bg-node.js +158 -0
- package/skills/ck-media-processing/scripts/requirements.txt +24 -0
- package/skills/ck-media-processing/scripts/tests/.coverage +0 -0
- package/skills/ck-media-processing/scripts/tests/requirements.txt +2 -0
- package/skills/ck-media-processing/scripts/tests/test_batch_resize.py +372 -0
- package/skills/ck-media-processing/scripts/tests/test_media_convert.py +259 -0
- package/skills/ck-media-processing/scripts/tests/test_video_optimize.py +397 -0
- package/skills/ck-media-processing/scripts/video_optimize.py +414 -0
- package/skills/ck-mobile-development/SKILL.md +210 -0
- package/skills/ck-mobile-development/references/mobile-android.md +604 -0
- package/skills/ck-mobile-development/references/mobile-best-practices.md +545 -0
- package/skills/ck-mobile-development/references/mobile-debugging.md +1089 -0
- package/skills/ck-mobile-development/references/mobile-frameworks.md +465 -0
- package/skills/ck-mobile-development/references/mobile-ios.md +496 -0
- package/skills/ck-mobile-development/references/mobile-mindset.md +544 -0
- package/skills/ck-payment-integration/README.md +185 -0
- package/skills/ck-payment-integration/SKILL.md +116 -0
- package/skills/ck-payment-integration/references/polar/benefits.md +396 -0
- package/skills/ck-payment-integration/references/polar/best-practices.md +482 -0
- package/skills/ck-payment-integration/references/polar/checkouts.md +266 -0
- package/skills/ck-payment-integration/references/polar/overview.md +184 -0
- package/skills/ck-payment-integration/references/polar/products.md +244 -0
- package/skills/ck-payment-integration/references/polar/sdk.md +436 -0
- package/skills/ck-payment-integration/references/polar/subscriptions.md +340 -0
- package/skills/ck-payment-integration/references/polar/webhooks.md +405 -0
- package/skills/ck-payment-integration/references/sepay/api.md +140 -0
- package/skills/ck-payment-integration/references/sepay/best-practices.md +337 -0
- package/skills/ck-payment-integration/references/sepay/overview.md +138 -0
- package/skills/ck-payment-integration/references/sepay/qr-codes.md +228 -0
- package/skills/ck-payment-integration/references/sepay/sdk.md +213 -0
- package/skills/ck-payment-integration/references/sepay/webhooks.md +208 -0
- package/skills/ck-payment-integration/scripts/.env.example +20 -0
- package/skills/ck-payment-integration/scripts/checkout-helper.js +244 -0
- package/skills/ck-payment-integration/scripts/package.json +17 -0
- package/skills/ck-payment-integration/scripts/polar-webhook-verify.js +202 -0
- package/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +193 -0
- package/skills/ck-payment-integration/scripts/test-scripts.js +237 -0
- package/skills/ck-planning/SKILL.md +112 -0
- package/skills/ck-planning/references/codebase-understanding.md +62 -0
- package/skills/ck-planning/references/output-standards.md +127 -0
- package/skills/ck-planning/references/plan-organization.md +150 -0
- package/skills/ck-planning/references/research-phase.md +49 -0
- package/skills/ck-planning/references/solution-design.md +63 -0
- package/skills/ck-problem-solving/SKILL.md +95 -0
- package/skills/ck-problem-solving/references/attribution.md +69 -0
- package/skills/ck-problem-solving/references/collision-zone-thinking.md +79 -0
- package/skills/ck-problem-solving/references/inversion-exercise.md +91 -0
- package/skills/ck-problem-solving/references/meta-pattern-recognition.md +87 -0
- package/skills/ck-problem-solving/references/scale-game.md +95 -0
- package/skills/ck-problem-solving/references/simplification-cascades.md +80 -0
- package/skills/ck-problem-solving/references/when-stuck.md +72 -0
- package/skills/ck-repomix/SKILL.md +247 -0
- package/skills/ck-repomix/references/configuration.md +211 -0
- package/skills/ck-repomix/references/usage-patterns.md +232 -0
- package/skills/ck-repomix/scripts/.coverage +0 -0
- package/skills/ck-repomix/scripts/README.md +179 -0
- package/skills/ck-repomix/scripts/repomix_batch.py +455 -0
- package/skills/ck-repomix/scripts/repos.example.json +15 -0
- package/skills/ck-repomix/scripts/requirements.txt +15 -0
- package/skills/ck-repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/skills/ck-sequential-thinking/.env.example +8 -0
- package/skills/ck-sequential-thinking/README.md +183 -0
- package/skills/{sequential-thinking → ck-sequential-thinking}/SKILL.md +14 -2
- package/skills/ck-sequential-thinking/package.json +31 -0
- package/skills/ck-sequential-thinking/references/advanced-strategies.md +79 -0
- package/skills/{sequential-thinking → ck-sequential-thinking}/references/advanced-techniques.md +2 -14
- package/skills/{sequential-thinking → ck-sequential-thinking}/references/core-patterns.md +8 -0
- package/skills/ck-sequential-thinking/references/examples-api.md +88 -0
- package/skills/ck-sequential-thinking/references/examples-architecture.md +94 -0
- package/skills/ck-sequential-thinking/references/examples-debug.md +90 -0
- package/skills/ck-sequential-thinking/scripts/format-thought.js +159 -0
- package/skills/ck-sequential-thinking/scripts/process-thought.js +236 -0
- package/skills/ck-sequential-thinking/tests/format-thought.test.js +133 -0
- package/skills/ck-sequential-thinking/tests/process-thought.test.js +215 -0
- package/skills/ck-shopify/README.md +66 -0
- package/skills/ck-shopify/SKILL.md +319 -0
- package/skills/ck-shopify/references/app-development.md +470 -0
- package/skills/ck-shopify/references/extensions.md +493 -0
- package/skills/ck-shopify/references/themes.md +498 -0
- package/skills/ck-shopify/scripts/.coverage +0 -0
- package/skills/ck-shopify/scripts/requirements.txt +19 -0
- package/skills/ck-shopify/scripts/shopify_init.py +423 -0
- package/skills/ck-shopify/scripts/tests/.coverage +0 -0
- package/skills/ck-shopify/scripts/tests/test_shopify_init.py +385 -0
- package/skills/ck-skill-creator/LICENSE.txt +202 -0
- package/skills/ck-skill-creator/SKILL.md +265 -0
- package/skills/ck-skill-creator/scripts/init_skill.py +303 -0
- package/skills/ck-skill-creator/scripts/package_skill.py +110 -0
- package/skills/ck-skill-creator/scripts/quick_validate.py +65 -0
- package/skills/ck-threejs/SKILL.md +87 -0
- package/skills/ck-threejs/references/01-getting-started.md +177 -0
- package/skills/ck-threejs/references/02-loaders.md +169 -0
- package/skills/ck-threejs/references/03-textures.md +170 -0
- package/skills/ck-threejs/references/04-cameras.md +195 -0
- package/skills/ck-threejs/references/05-lights.md +183 -0
- package/skills/ck-threejs/references/06-animations.md +214 -0
- package/skills/ck-threejs/references/07-math.md +260 -0
- package/skills/ck-threejs/references/08-interaction.md +267 -0
- package/skills/ck-threejs/references/09-postprocessing.md +240 -0
- package/skills/ck-threejs/references/10-controls.md +259 -0
- package/skills/ck-threejs/references/11-materials-advanced.md +270 -0
- package/skills/ck-threejs/references/12-performance.md +269 -0
- package/skills/ck-threejs/references/13-node-materials.md +298 -0
- package/skills/ck-threejs/references/14-physics-vr.md +304 -0
- package/skills/ck-threejs/references/15-specialized-loaders.md +333 -0
- package/skills/ck-threejs/references/16-webgpu.md +302 -0
- package/skills/ck-ui-styling/LICENSE.txt +202 -0
- package/skills/ck-ui-styling/SKILL.md +319 -0
- package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/ck-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/references/canvas-design-system.md +320 -0
- package/skills/ck-ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/ck-ui-styling/references/shadcn-components.md +424 -0
- package/skills/ck-ui-styling/references/shadcn-theming.md +373 -0
- package/skills/ck-ui-styling/references/tailwind-customization.md +483 -0
- package/skills/ck-ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/ck-ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/ck-ui-styling/scripts/.coverage +0 -0
- package/skills/ck-ui-styling/scripts/requirements.txt +17 -0
- package/skills/ck-ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/ck-ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/ck-ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/skills/ck-ui-styling/scripts/tests/requirements.txt +3 -0
- package/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/skills/ck-ui-ux-pro-max/SKILL.md +227 -0
- package/skills/ck-ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ck-ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ck-ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ck-ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ck-ui-ux-pro-max/data/prompts.csv +24 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +51 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ck-ui-ux-pro-max/data/styles.csv +59 -0
- package/skills/ck-ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ck-ui-ux-pro-max/scripts/core.py +236 -0
- package/skills/ck-ui-ux-pro-max/scripts/search.py +76 -0
- package/skills/ck-web-frameworks/SKILL.md +322 -0
- package/skills/ck-web-frameworks/references/nextjs-app-router.md +465 -0
- package/skills/ck-web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/skills/ck-web-frameworks/references/nextjs-optimization.md +511 -0
- package/skills/ck-web-frameworks/references/nextjs-server-components.md +495 -0
- package/skills/ck-web-frameworks/references/remix-icon-integration.md +603 -0
- package/skills/ck-web-frameworks/references/turborepo-caching.md +551 -0
- package/skills/ck-web-frameworks/references/turborepo-pipelines.md +517 -0
- package/skills/ck-web-frameworks/references/turborepo-setup.md +542 -0
- package/skills/ck-web-frameworks/scripts/.coverage +0 -0
- package/skills/ck-web-frameworks/scripts/__init__.py +0 -0
- package/skills/ck-web-frameworks/scripts/nextjs_init.py +547 -0
- package/skills/ck-web-frameworks/scripts/requirements.txt +16 -0
- package/skills/ck-web-frameworks/scripts/tests/coverage-web.json +1 -0
- package/skills/ck-web-frameworks/scripts/tests/requirements.txt +3 -0
- package/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
- package/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
- package/skills/ck-web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/src/commands/init.js +62 -31
- package/src/utils/paths.js +35 -4
- package/skills/code-review/SKILL.md +0 -86
- package/skills/code-review/references/code-review-reception.md +0 -76
- package/skills/code-review/references/verification-before-completion.md +0 -86
- package/skills/debugging/SKILL.md +0 -70
- package/skills/debugging/references/root-cause-tracing.md +0 -65
- package/skills/debugging/references/systematic-debugging.md +0 -74
- package/skills/debugging/references/verification.md +0 -74
- package/skills/docs-seeker/SKILL.md +0 -91
- package/skills/planning/SKILL.md +0 -82
- package/skills/planning/references/plan-organization.md +0 -88
- package/skills/planning/references/research-phase.md +0 -56
- package/skills/planning/references/solution-design.md +0 -65
- package/templates/repo/prompts/code.prompt.md +0 -40
- package/templates/repo/prompts/docs.prompt.md +0 -29
- package/templates/repo/prompts/fix.prompt.md +0 -35
- package/templates/repo/prompts/plan.prompt.md +0 -41
- package/templates/repo/prompts/review.prompt.md +0 -38
- package/templates/repo/prompts/test.prompt.md +0 -29
- /package/skills/{docs-seeker → ck-docs-seeker}/references/search-patterns.md +0 -0
- /package/skills/{docs-seeker → ck-docs-seeker}/references/source-evaluation.md +0 -0
- /package/templates/repo/.github/instructions/{backend.instructions.md → ck-backend.instructions.md} +0 -0
- /package/templates/repo/.github/instructions/{development.instructions.md → ck-development.instructions.md} +0 -0
- /package/templates/repo/.github/instructions/{frontend.instructions.md → ck-frontend.instructions.md} +0 -0
- /package/templates/repo/.github/instructions/{testing.instructions.md → ck-testing.instructions.md} +0 -0
- /package/templates/repo/.github/prompts/{code.prompt.md → ck-code.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{docs.prompt.md → ck-docs.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{fix.prompt.md → ck-fix.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{plan.prompt.md → ck-plan.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{review.prompt.md → ck-review.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{test.prompt.md → ck-test.prompt.md} +0 -0
- /package/templates/repo/.github/skills/{code-review → ck-code-review}/SKILL.md +0 -0
- /package/templates/repo/.github/skills/{debugging → ck-debugging}/SKILL.md +0 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# Google Cloud Services
|
|
2
|
+
|
|
3
|
+
## Compute Engine (VMs)
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# List instances
|
|
7
|
+
gcloud compute instances list
|
|
8
|
+
|
|
9
|
+
# Create instance
|
|
10
|
+
gcloud compute instances create my-instance \
|
|
11
|
+
--zone=us-central1-a \
|
|
12
|
+
--machine-type=e2-medium \
|
|
13
|
+
--image-family=debian-11 \
|
|
14
|
+
--image-project=debian-cloud \
|
|
15
|
+
--boot-disk-size=10GB
|
|
16
|
+
|
|
17
|
+
# SSH into instance
|
|
18
|
+
gcloud compute ssh my-instance --zone=us-central1-a
|
|
19
|
+
|
|
20
|
+
# Copy files
|
|
21
|
+
gcloud compute scp local-file.txt my-instance:~/remote-file.txt \
|
|
22
|
+
--zone=us-central1-a
|
|
23
|
+
|
|
24
|
+
# Stop instance
|
|
25
|
+
gcloud compute instances stop my-instance --zone=us-central1-a
|
|
26
|
+
|
|
27
|
+
# Delete instance
|
|
28
|
+
gcloud compute instances delete my-instance --zone=us-central1-a
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Google Kubernetes Engine (GKE)
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Create cluster
|
|
35
|
+
gcloud container clusters create my-cluster \
|
|
36
|
+
--zone=us-central1-a \
|
|
37
|
+
--num-nodes=3 \
|
|
38
|
+
--machine-type=e2-medium
|
|
39
|
+
|
|
40
|
+
# Get credentials
|
|
41
|
+
gcloud container clusters get-credentials my-cluster --zone=us-central1-a
|
|
42
|
+
|
|
43
|
+
# List clusters
|
|
44
|
+
gcloud container clusters list
|
|
45
|
+
|
|
46
|
+
# Resize cluster
|
|
47
|
+
gcloud container clusters resize my-cluster \
|
|
48
|
+
--num-nodes=5 \
|
|
49
|
+
--zone=us-central1-a
|
|
50
|
+
|
|
51
|
+
# Delete cluster
|
|
52
|
+
gcloud container clusters delete my-cluster --zone=us-central1-a
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Cloud Run (Serverless Containers)
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Deploy container
|
|
59
|
+
gcloud run deploy my-service \
|
|
60
|
+
--image=gcr.io/PROJECT_ID/my-image:tag \
|
|
61
|
+
--platform=managed \
|
|
62
|
+
--region=us-central1 \
|
|
63
|
+
--allow-unauthenticated
|
|
64
|
+
|
|
65
|
+
# List services
|
|
66
|
+
gcloud run services list
|
|
67
|
+
|
|
68
|
+
# Describe service
|
|
69
|
+
gcloud run services describe my-service --region=us-central1
|
|
70
|
+
|
|
71
|
+
# Delete service
|
|
72
|
+
gcloud run services delete my-service --region=us-central1
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## App Engine
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Deploy application
|
|
79
|
+
gcloud app deploy app.yaml
|
|
80
|
+
|
|
81
|
+
# View application
|
|
82
|
+
gcloud app browse
|
|
83
|
+
|
|
84
|
+
# View logs
|
|
85
|
+
gcloud app logs tail
|
|
86
|
+
|
|
87
|
+
# List versions
|
|
88
|
+
gcloud app versions list
|
|
89
|
+
|
|
90
|
+
# Delete version
|
|
91
|
+
gcloud app versions delete VERSION_ID
|
|
92
|
+
|
|
93
|
+
# Set traffic split
|
|
94
|
+
gcloud app services set-traffic SERVICE \
|
|
95
|
+
--splits v1=0.5,v2=0.5
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Cloud Storage
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Create bucket
|
|
102
|
+
gsutil mb gs://my-bucket-name
|
|
103
|
+
|
|
104
|
+
# Upload file
|
|
105
|
+
gsutil cp local-file.txt gs://my-bucket-name/
|
|
106
|
+
|
|
107
|
+
# Download file
|
|
108
|
+
gsutil cp gs://my-bucket-name/file.txt ./
|
|
109
|
+
|
|
110
|
+
# List contents
|
|
111
|
+
gsutil ls gs://my-bucket-name/
|
|
112
|
+
|
|
113
|
+
# Sync directory
|
|
114
|
+
gsutil rsync -r ./local-dir gs://my-bucket-name/remote-dir
|
|
115
|
+
|
|
116
|
+
# Set permissions
|
|
117
|
+
gsutil iam ch user:user@example.com:objectViewer gs://my-bucket-name
|
|
118
|
+
|
|
119
|
+
# Delete bucket
|
|
120
|
+
gsutil rm -r gs://my-bucket-name
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Cloud SQL
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Create instance
|
|
127
|
+
gcloud sql instances create my-instance \
|
|
128
|
+
--database-version=POSTGRES_14 \
|
|
129
|
+
--tier=db-f1-micro \
|
|
130
|
+
--region=us-central1
|
|
131
|
+
|
|
132
|
+
# Create database
|
|
133
|
+
gcloud sql databases create my-database \
|
|
134
|
+
--instance=my-instance
|
|
135
|
+
|
|
136
|
+
# Create user
|
|
137
|
+
gcloud sql users create my-user \
|
|
138
|
+
--instance=my-instance \
|
|
139
|
+
--password=PASSWORD
|
|
140
|
+
|
|
141
|
+
# Connect
|
|
142
|
+
gcloud sql connect my-instance --user=my-user
|
|
143
|
+
|
|
144
|
+
# Delete instance
|
|
145
|
+
gcloud sql instances delete my-instance
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Cloud Functions
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# Deploy function
|
|
152
|
+
gcloud functions deploy my-function \
|
|
153
|
+
--runtime=python39 \
|
|
154
|
+
--trigger-http \
|
|
155
|
+
--allow-unauthenticated \
|
|
156
|
+
--entry-point=main
|
|
157
|
+
|
|
158
|
+
# List functions
|
|
159
|
+
gcloud functions list
|
|
160
|
+
|
|
161
|
+
# Describe function
|
|
162
|
+
gcloud functions describe my-function
|
|
163
|
+
|
|
164
|
+
# Call function
|
|
165
|
+
gcloud functions call my-function
|
|
166
|
+
|
|
167
|
+
# Delete function
|
|
168
|
+
gcloud functions delete my-function
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## BigQuery
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# List datasets
|
|
175
|
+
bq ls
|
|
176
|
+
|
|
177
|
+
# Create dataset
|
|
178
|
+
bq mk my_dataset
|
|
179
|
+
|
|
180
|
+
# Load data
|
|
181
|
+
bq load --source_format=CSV my_dataset.my_table \
|
|
182
|
+
gs://my-bucket/data.csv \
|
|
183
|
+
schema.json
|
|
184
|
+
|
|
185
|
+
# Query
|
|
186
|
+
bq query --use_legacy_sql=false \
|
|
187
|
+
'SELECT * FROM `my_dataset.my_table` LIMIT 10'
|
|
188
|
+
|
|
189
|
+
# Delete dataset
|
|
190
|
+
bq rm -r -f my_dataset
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Cloud Build
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
# Submit build
|
|
197
|
+
gcloud builds submit --tag=gcr.io/PROJECT_ID/my-image
|
|
198
|
+
|
|
199
|
+
# List builds
|
|
200
|
+
gcloud builds list
|
|
201
|
+
|
|
202
|
+
# Describe build
|
|
203
|
+
gcloud builds describe BUILD_ID
|
|
204
|
+
|
|
205
|
+
# Cancel build
|
|
206
|
+
gcloud builds cancel BUILD_ID
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Artifact Registry
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Create repository
|
|
213
|
+
gcloud artifacts repositories create my-repo \
|
|
214
|
+
--repository-format=docker \
|
|
215
|
+
--location=us-central1
|
|
216
|
+
|
|
217
|
+
# Configure Docker
|
|
218
|
+
gcloud auth configure-docker us-central1-docker.pkg.dev
|
|
219
|
+
|
|
220
|
+
# Push image
|
|
221
|
+
docker tag my-image us-central1-docker.pkg.dev/PROJECT_ID/my-repo/my-image
|
|
222
|
+
docker push us-central1-docker.pkg.dev/PROJECT_ID/my-repo/my-image
|
|
223
|
+
|
|
224
|
+
# List repositories
|
|
225
|
+
gcloud artifacts repositories list
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Networking
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
# Create VPC network
|
|
232
|
+
gcloud compute networks create my-network \
|
|
233
|
+
--subnet-mode=auto
|
|
234
|
+
|
|
235
|
+
# Create firewall rule
|
|
236
|
+
gcloud compute firewall-rules create allow-http \
|
|
237
|
+
--network=my-network \
|
|
238
|
+
--allow=tcp:80
|
|
239
|
+
|
|
240
|
+
# List networks
|
|
241
|
+
gcloud compute networks list
|
|
242
|
+
|
|
243
|
+
# List firewall rules
|
|
244
|
+
gcloud compute firewall-rules list
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## IAM
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# List IAM policy
|
|
251
|
+
gcloud projects get-iam-policy PROJECT_ID
|
|
252
|
+
|
|
253
|
+
# Add IAM binding
|
|
254
|
+
gcloud projects add-iam-policy-binding PROJECT_ID \
|
|
255
|
+
--member="user:user@example.com" \
|
|
256
|
+
--role="roles/viewer"
|
|
257
|
+
|
|
258
|
+
# Remove IAM binding
|
|
259
|
+
gcloud projects remove-iam-policy-binding PROJECT_ID \
|
|
260
|
+
--member="user:user@example.com" \
|
|
261
|
+
--role="roles/viewer"
|
|
262
|
+
|
|
263
|
+
# List service accounts
|
|
264
|
+
gcloud iam service-accounts list
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Monitoring & Logging
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
# View logs
|
|
271
|
+
gcloud logging read "resource.type=gce_instance" \
|
|
272
|
+
--limit=10 \
|
|
273
|
+
--format=json
|
|
274
|
+
|
|
275
|
+
# Create log sink
|
|
276
|
+
gcloud logging sinks create my-sink \
|
|
277
|
+
storage.googleapis.com/my-bucket \
|
|
278
|
+
--log-filter="resource.type=gce_instance"
|
|
279
|
+
|
|
280
|
+
# List metrics
|
|
281
|
+
gcloud monitoring metrics-descriptors list
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## Quick Reference
|
|
285
|
+
|
|
286
|
+
| Service | Command Prefix |
|
|
287
|
+
|---------|----------------|
|
|
288
|
+
| Compute Engine | `gcloud compute` |
|
|
289
|
+
| GKE | `gcloud container` |
|
|
290
|
+
| Cloud Run | `gcloud run` |
|
|
291
|
+
| App Engine | `gcloud app` |
|
|
292
|
+
| Cloud Storage | `gsutil` |
|
|
293
|
+
| BigQuery | `bq` |
|
|
294
|
+
| Cloud SQL | `gcloud sql` |
|
|
295
|
+
| Cloud Functions | `gcloud functions` |
|
|
296
|
+
| IAM | `gcloud iam` |
|
|
297
|
+
|
|
298
|
+
## Resources
|
|
299
|
+
|
|
300
|
+
- Compute Engine: https://cloud.google.com/compute/docs
|
|
301
|
+
- GKE: https://cloud.google.com/kubernetes-engine/docs
|
|
302
|
+
- Cloud Run: https://cloud.google.com/run/docs
|
|
303
|
+
- App Engine: https://cloud.google.com/appengine/docs
|
|
304
|
+
- Cloud Storage: https://cloud.google.com/storage/docs
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Cloudflare Worker Deployment Utility
|
|
4
|
+
|
|
5
|
+
Automates Cloudflare Worker deployments with wrangler.toml configuration handling,
|
|
6
|
+
multi-environment support, and comprehensive error handling.
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
python cloudflare-deploy.py --env production --dry-run
|
|
10
|
+
python cloudflare-deploy.py --project ./my-worker --env staging
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import argparse
|
|
14
|
+
import json
|
|
15
|
+
import subprocess
|
|
16
|
+
import sys
|
|
17
|
+
from pathlib import Path
|
|
18
|
+
from typing import Dict, List, Optional, Tuple
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class CloudflareDeployError(Exception):
|
|
22
|
+
"""Custom exception for Cloudflare deployment errors."""
|
|
23
|
+
pass
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class CloudflareDeploy:
|
|
27
|
+
"""Handle Cloudflare Worker deployments with wrangler CLI."""
|
|
28
|
+
|
|
29
|
+
def __init__(self, project_dir: Path, env: Optional[str] = None,
|
|
30
|
+
dry_run: bool = False, verbose: bool = False):
|
|
31
|
+
"""
|
|
32
|
+
Initialize CloudflareDeploy.
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
project_dir: Path to Worker project directory
|
|
36
|
+
env: Environment name (production, staging, dev)
|
|
37
|
+
dry_run: Preview deployment without actually deploying
|
|
38
|
+
verbose: Enable verbose output
|
|
39
|
+
"""
|
|
40
|
+
self.project_dir = Path(project_dir).resolve()
|
|
41
|
+
self.env = env
|
|
42
|
+
self.dry_run = dry_run
|
|
43
|
+
self.verbose = verbose
|
|
44
|
+
self.wrangler_toml = self.project_dir / "wrangler.toml"
|
|
45
|
+
|
|
46
|
+
def validate_project(self) -> bool:
|
|
47
|
+
"""
|
|
48
|
+
Validate project directory and wrangler.toml existence.
|
|
49
|
+
|
|
50
|
+
Returns:
|
|
51
|
+
True if valid, False otherwise
|
|
52
|
+
|
|
53
|
+
Raises:
|
|
54
|
+
CloudflareDeployError: If validation fails
|
|
55
|
+
"""
|
|
56
|
+
if not self.project_dir.exists():
|
|
57
|
+
raise CloudflareDeployError(
|
|
58
|
+
f"Project directory does not exist: {self.project_dir}"
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
if not self.wrangler_toml.exists():
|
|
62
|
+
raise CloudflareDeployError(
|
|
63
|
+
f"wrangler.toml not found in: {self.project_dir}"
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
return True
|
|
67
|
+
|
|
68
|
+
def check_wrangler_installed(self) -> bool:
|
|
69
|
+
"""
|
|
70
|
+
Check if wrangler CLI is installed.
|
|
71
|
+
|
|
72
|
+
Returns:
|
|
73
|
+
True if installed, False otherwise
|
|
74
|
+
"""
|
|
75
|
+
try:
|
|
76
|
+
result = subprocess.run(
|
|
77
|
+
["wrangler", "--version"],
|
|
78
|
+
capture_output=True,
|
|
79
|
+
text=True,
|
|
80
|
+
check=True
|
|
81
|
+
)
|
|
82
|
+
if self.verbose:
|
|
83
|
+
print(f"Wrangler version: {result.stdout.strip()}")
|
|
84
|
+
return True
|
|
85
|
+
except (subprocess.CalledProcessError, FileNotFoundError):
|
|
86
|
+
return False
|
|
87
|
+
|
|
88
|
+
def run_command(self, cmd: List[str], check: bool = True) -> Tuple[int, str, str]:
|
|
89
|
+
"""
|
|
90
|
+
Run shell command and capture output.
|
|
91
|
+
|
|
92
|
+
Args:
|
|
93
|
+
cmd: Command and arguments as list
|
|
94
|
+
check: Raise exception on non-zero exit code
|
|
95
|
+
|
|
96
|
+
Returns:
|
|
97
|
+
Tuple of (exit_code, stdout, stderr)
|
|
98
|
+
|
|
99
|
+
Raises:
|
|
100
|
+
CloudflareDeployError: If command fails and check=True
|
|
101
|
+
"""
|
|
102
|
+
if self.verbose:
|
|
103
|
+
print(f"Running: {' '.join(cmd)}")
|
|
104
|
+
|
|
105
|
+
try:
|
|
106
|
+
result = subprocess.run(
|
|
107
|
+
cmd,
|
|
108
|
+
capture_output=True,
|
|
109
|
+
text=True,
|
|
110
|
+
cwd=self.project_dir,
|
|
111
|
+
check=check
|
|
112
|
+
)
|
|
113
|
+
return result.returncode, result.stdout, result.stderr
|
|
114
|
+
except subprocess.CalledProcessError as e:
|
|
115
|
+
if check:
|
|
116
|
+
raise CloudflareDeployError(
|
|
117
|
+
f"Command failed: {' '.join(cmd)}\n{e.stderr}"
|
|
118
|
+
)
|
|
119
|
+
return e.returncode, e.stdout, e.stderr
|
|
120
|
+
|
|
121
|
+
def get_worker_name(self) -> str:
|
|
122
|
+
"""
|
|
123
|
+
Extract worker name from wrangler.toml.
|
|
124
|
+
|
|
125
|
+
Returns:
|
|
126
|
+
Worker name
|
|
127
|
+
|
|
128
|
+
Raises:
|
|
129
|
+
CloudflareDeployError: If name cannot be extracted
|
|
130
|
+
"""
|
|
131
|
+
try:
|
|
132
|
+
with open(self.wrangler_toml, 'r') as f:
|
|
133
|
+
for line in f:
|
|
134
|
+
if line.strip().startswith('name'):
|
|
135
|
+
# Parse: name = "worker-name"
|
|
136
|
+
return line.split('=')[1].strip().strip('"\'')
|
|
137
|
+
except Exception as e:
|
|
138
|
+
raise CloudflareDeployError(f"Failed to read worker name: {e}")
|
|
139
|
+
|
|
140
|
+
raise CloudflareDeployError("Worker name not found in wrangler.toml")
|
|
141
|
+
|
|
142
|
+
def build_deploy_command(self) -> List[str]:
|
|
143
|
+
"""
|
|
144
|
+
Build wrangler deploy command with appropriate flags.
|
|
145
|
+
|
|
146
|
+
Returns:
|
|
147
|
+
Command as list of strings
|
|
148
|
+
"""
|
|
149
|
+
cmd = ["wrangler", "deploy"]
|
|
150
|
+
|
|
151
|
+
if self.env:
|
|
152
|
+
cmd.extend(["--env", self.env])
|
|
153
|
+
|
|
154
|
+
if self.dry_run:
|
|
155
|
+
cmd.append("--dry-run")
|
|
156
|
+
|
|
157
|
+
return cmd
|
|
158
|
+
|
|
159
|
+
def deploy(self) -> bool:
|
|
160
|
+
"""
|
|
161
|
+
Execute deployment.
|
|
162
|
+
|
|
163
|
+
Returns:
|
|
164
|
+
True if successful
|
|
165
|
+
|
|
166
|
+
Raises:
|
|
167
|
+
CloudflareDeployError: If deployment fails
|
|
168
|
+
"""
|
|
169
|
+
# Validate
|
|
170
|
+
self.validate_project()
|
|
171
|
+
|
|
172
|
+
if not self.check_wrangler_installed():
|
|
173
|
+
raise CloudflareDeployError(
|
|
174
|
+
"wrangler CLI not installed. Install: npm install -g wrangler"
|
|
175
|
+
)
|
|
176
|
+
|
|
177
|
+
worker_name = self.get_worker_name()
|
|
178
|
+
env_suffix = f" ({self.env})" if self.env else ""
|
|
179
|
+
mode = "DRY RUN" if self.dry_run else "DEPLOY"
|
|
180
|
+
|
|
181
|
+
print(f"\n{mode}: {worker_name}{env_suffix}")
|
|
182
|
+
print(f"Project: {self.project_dir}\n")
|
|
183
|
+
|
|
184
|
+
# Build and run command
|
|
185
|
+
cmd = self.build_deploy_command()
|
|
186
|
+
exit_code, stdout, stderr = self.run_command(cmd)
|
|
187
|
+
|
|
188
|
+
# Output results
|
|
189
|
+
if stdout:
|
|
190
|
+
print(stdout)
|
|
191
|
+
if stderr:
|
|
192
|
+
print(stderr, file=sys.stderr)
|
|
193
|
+
|
|
194
|
+
if exit_code == 0:
|
|
195
|
+
status = "would be deployed" if self.dry_run else "deployed successfully"
|
|
196
|
+
print(f"\n✓ Worker {status}")
|
|
197
|
+
return True
|
|
198
|
+
else:
|
|
199
|
+
raise CloudflareDeployError("Deployment failed")
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
def main():
|
|
203
|
+
"""CLI entry point."""
|
|
204
|
+
parser = argparse.ArgumentParser(
|
|
205
|
+
description="Deploy Cloudflare Worker with wrangler",
|
|
206
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
207
|
+
epilog="""
|
|
208
|
+
Examples:
|
|
209
|
+
python cloudflare-deploy.py
|
|
210
|
+
python cloudflare-deploy.py --env production
|
|
211
|
+
python cloudflare-deploy.py --project ./my-worker --env staging
|
|
212
|
+
python cloudflare-deploy.py --dry-run
|
|
213
|
+
python cloudflare-deploy.py --env prod --verbose
|
|
214
|
+
"""
|
|
215
|
+
)
|
|
216
|
+
|
|
217
|
+
parser.add_argument(
|
|
218
|
+
"--project",
|
|
219
|
+
type=str,
|
|
220
|
+
default=".",
|
|
221
|
+
help="Path to Worker project directory (default: current directory)"
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
parser.add_argument(
|
|
225
|
+
"--env",
|
|
226
|
+
type=str,
|
|
227
|
+
choices=["production", "staging", "dev"],
|
|
228
|
+
help="Environment to deploy to (production, staging, dev)"
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
parser.add_argument(
|
|
232
|
+
"--dry-run",
|
|
233
|
+
action="store_true",
|
|
234
|
+
help="Preview deployment without actually deploying"
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
parser.add_argument(
|
|
238
|
+
"--verbose",
|
|
239
|
+
"-v",
|
|
240
|
+
action="store_true",
|
|
241
|
+
help="Enable verbose output"
|
|
242
|
+
)
|
|
243
|
+
|
|
244
|
+
args = parser.parse_args()
|
|
245
|
+
|
|
246
|
+
try:
|
|
247
|
+
deployer = CloudflareDeploy(
|
|
248
|
+
project_dir=args.project,
|
|
249
|
+
env=args.env,
|
|
250
|
+
dry_run=args.dry_run,
|
|
251
|
+
verbose=args.verbose
|
|
252
|
+
)
|
|
253
|
+
|
|
254
|
+
success = deployer.deploy()
|
|
255
|
+
sys.exit(0 if success else 1)
|
|
256
|
+
|
|
257
|
+
except CloudflareDeployError as e:
|
|
258
|
+
print(f"Error: {e}", file=sys.stderr)
|
|
259
|
+
sys.exit(1)
|
|
260
|
+
except KeyboardInterrupt:
|
|
261
|
+
print("\nDeployment cancelled by user", file=sys.stderr)
|
|
262
|
+
sys.exit(130)
|
|
263
|
+
except Exception as e:
|
|
264
|
+
print(f"Unexpected error: {e}", file=sys.stderr)
|
|
265
|
+
sys.exit(1)
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
if __name__ == "__main__":
|
|
269
|
+
main()
|