cokit-cli 1.0.8 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.FLOW.md +11 -11
- package/README.md +113 -153
- package/agents/code-reviewer.agent.md +12 -4
- package/agents/code-simplifier.agent.md +43 -0
- package/agents/fullstack-developer.agent.md +14 -58
- package/agents/tester.agent.md +13 -2
- package/agents/ui-ux-designer.agent.md +36 -203
- package/collections/ck-core.collection.yml +1 -3
- package/collections/ck-development-rules.collection.yml +1 -1
- package/collections/ck-documentation.collection.yml +1 -5
- package/collections/ck-git-workflow.collection.yml +1 -7
- package/collections/ck-orchestration.collection.yml +0 -6
- package/docs/README.md +62 -72
- package/docs/code-standards.md +68 -0
- package/docs/codebase-summary.md +263 -0
- package/docs/cokit-commands-usage-guide.md +139 -0
- package/docs/cokit-comprehensive-mapping-guide.md +220 -796
- package/docs/cokit-instruction-guide.html +3004 -0
- package/docs/cokit-slides.md +49 -42
- package/docs/cokit-sync-and-maintenance-guide.md +414 -0
- package/docs/cokit-team-presentation.md +101 -64
- package/docs/copilot-processing-flow.md +133 -46
- package/docs/guide-next-steps-speckit-cokit-implementation.md +187 -0
- package/docs/images/cokit-command-finder-final.png +0 -0
- package/docs/images/cokit-highlight-fix.png +0 -0
- package/docs/images/cokit-highlight-test.png +0 -0
- package/docs/migration-guide.md +33 -20
- package/docs/project-overview-pdr.md +45 -0
- package/docs/project-roadmap.md +85 -34
- package/docs/system-architecture.md +81 -0
- package/instructions/ck-backend.instructions.md +2 -2
- package/instructions/ck-development.instructions.md +2 -2
- package/instructions/ck-frontend.instructions.md +2 -2
- package/instructions/ck-testing.instructions.md +2 -2
- package/package.json +35 -6
- package/prompts/ck-ask.prompt.md +18 -9
- package/prompts/ck-bootstrap.prompt.md +37 -26
- package/prompts/ck-brainstorm.prompt.md +51 -70
- package/prompts/ck-cook.prompt.md +87 -89
- package/prompts/ck-debug.prompt.md +108 -8
- package/prompts/ck-docs.prompt.md +101 -0
- package/prompts/ck-fix.prompt.md +20 -12
- package/prompts/ck-git.prompt.md +104 -0
- package/prompts/ck-help.prompt.md +140 -0
- package/prompts/ck-journal.prompt.md +17 -0
- package/prompts/ck-plan-fast.prompt.md +27 -45
- package/prompts/ck-plan-hard.prompt.md +39 -52
- package/prompts/ck-plan.prompt.md +16 -58
- package/prompts/ck-preview.prompt.md +47 -19
- package/prompts/ck-review.prompt.md +59 -0
- package/prompts/ck-scout.prompt.md +84 -25
- package/prompts/ck-simplify.prompt.md +46 -0
- package/prompts/ck-spec-analyze.prompt.md +203 -0
- package/prompts/ck-spec-checklist.prompt.md +310 -0
- package/prompts/ck-spec-clarify.prompt.md +197 -0
- package/prompts/ck-spec-constitution.prompt.md +97 -0
- package/prompts/ck-spec-implement.prompt.md +160 -0
- package/prompts/ck-spec-plan.prompt.md +108 -0
- package/prompts/ck-spec-specify.prompt.md +270 -0
- package/prompts/ck-spec-tasks.prompt.md +193 -0
- package/prompts/ck-spec-taskstoissues.prompt.md +48 -0
- package/prompts/ck-test.prompt.md +13 -4
- package/prompts/ck-watzup.prompt.md +10 -2
- package/skills/INSTALLATION.md +311 -0
- package/skills/README.md +134 -0
- package/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/skills/agent-browser/SKILL.md +292 -0
- package/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/skills/agent_skills_spec.md +55 -0
- package/skills/backend-development/SKILL.md +96 -0
- package/skills/backend-development/references/backend-api-design.md +697 -0
- package/skills/backend-development/references/backend-authentication.md +433 -0
- package/skills/backend-development/references/backend-security.md +340 -0
- package/skills/backend-development/references/backend-technologies.md +300 -0
- package/skills/backend-development/references/backend-testing.md +484 -0
- package/skills/brainstorm/SKILL.md +76 -0
- package/skills/code-review/SKILL.md +143 -0
- package/skills/code-review/references/code-review-reception.md +209 -0
- package/skills/code-review/references/requesting-code-review.md +105 -0
- package/skills/code-review/references/verification-before-completion.md +139 -0
- package/skills/common/README.md +120 -0
- package/skills/common/api_key_helper.py +411 -0
- package/skills/common/api_key_rotator.py +248 -0
- package/skills/context-engineering/SKILL.md +107 -0
- package/skills/context-engineering/references/context-compression.md +84 -0
- package/skills/context-engineering/references/context-degradation.md +93 -0
- package/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/skills/context-engineering/references/context-optimization.md +82 -0
- package/skills/context-engineering/references/evaluation.md +89 -0
- package/skills/context-engineering/references/memory-systems.md +88 -0
- package/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/skills/context-engineering/references/project-development.md +97 -0
- package/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/skills/context-engineering/references/tool-design.md +86 -0
- package/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/skills/cook/README.md +86 -0
- package/skills/cook/SKILL.md +94 -0
- package/skills/cook/references/intent-detection.md +101 -0
- package/skills/cook/references/review-cycle.md +75 -0
- package/skills/cook/references/subagent-patterns.md +75 -0
- package/skills/cook/references/workflow-steps.md +140 -0
- package/skills/databases/SKILL.md +112 -0
- package/skills/databases/analytics.md +198 -0
- package/skills/databases/db-design.md +188 -0
- package/skills/databases/incremental-etl.md +213 -0
- package/skills/{ck-databases → databases}/scripts/db_backup.py +0 -0
- package/skills/databases/scripts/db_migrate.py +426 -0
- package/skills/databases/scripts/db_performance_check.py +457 -0
- package/skills/databases/stacks/bigquery.md +231 -0
- package/skills/databases/stacks/d1_cloudflare.md +137 -0
- package/skills/databases/stacks/mysql.md +216 -0
- package/skills/databases/stacks/postgres.md +235 -0
- package/skills/databases/stacks/sqlite.md +244 -0
- package/skills/databases/transactional.md +176 -0
- package/skills/debug/SKILL.md +84 -0
- package/skills/devops/SKILL.md +104 -0
- package/skills/devops/references/kubernetes-basics.md +99 -0
- package/skills/devops/references/kubernetes-helm-advanced.md +75 -0
- package/skills/devops/references/kubernetes-helm.md +81 -0
- package/skills/devops/references/kubernetes-kubectl.md +74 -0
- package/skills/devops/references/kubernetes-security-advanced.md +98 -0
- package/skills/devops/references/kubernetes-security.md +95 -0
- package/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
- package/skills/devops/references/kubernetes-troubleshooting.md +49 -0
- package/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
- package/skills/devops/references/kubernetes-workflows.md +78 -0
- package/skills/{ck-devops → devops}/scripts/cloudflare_deploy.py +0 -0
- package/skills/devops/scripts/docker_optimize.py +332 -0
- package/skills/docs-seeker/SKILL.md +97 -0
- package/skills/docs-seeker/references/context7-patterns.md +64 -0
- package/skills/{ck-docs-seeker → docs-seeker}/scripts/analyze-llms-txt.js +0 -0
- package/skills/{ck-docs-seeker → docs-seeker}/scripts/detect-topic.js +0 -0
- package/skills/docs-seeker/scripts/fetch-docs.js +214 -0
- package/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/skills/docs-seeker/workflows/library-search.md +86 -0
- package/skills/fix/SKILL.md +101 -0
- package/skills/fix/references/complexity-assessment.md +61 -0
- package/skills/fix/references/mode-selection.md +46 -0
- package/skills/fix/references/parallel-exploration.md +77 -0
- package/skills/fix/references/review-cycle.md +77 -0
- package/skills/fix/references/skill-activation-matrix.md +65 -0
- package/skills/fix/references/workflow-ci.md +28 -0
- package/skills/fix/references/workflow-deep.md +91 -0
- package/skills/fix/references/workflow-logs.md +36 -0
- package/skills/fix/references/workflow-quick.md +59 -0
- package/skills/fix/references/workflow-standard.md +86 -0
- package/skills/fix/references/workflow-test.md +36 -0
- package/skills/fix/references/workflow-types.md +33 -0
- package/skills/fix/references/workflow-ui.md +34 -0
- package/skills/frontend-design/SKILL.md +75 -0
- package/skills/frontend-design/references/animejs.md +396 -0
- package/skills/frontend-design/references/asset-generation.md +161 -0
- package/skills/frontend-design/references/visual-analysis-overview.md +95 -0
- package/skills/frontend-design/references/workflow-describe.md +86 -0
- package/skills/frontend-design/references/workflow-quick.md +54 -0
- package/skills/frontend-design/references/workflow-screenshot.md +62 -0
- package/skills/git/SKILL.md +100 -0
- package/skills/git/references/branch-management.md +88 -0
- package/skills/git/references/commit-standards.md +46 -0
- package/skills/git/references/gh-cli-guide.md +109 -0
- package/skills/git/references/safety-protocols.md +69 -0
- package/skills/git/references/workflow-commit.md +58 -0
- package/skills/git/references/workflow-merge.md +48 -0
- package/skills/git/references/workflow-pr.md +58 -0
- package/skills/git/references/workflow-push.md +52 -0
- package/skills/install.ps1 +1247 -0
- package/skills/install.sh +1300 -0
- package/skills/mcp-management/README.md +219 -0
- package/skills/mcp-management/SKILL.md +209 -0
- package/skills/mcp-management/references/configuration.md +114 -0
- package/skills/mcp-management/references/gemini-cli-integration.md +221 -0
- package/skills/{ck-mcp-management → mcp-management}/scripts/cli.ts +0 -0
- package/skills/{ck-mcp-management → mcp-management}/scripts/dist/analyze-tools.js +0 -0
- package/skills/{ck-mcp-management → mcp-management}/scripts/dist/cli.js +0 -0
- package/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/mermaidjs-v11/SKILL.md +115 -0
- package/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/skills/mermaidjs-v11/references/examples.md +344 -0
- package/skills/mermaidjs-v11/references/integration.md +310 -0
- package/skills/planning/SKILL.md +132 -0
- package/skills/planning/references/output-standards.md +141 -0
- package/skills/planning/references/plan-organization.md +160 -0
- package/skills/problem-solving/SKILL.md +96 -0
- package/skills/repomix/SKILL.md +247 -0
- package/skills/repomix/references/usage-patterns.md +232 -0
- package/skills/repomix/scripts/README.md +179 -0
- package/skills/repomix/scripts/repomix_batch.py +455 -0
- package/skills/research/SKILL.md +170 -0
- package/skills/scout/SKILL.md +79 -0
- package/skills/scout/references/external-scouting.md +140 -0
- package/skills/scout/references/internal-scouting.md +119 -0
- package/skills/sequential-thinking/SKILL.md +94 -0
- package/skills/{ck-sequential-thinking → sequential-thinking}/scripts/format-thought.js +0 -0
- package/skills/{ck-sequential-thinking → sequential-thinking}/scripts/process-thought.js +0 -0
- package/skills/ui-styling/SKILL.md +321 -0
- package/skills/{ck-ui-styling → ui-styling}/scripts/shadcn_add.py +0 -0
- package/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/web-testing/SKILL.md +96 -0
- package/skills/web-testing/references/accessibility-testing.md +84 -0
- package/skills/web-testing/references/api-testing.md +78 -0
- package/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
- package/skills/web-testing/references/component-testing.md +94 -0
- package/skills/web-testing/references/contract-testing.md +146 -0
- package/skills/web-testing/references/cross-browser-checklist.md +72 -0
- package/skills/web-testing/references/database-testing.md +139 -0
- package/skills/web-testing/references/e2e-testing-playwright.md +119 -0
- package/skills/web-testing/references/functional-testing-checklist.md +88 -0
- package/skills/web-testing/references/interactive-testing-patterns.md +89 -0
- package/skills/web-testing/references/load-testing-k6.md +93 -0
- package/skills/web-testing/references/mobile-gesture-testing.md +85 -0
- package/skills/web-testing/references/performance-core-web-vitals.md +124 -0
- package/skills/web-testing/references/playwright-component-testing.md +115 -0
- package/skills/web-testing/references/pre-release-checklist.md +75 -0
- package/skills/web-testing/references/security-checklists.md +81 -0
- package/skills/web-testing/references/security-testing-overview.md +92 -0
- package/skills/web-testing/references/shadow-dom-testing.md +70 -0
- package/skills/web-testing/references/test-data-management.md +131 -0
- package/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
- package/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
- package/skills/web-testing/references/unit-integration-testing.md +138 -0
- package/skills/web-testing/references/visual-regression.md +92 -0
- package/skills/web-testing/references/vulnerability-payloads.md +93 -0
- package/skills/web-testing/scripts/analyze-test-results.js +280 -0
- package/skills/web-testing/scripts/init-playwright.js +233 -0
- package/src/commands/init.js +1 -1
- package/templates/repo/.github/AGENTS.md +89 -41
- package/templates/repo/.github/agents/code-reviewer.agent.md +12 -4
- package/templates/repo/.github/agents/code-simplifier.agent.md +43 -0
- package/templates/repo/.github/agents/fullstack-developer.agent.md +14 -58
- package/templates/repo/.github/agents/tester.agent.md +13 -2
- package/templates/repo/.github/agents/ui-ux-designer.agent.md +36 -203
- package/templates/repo/.github/collections/ck-core.collection.yml +1 -3
- package/templates/repo/.github/collections/ck-development-rules.collection.yml +1 -1
- package/templates/repo/.github/collections/ck-documentation.collection.yml +1 -5
- package/templates/repo/.github/collections/ck-git-workflow.collection.yml +1 -7
- package/templates/repo/.github/collections/ck-orchestration.collection.yml +0 -6
- package/templates/repo/.github/instructions/ck-backend.instructions.md +2 -2
- package/templates/repo/.github/instructions/ck-development.instructions.md +2 -2
- package/templates/repo/.github/instructions/ck-frontend.instructions.md +2 -2
- package/templates/repo/.github/instructions/ck-testing.instructions.md +2 -2
- package/templates/repo/.github/prompts/ck-ask.prompt.md +18 -9
- package/templates/repo/.github/prompts/ck-bootstrap.prompt.md +37 -26
- package/templates/repo/.github/prompts/ck-brainstorm.prompt.md +51 -70
- package/templates/repo/.github/prompts/ck-cook.prompt.md +87 -89
- package/templates/repo/.github/prompts/ck-debug.prompt.md +108 -8
- package/templates/repo/.github/prompts/ck-docs.prompt.md +101 -0
- package/templates/repo/.github/prompts/ck-fix.prompt.md +20 -12
- package/templates/repo/.github/prompts/ck-git.prompt.md +104 -0
- package/templates/repo/.github/prompts/ck-help.prompt.md +140 -0
- package/templates/repo/.github/prompts/ck-journal.prompt.md +17 -0
- package/templates/repo/.github/prompts/ck-plan-fast.prompt.md +27 -45
- package/templates/repo/.github/prompts/ck-plan-hard.prompt.md +39 -52
- package/templates/repo/.github/prompts/ck-plan.prompt.md +16 -58
- package/templates/repo/.github/prompts/ck-preview.prompt.md +47 -19
- package/templates/repo/.github/prompts/ck-review.prompt.md +59 -0
- package/templates/repo/.github/prompts/ck-scout.prompt.md +84 -25
- package/templates/repo/.github/prompts/ck-simplify.prompt.md +46 -0
- package/templates/repo/.github/prompts/ck-spec-analyze.prompt.md +203 -0
- package/templates/repo/.github/prompts/ck-spec-checklist.prompt.md +310 -0
- package/templates/repo/.github/prompts/ck-spec-clarify.prompt.md +197 -0
- package/templates/repo/.github/prompts/ck-spec-constitution.prompt.md +97 -0
- package/templates/repo/.github/prompts/ck-spec-implement.prompt.md +160 -0
- package/templates/repo/.github/prompts/ck-spec-plan.prompt.md +108 -0
- package/templates/repo/.github/prompts/ck-spec-specify.prompt.md +270 -0
- package/templates/repo/.github/prompts/ck-spec-tasks.prompt.md +193 -0
- package/templates/repo/.github/prompts/ck-spec-taskstoissues.prompt.md +48 -0
- package/templates/repo/.github/prompts/ck-test.prompt.md +13 -4
- package/templates/repo/.github/prompts/ck-watzup.prompt.md +10 -2
- package/templates/repo/.github/skills/INSTALLATION.md +311 -0
- package/templates/repo/.github/skills/README.md +134 -0
- package/templates/repo/.github/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/templates/repo/.github/skills/agent-browser/SKILL.md +292 -0
- package/templates/repo/.github/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/templates/repo/.github/skills/agent_skills_spec.md +55 -0
- package/templates/repo/.github/skills/backend-development/SKILL.md +96 -0
- package/templates/repo/.github/skills/backend-development/references/backend-api-design.md +697 -0
- package/templates/repo/.github/skills/backend-development/references/backend-authentication.md +433 -0
- package/templates/repo/.github/skills/backend-development/references/backend-security.md +340 -0
- package/templates/repo/.github/skills/backend-development/references/backend-technologies.md +300 -0
- package/templates/repo/.github/skills/backend-development/references/backend-testing.md +484 -0
- package/templates/repo/.github/skills/brainstorm/SKILL.md +76 -0
- package/templates/repo/.github/skills/code-review/SKILL.md +143 -0
- package/templates/repo/.github/skills/common/README.md +120 -0
- package/templates/repo/.github/skills/common/api_key_helper.py +411 -0
- package/templates/repo/.github/skills/common/api_key_rotator.py +248 -0
- package/templates/repo/.github/skills/context-engineering/SKILL.md +107 -0
- package/templates/repo/.github/skills/context-engineering/references/context-compression.md +84 -0
- package/templates/repo/.github/skills/context-engineering/references/context-degradation.md +93 -0
- package/templates/repo/.github/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/templates/repo/.github/skills/context-engineering/references/context-optimization.md +82 -0
- package/templates/repo/.github/skills/context-engineering/references/evaluation.md +89 -0
- package/templates/repo/.github/skills/context-engineering/references/memory-systems.md +88 -0
- package/templates/repo/.github/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/templates/repo/.github/skills/context-engineering/references/project-development.md +97 -0
- package/templates/repo/.github/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/templates/repo/.github/skills/context-engineering/references/tool-design.md +86 -0
- package/templates/repo/.github/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/templates/repo/.github/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/templates/repo/.github/skills/cook/README.md +86 -0
- package/templates/repo/.github/skills/cook/SKILL.md +94 -0
- package/templates/repo/.github/skills/cook/references/intent-detection.md +101 -0
- package/templates/repo/.github/skills/cook/references/review-cycle.md +75 -0
- package/templates/repo/.github/skills/cook/references/subagent-patterns.md +75 -0
- package/templates/repo/.github/skills/cook/references/workflow-steps.md +140 -0
- package/templates/repo/.github/skills/databases/SKILL.md +112 -0
- package/templates/repo/.github/skills/databases/analytics.md +198 -0
- package/templates/repo/.github/skills/databases/db-design.md +188 -0
- package/templates/repo/.github/skills/databases/incremental-etl.md +213 -0
- package/templates/repo/.github/skills/databases/scripts/db_migrate.py +426 -0
- package/templates/repo/.github/skills/databases/scripts/db_performance_check.py +457 -0
- package/templates/repo/.github/skills/databases/stacks/bigquery.md +231 -0
- package/templates/repo/.github/skills/databases/stacks/d1_cloudflare.md +137 -0
- package/templates/repo/.github/skills/databases/stacks/mysql.md +216 -0
- package/templates/repo/.github/skills/databases/stacks/postgres.md +235 -0
- package/templates/repo/.github/skills/databases/stacks/sqlite.md +244 -0
- package/templates/repo/.github/skills/databases/transactional.md +176 -0
- package/templates/repo/.github/skills/debug/SKILL.md +84 -0
- package/templates/repo/.github/skills/devops/SKILL.md +104 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-basics.md +99 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-helm-advanced.md +75 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-helm.md +81 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-kubectl.md +74 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-security-advanced.md +98 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-security.md +95 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-troubleshooting.md +49 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
- package/templates/repo/.github/skills/devops/references/kubernetes-workflows.md +78 -0
- package/templates/repo/.github/skills/devops/scripts/docker_optimize.py +332 -0
- package/templates/repo/.github/skills/docs-seeker/SKILL.md +97 -0
- package/templates/repo/.github/skills/docs-seeker/references/context7-patterns.md +64 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/fetch-docs.js +214 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/templates/repo/.github/skills/docs-seeker/workflows/library-search.md +86 -0
- package/templates/repo/.github/skills/fix/SKILL.md +101 -0
- package/templates/repo/.github/skills/fix/references/complexity-assessment.md +61 -0
- package/templates/repo/.github/skills/fix/references/mode-selection.md +46 -0
- package/templates/repo/.github/skills/fix/references/parallel-exploration.md +77 -0
- package/templates/repo/.github/skills/fix/references/review-cycle.md +77 -0
- package/templates/repo/.github/skills/fix/references/skill-activation-matrix.md +65 -0
- package/templates/repo/.github/skills/fix/references/workflow-ci.md +28 -0
- package/templates/repo/.github/skills/fix/references/workflow-deep.md +91 -0
- package/templates/repo/.github/skills/fix/references/workflow-logs.md +36 -0
- package/templates/repo/.github/skills/fix/references/workflow-quick.md +59 -0
- package/templates/repo/.github/skills/fix/references/workflow-standard.md +86 -0
- package/templates/repo/.github/skills/fix/references/workflow-test.md +36 -0
- package/templates/repo/.github/skills/fix/references/workflow-types.md +33 -0
- package/templates/repo/.github/skills/fix/references/workflow-ui.md +34 -0
- package/templates/repo/.github/skills/frontend-design/SKILL.md +75 -0
- package/templates/repo/.github/skills/frontend-design/references/asset-generation.md +161 -0
- package/templates/repo/.github/skills/frontend-design/references/visual-analysis-overview.md +95 -0
- package/templates/repo/.github/skills/frontend-design/references/workflow-describe.md +86 -0
- package/templates/repo/.github/skills/frontend-design/references/workflow-quick.md +54 -0
- package/templates/repo/.github/skills/frontend-design/references/workflow-screenshot.md +62 -0
- package/templates/repo/.github/skills/git/SKILL.md +100 -0
- package/templates/repo/.github/skills/git/references/branch-management.md +88 -0
- package/templates/repo/.github/skills/git/references/commit-standards.md +46 -0
- package/templates/repo/.github/skills/git/references/gh-cli-guide.md +109 -0
- package/templates/repo/.github/skills/git/references/safety-protocols.md +69 -0
- package/templates/repo/.github/skills/git/references/workflow-commit.md +58 -0
- package/templates/repo/.github/skills/git/references/workflow-merge.md +48 -0
- package/templates/repo/.github/skills/git/references/workflow-pr.md +58 -0
- package/templates/repo/.github/skills/git/references/workflow-push.md +52 -0
- package/templates/repo/.github/skills/install.ps1 +1247 -0
- package/templates/repo/.github/skills/install.sh +1300 -0
- package/templates/repo/.github/skills/mcp-management/README.md +219 -0
- package/templates/repo/.github/skills/mcp-management/SKILL.md +209 -0
- package/templates/repo/.github/skills/mcp-management/references/configuration.md +114 -0
- package/templates/repo/.github/skills/mcp-management/references/gemini-cli-integration.md +221 -0
- package/templates/repo/.github/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/templates/repo/.github/skills/mcp-management/scripts/mcp-client.ts +230 -0
- package/templates/repo/.github/skills/mermaidjs-v11/SKILL.md +115 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/examples.md +344 -0
- package/templates/repo/.github/skills/mermaidjs-v11/references/integration.md +310 -0
- package/templates/repo/.github/skills/planning/SKILL.md +132 -0
- package/templates/repo/.github/skills/planning/references/output-standards.md +141 -0
- package/templates/repo/.github/skills/planning/references/plan-organization.md +160 -0
- package/templates/repo/.github/skills/problem-solving/SKILL.md +96 -0
- package/templates/repo/.github/skills/repomix/SKILL.md +247 -0
- package/templates/repo/.github/skills/repomix/references/usage-patterns.md +232 -0
- package/templates/repo/.github/skills/repomix/scripts/README.md +179 -0
- package/templates/repo/.github/skills/repomix/scripts/repomix_batch.py +455 -0
- package/templates/repo/.github/skills/research/SKILL.md +170 -0
- package/templates/repo/.github/skills/scout/SKILL.md +79 -0
- package/templates/repo/.github/skills/scout/references/external-scouting.md +140 -0
- package/templates/repo/.github/skills/scout/references/internal-scouting.md +119 -0
- package/templates/repo/.github/skills/sequential-thinking/SKILL.md +94 -0
- package/templates/repo/.github/skills/ui-styling/SKILL.md +321 -0
- package/templates/repo/.github/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/templates/repo/.github/skills/web-testing/SKILL.md +96 -0
- package/templates/repo/.github/skills/web-testing/references/accessibility-testing.md +84 -0
- package/templates/repo/.github/skills/web-testing/references/api-testing.md +78 -0
- package/templates/repo/.github/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
- package/templates/repo/.github/skills/web-testing/references/component-testing.md +94 -0
- package/templates/repo/.github/skills/web-testing/references/contract-testing.md +146 -0
- package/templates/repo/.github/skills/web-testing/references/cross-browser-checklist.md +72 -0
- package/templates/repo/.github/skills/web-testing/references/database-testing.md +139 -0
- package/templates/repo/.github/skills/web-testing/references/e2e-testing-playwright.md +119 -0
- package/templates/repo/.github/skills/web-testing/references/functional-testing-checklist.md +88 -0
- package/templates/repo/.github/skills/web-testing/references/interactive-testing-patterns.md +89 -0
- package/templates/repo/.github/skills/web-testing/references/load-testing-k6.md +93 -0
- package/templates/repo/.github/skills/web-testing/references/mobile-gesture-testing.md +85 -0
- package/templates/repo/.github/skills/web-testing/references/performance-core-web-vitals.md +124 -0
- package/templates/repo/.github/skills/web-testing/references/playwright-component-testing.md +115 -0
- package/templates/repo/.github/skills/web-testing/references/pre-release-checklist.md +75 -0
- package/templates/repo/.github/skills/web-testing/references/security-checklists.md +81 -0
- package/templates/repo/.github/skills/web-testing/references/security-testing-overview.md +92 -0
- package/templates/repo/.github/skills/web-testing/references/shadow-dom-testing.md +70 -0
- package/templates/repo/.github/skills/web-testing/references/test-data-management.md +131 -0
- package/templates/repo/.github/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
- package/templates/repo/.github/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
- package/templates/repo/.github/skills/web-testing/references/unit-integration-testing.md +138 -0
- package/templates/repo/.github/skills/web-testing/references/visual-regression.md +92 -0
- package/templates/repo/.github/skills/web-testing/references/vulnerability-payloads.md +93 -0
- package/templates/repo/.github/skills/web-testing/scripts/analyze-test-results.js +280 -0
- package/templates/repo/.github/skills/web-testing/scripts/init-playwright.js +233 -0
- package/templates/repo/.github/spec-kit/memory/constitution.md +50 -0
- package/templates/repo/.github/spec-kit/scripts/bash/check-prerequisites.sh +166 -0
- package/templates/repo/.github/spec-kit/scripts/bash/common.sh +156 -0
- package/templates/repo/.github/spec-kit/scripts/bash/create-new-feature.sh +297 -0
- package/templates/repo/.github/spec-kit/scripts/bash/setup-plan.sh +61 -0
- package/templates/repo/.github/spec-kit/scripts/bash/update-agent-context.sh +799 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/check-prerequisites.ps1 +148 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/common.ps1 +137 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/create-new-feature.ps1 +283 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/setup-plan.ps1 +61 -0
- package/templates/repo/.github/spec-kit/scripts/powershell/update-agent-context.ps1 +448 -0
- package/templates/repo/.github/spec-kit/templates/agent-file-template.md +28 -0
- package/templates/repo/.github/spec-kit/templates/checklist-template.md +40 -0
- package/templates/repo/.github/spec-kit/templates/commands/analyze.md +187 -0
- package/templates/repo/.github/spec-kit/templates/commands/checklist.md +297 -0
- package/templates/repo/.github/spec-kit/templates/commands/clarify.md +184 -0
- package/templates/repo/.github/spec-kit/templates/commands/constitution.md +82 -0
- package/templates/repo/.github/spec-kit/templates/commands/implement.md +138 -0
- package/templates/repo/.github/spec-kit/templates/commands/plan.md +95 -0
- package/templates/repo/.github/spec-kit/templates/commands/specify.md +261 -0
- package/templates/repo/.github/spec-kit/templates/commands/tasks.md +140 -0
- package/templates/repo/.github/spec-kit/templates/commands/taskstoissues.md +33 -0
- package/templates/repo/.github/spec-kit/templates/plan-template.md +104 -0
- package/templates/repo/.github/spec-kit/templates/spec-template.md +115 -0
- package/templates/repo/.github/spec-kit/templates/tasks-phase-template.md +42 -0
- package/templates/repo/.github/spec-kit/templates/tasks-template.md +268 -0
- package/templates/repo/.github/spec-kit/templates/vscode-settings.json +14 -0
- package/.vscode/settings.json +0 -70
- package/AGENTS.md +0 -103
- package/FAQ.md +0 -102
- package/INIT.md +0 -154
- package/QUICK-START.md +0 -37
- package/agents/database-admin.agent.md +0 -91
- package/agents/mcp-manager.agent.md +0 -93
- package/agents/project-manager.agent.md +0 -124
- package/agents/scout-external.agent.md +0 -141
- package/collections/ck-ui-design.collection.yml +0 -18
- package/instructions/ck-frontend-design-pro.instructions.md +0 -58
- package/instructions/ck-google-adk-python.instructions.md +0 -242
- package/plans/260106-1102-cokit-implementation/phases/phase-01-cli-tool.md +0 -151
- package/plans/260106-1102-cokit-implementation/phases/phase-02-repo-level-templates.md +0 -198
- package/plans/260106-1102-cokit-implementation/phases/phase-03-user-level-skills.md +0 -219
- package/plans/260106-1102-cokit-implementation/phases/phase-04-prompt-files.md +0 -328
- package/plans/260106-1102-cokit-implementation/phases/phase-05-documentation.md +0 -166
- package/plans/260106-1102-cokit-implementation/plan.md +0 -130
- package/plans/260106-1102-cokit-implementation/research/researcher-01-copilot-skills-spec.md +0 -182
- package/plans/260106-1102-cokit-implementation/research/researcher-02-copilot-instructions-prompts.md +0 -201
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-01-restructure-folders.md +0 -183
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-02-convert-agents.md +0 -206
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-03-convert-commands-to-prompts.md +0 -284
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-04-convert-skills-to-instructions.md +0 -349
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-05-create-collections.md +0 -320
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-06-update-cli-build-scripts.md +0 -450
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-07-update-documentation.md +0 -407
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/plan.md +0 -136
- package/plans/reports/code-reviewer-260106-1718-phase2-repo-templates.md +0 -184
- package/plans/reports/code-reviewer-260106-1728-phase3-review.md +0 -486
- package/plans/reports/code-reviewer-260106-1742-phase4-prompts.md +0 -235
- package/plans/reports/code-reviewer-260106-1753-phase5-docs.md +0 -275
- package/plans/reports/docs-manager-260106-1217-phase1-completion.md +0 -45
- package/plans/reports/docs-manager-260106-1734-phase3-skills.md +0 -108
- package/plans/reports/docs-manager-260106-1746-phase4-prompt-files.md +0 -75
- package/plans/reports/project-manager-260106-1734-SUMMARY.md +0 -354
- package/plans/reports/project-manager-260106-1734-phase3-completion.md +0 -257
- package/plans/reports/project-manager-260106-1734-phase3-to-phase4-transition.md +0 -274
- package/plans/reports/project-manager-260106-1734-phase4-kickoff.md +0 -343
- package/plans/reports/project-manager-260106-1734-project-status.md +0 -355
- package/plans/reports/project-manager-260106-1746-phase4-completion.md +0 -249
- package/plans/reports/project-manager-260106-1746-phase4-deliverables.md +0 -350
- package/plans/reports/project-manager-260106-1804-project-complete.md +0 -297
- package/plans/reports/tester-260106-1717-phase2-templates.md +0 -216
- package/plans/reports/tester-260106-1726-phase3-user-skills.md +0 -256
- package/plans/reports/tester-260106-1741-phase4-prompts.md +0 -202
- package/plans/reports/tester-260106-1751-phase5-docs.md +0 -301
- package/prompts/ck-bootstrap-auto-fast.prompt.md +0 -108
- package/prompts/ck-bootstrap-auto-parallel.prompt.md +0 -66
- package/prompts/ck-bootstrap-auto.prompt.md +0 -114
- package/prompts/ck-ck-help.prompt.md +0 -114
- package/prompts/ck-code-auto.prompt.md +0 -172
- package/prompts/ck-code-no-test.prompt.md +0 -160
- package/prompts/ck-code-parallel.prompt.md +0 -57
- package/prompts/ck-code.prompt.md +0 -178
- package/prompts/ck-coding-level.prompt.md +0 -54
- package/prompts/ck-cook-auto-fast.prompt.md +0 -26
- package/prompts/ck-cook-auto-parallel.prompt.md +0 -50
- package/prompts/ck-cook-auto.prompt.md +0 -17
- package/prompts/ck-design-3d.prompt.md +0 -84
- package/prompts/ck-design-describe.prompt.md +0 -24
- package/prompts/ck-design-fast.prompt.md +0 -32
- package/prompts/ck-design-good.prompt.md +0 -36
- package/prompts/ck-design-screenshot.prompt.md +0 -35
- package/prompts/ck-design-video.prompt.md +0 -35
- package/prompts/ck-docs-init.prompt.md +0 -27
- package/prompts/ck-docs-summarize.prompt.md +0 -23
- package/prompts/ck-docs-update.prompt.md +0 -36
- package/prompts/ck-fix-ci.prompt.md +0 -18
- package/prompts/ck-fix-fast.prompt.md +0 -18
- package/prompts/ck-fix-hard.prompt.md +0 -36
- package/prompts/ck-fix-logs.prompt.md +0 -27
- package/prompts/ck-fix-parallel.prompt.md +0 -54
- package/prompts/ck-fix-test.prompt.md +0 -19
- package/prompts/ck-fix-types.prompt.md +0 -11
- package/prompts/ck-fix-ui.prompt.md +0 -49
- package/prompts/ck-git-cm.prompt.md +0 -8
- package/prompts/ck-git-cp.prompt.md +0 -7
- package/prompts/ck-git-merge.prompt.md +0 -41
- package/prompts/ck-git-pr.prompt.md +0 -49
- package/prompts/ck-kanban.prompt.md +0 -77
- package/prompts/ck-plan-archive.prompt.md +0 -57
- package/prompts/ck-plan-ci.prompt.md +0 -35
- package/prompts/ck-plan-cro.prompt.md +0 -66
- package/prompts/ck-plan-parallel.prompt.md +0 -159
- package/prompts/ck-plan-two.prompt.md +0 -78
- package/prompts/ck-plan-validate.prompt.md +0 -117
- package/prompts/ck-review-codebase.prompt.md +0 -44
- package/prompts/ck-scout-ext.prompt.md +0 -35
- package/prompts/ck-skill-add.prompt.md +0 -36
- package/prompts/ck-skill-create.prompt.md +0 -29
- package/prompts/ck-skill-fix-logs.prompt.md +0 -22
- package/prompts/ck-skill-optimize-auto.prompt.md +0 -25
- package/prompts/ck-skill-optimize.prompt.md +0 -34
- package/prompts/ck-skill-plan.prompt.md +0 -46
- package/prompts/ck-test-ui.prompt.md +0 -92
- package/prompts/ck-use-mcp.prompt.md +0 -27
- package/prompts/ck-worktree.prompt.md +0 -127
- package/rules/README.agents.md +0 -55
- package/rules/README.collections.md +0 -78
- package/rules/README.copilot-instructions.md +0 -66
- package/rules/README.instructions.md +0 -73
- package/rules/README.md +0 -39
- package/rules/README.prompts.md +0 -76
- package/rules/README.skills.md +0 -71
- package/skills/ck-ai-artist/SKILL.md +0 -73
- package/skills/ck-ai-artist/references/advanced-techniques.md +0 -184
- package/skills/ck-ai-artist/references/domain-code.md +0 -66
- package/skills/ck-ai-artist/references/domain-data.md +0 -72
- package/skills/ck-ai-artist/references/domain-marketing.md +0 -66
- package/skills/ck-ai-artist/references/domain-patterns.md +0 -33
- package/skills/ck-ai-artist/references/domain-writing.md +0 -68
- package/skills/ck-ai-artist/references/image-prompting.md +0 -141
- package/skills/ck-ai-artist/references/llm-prompting.md +0 -165
- package/skills/ck-ai-artist/references/nano-banana.md +0 -59
- package/skills/ck-ai-artist/references/reasoning-techniques.md +0 -201
- package/skills/ck-backend-development/SKILL.md +0 -93
- package/skills/ck-backend-development/references/backend-api-design.md +0 -495
- package/skills/ck-backend-development/references/backend-authentication.md +0 -338
- package/skills/ck-backend-development/references/backend-security.md +0 -290
- package/skills/ck-backend-development/references/backend-technologies.md +0 -256
- package/skills/ck-backend-development/references/backend-testing.md +0 -429
- package/skills/ck-better-auth/SKILL.md +0 -202
- package/skills/ck-better-auth/references/advanced-features.md +0 -553
- package/skills/ck-better-auth/references/database-integration.md +0 -577
- package/skills/ck-better-auth/references/email-password-auth.md +0 -416
- package/skills/ck-better-auth/references/oauth-providers.md +0 -430
- package/skills/ck-better-auth/scripts/.coverage +0 -0
- package/skills/ck-better-auth/scripts/better_auth_init.py +0 -521
- package/skills/ck-better-auth/scripts/requirements.txt +0 -15
- package/skills/ck-better-auth/scripts/tests/.coverage +0 -0
- package/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +0 -421
- package/skills/ck-chrome-devtools/SKILL.md +0 -470
- package/skills/ck-chrome-devtools/references/cdp-domains.md +0 -694
- package/skills/ck-chrome-devtools/references/performance-guide.md +0 -940
- package/skills/ck-chrome-devtools/references/puppeteer-reference.md +0 -953
- package/skills/ck-chrome-devtools/scripts/README.md +0 -272
- package/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +0 -210
- package/skills/ck-chrome-devtools/scripts/aria-snapshot.js +0 -362
- package/skills/ck-chrome-devtools/scripts/click.js +0 -83
- package/skills/ck-chrome-devtools/scripts/console.js +0 -79
- package/skills/ck-chrome-devtools/scripts/evaluate.js +0 -53
- package/skills/ck-chrome-devtools/scripts/fill.js +0 -76
- package/skills/ck-chrome-devtools/scripts/inject-auth.js +0 -229
- package/skills/ck-chrome-devtools/scripts/install-deps.sh +0 -181
- package/skills/ck-chrome-devtools/scripts/install.sh +0 -83
- package/skills/ck-chrome-devtools/scripts/lib/browser.js +0 -318
- package/skills/ck-chrome-devtools/scripts/lib/selector.js +0 -178
- package/skills/ck-chrome-devtools/scripts/navigate.js +0 -54
- package/skills/ck-chrome-devtools/scripts/network.js +0 -106
- package/skills/ck-chrome-devtools/scripts/package-lock.json +0 -1589
- package/skills/ck-chrome-devtools/scripts/package.json +0 -16
- package/skills/ck-chrome-devtools/scripts/performance.js +0 -149
- package/skills/ck-chrome-devtools/scripts/screenshot.js +0 -198
- package/skills/ck-chrome-devtools/scripts/select-ref.js +0 -131
- package/skills/ck-chrome-devtools/scripts/snapshot.js +0 -135
- package/skills/ck-code-review/SKILL.md +0 -143
- package/skills/ck-databases/SKILL.md +0 -231
- package/skills/ck-databases/scripts/.coverage +0 -0
- package/skills/ck-databases/scripts/db_migrate.py +0 -425
- package/skills/ck-databases/scripts/db_performance_check.py +0 -456
- package/skills/ck-databases/scripts/tests/coverage-db.json +0 -1
- package/skills/ck-databases/scripts/tests/requirements.txt +0 -4
- package/skills/ck-databases/scripts/tests/test_db_backup.py +0 -340
- package/skills/ck-databases/scripts/tests/test_db_migrate.py +0 -277
- package/skills/ck-databases/scripts/tests/test_db_performance_check.py +0 -370
- package/skills/ck-debugging/SKILL.md +0 -82
- package/skills/ck-devops/SKILL.md +0 -283
- package/skills/ck-devops/scripts/docker_optimize.py +0 -331
- package/skills/ck-devops/scripts/tests/requirements.txt +0 -3
- package/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +0 -285
- package/skills/ck-devops/scripts/tests/test_docker_optimize.py +0 -436
- package/skills/ck-docs-seeker/SKILL.md +0 -96
- package/skills/ck-docs-seeker/references/context7-patterns.md +0 -68
- package/skills/ck-docs-seeker/references/search-patterns.md +0 -93
- package/skills/ck-docs-seeker/references/source-evaluation.md +0 -77
- package/skills/ck-docs-seeker/scripts/fetch-docs.js +0 -213
- package/skills/ck-docs-seeker/scripts/tests/run-tests.js +0 -72
- package/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +0 -119
- package/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +0 -112
- package/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +0 -84
- package/skills/ck-docs-seeker/scripts/utils/env-loader.js +0 -94
- package/skills/ck-docs-seeker/workflows/library-search.md +0 -87
- package/skills/ck-frontend-design/SKILL.md +0 -79
- package/skills/ck-frontend-design/references/visual-analysis-overview.md +0 -95
- package/skills/ck-frontend-development/SKILL.md +0 -399
- package/skills/ck-frontend-development/resources/common-patterns.md +0 -331
- package/skills/ck-frontend-development/resources/complete-examples.md +0 -872
- package/skills/ck-frontend-development/resources/component-patterns.md +0 -502
- package/skills/ck-frontend-development/resources/data-fetching.md +0 -767
- package/skills/ck-frontend-development/resources/file-organization.md +0 -502
- package/skills/ck-frontend-development/resources/loading-and-error-states.md +0 -501
- package/skills/ck-frontend-development/resources/performance.md +0 -406
- package/skills/ck-frontend-development/resources/routing-guide.md +0 -364
- package/skills/ck-frontend-development/resources/styling-guide.md +0 -428
- package/skills/ck-frontend-development/resources/typescript-standards.md +0 -418
- package/skills/ck-markdown-novel-viewer/SKILL.md +0 -190
- package/skills/ck-markdown-novel-viewer/assets/directory-browser.css +0 -215
- package/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
- package/skills/ck-markdown-novel-viewer/assets/novel-theme.css +0 -818
- package/skills/ck-markdown-novel-viewer/assets/reader.js +0 -262
- package/skills/ck-markdown-novel-viewer/assets/template.html +0 -80
- package/skills/ck-markdown-novel-viewer/package.json +0 -15
- package/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +0 -434
- package/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +0 -272
- package/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +0 -509
- package/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +0 -48
- package/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +0 -150
- package/skills/ck-markdown-novel-viewer/scripts/server.cjs +0 -411
- package/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +0 -283
- package/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +0 -340
- package/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +0 -404
- package/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +0 -271
- package/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +0 -51
- package/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +0 -154
- package/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +0 -90
- package/skills/ck-mcp-builder/SKILL.md +0 -327
- package/skills/ck-mcp-builder/reference/evaluation.md +0 -602
- package/skills/ck-mcp-builder/reference/mcp_best_practices.md +0 -915
- package/skills/ck-mcp-builder/reference/node_mcp_server.md +0 -916
- package/skills/ck-mcp-builder/reference/python_mcp_server.md +0 -752
- package/skills/ck-mcp-builder/scripts/connections.py +0 -151
- package/skills/ck-mcp-builder/scripts/evaluation.py +0 -373
- package/skills/ck-mcp-builder/scripts/example_evaluation.xml +0 -22
- package/skills/ck-mcp-builder/scripts/requirements.txt +0 -2
- package/skills/ck-mcp-management/README.md +0 -219
- package/skills/ck-mcp-management/SKILL.md +0 -209
- package/skills/ck-mcp-management/references/configuration.md +0 -114
- package/skills/ck-mcp-management/references/gemini-cli-integration.md +0 -215
- package/skills/ck-mcp-management/scripts/dist/mcp-client.js +0 -183
- package/skills/ck-mcp-management/scripts/mcp-client.ts +0 -230
- package/skills/ck-media-processing/SKILL.md +0 -90
- package/skills/ck-media-processing/references/common-workflows.md +0 -132
- package/skills/ck-media-processing/references/ffmpeg-encoding.md +0 -358
- package/skills/ck-media-processing/references/ffmpeg-filters.md +0 -503
- package/skills/ck-media-processing/references/ffmpeg-streaming.md +0 -403
- package/skills/ck-media-processing/references/format-compatibility.md +0 -375
- package/skills/ck-media-processing/references/imagemagick-batch.md +0 -612
- package/skills/ck-media-processing/references/imagemagick-editing.md +0 -623
- package/skills/ck-media-processing/references/rmbg-background-removal.md +0 -66
- package/skills/ck-media-processing/references/troubleshooting.md +0 -109
- package/skills/ck-media-processing/scripts/README.md +0 -111
- package/skills/ck-media-processing/scripts/batch-remove-background.sh +0 -124
- package/skills/ck-media-processing/scripts/batch_resize.py +0 -342
- package/skills/ck-media-processing/scripts/media_convert.py +0 -311
- package/skills/ck-media-processing/scripts/remove-background.sh +0 -96
- package/skills/ck-media-processing/scripts/remove-bg-node.js +0 -158
- package/skills/ck-media-processing/scripts/requirements.txt +0 -24
- package/skills/ck-media-processing/scripts/tests/.coverage +0 -0
- package/skills/ck-media-processing/scripts/tests/requirements.txt +0 -2
- package/skills/ck-media-processing/scripts/tests/test_batch_resize.py +0 -372
- package/skills/ck-media-processing/scripts/tests/test_media_convert.py +0 -259
- package/skills/ck-media-processing/scripts/tests/test_video_optimize.py +0 -397
- package/skills/ck-media-processing/scripts/video_optimize.py +0 -414
- package/skills/ck-mobile-development/SKILL.md +0 -210
- package/skills/ck-mobile-development/references/mobile-android.md +0 -604
- package/skills/ck-mobile-development/references/mobile-best-practices.md +0 -545
- package/skills/ck-mobile-development/references/mobile-debugging.md +0 -1089
- package/skills/ck-mobile-development/references/mobile-frameworks.md +0 -465
- package/skills/ck-mobile-development/references/mobile-ios.md +0 -496
- package/skills/ck-mobile-development/references/mobile-mindset.md +0 -544
- package/skills/ck-payment-integration/README.md +0 -185
- package/skills/ck-payment-integration/SKILL.md +0 -116
- package/skills/ck-payment-integration/references/polar/benefits.md +0 -396
- package/skills/ck-payment-integration/references/polar/best-practices.md +0 -482
- package/skills/ck-payment-integration/references/polar/checkouts.md +0 -266
- package/skills/ck-payment-integration/references/polar/overview.md +0 -184
- package/skills/ck-payment-integration/references/polar/products.md +0 -244
- package/skills/ck-payment-integration/references/polar/sdk.md +0 -436
- package/skills/ck-payment-integration/references/polar/subscriptions.md +0 -340
- package/skills/ck-payment-integration/references/polar/webhooks.md +0 -405
- package/skills/ck-payment-integration/references/sepay/api.md +0 -140
- package/skills/ck-payment-integration/references/sepay/best-practices.md +0 -337
- package/skills/ck-payment-integration/references/sepay/overview.md +0 -138
- package/skills/ck-payment-integration/references/sepay/qr-codes.md +0 -228
- package/skills/ck-payment-integration/references/sepay/sdk.md +0 -213
- package/skills/ck-payment-integration/references/sepay/webhooks.md +0 -208
- package/skills/ck-payment-integration/scripts/.env.example +0 -20
- package/skills/ck-payment-integration/scripts/checkout-helper.js +0 -244
- package/skills/ck-payment-integration/scripts/package.json +0 -17
- package/skills/ck-payment-integration/scripts/polar-webhook-verify.js +0 -202
- package/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +0 -193
- package/skills/ck-payment-integration/scripts/test-scripts.js +0 -237
- package/skills/ck-planning/SKILL.md +0 -112
- package/skills/ck-planning/references/output-standards.md +0 -127
- package/skills/ck-planning/references/plan-organization.md +0 -150
- package/skills/ck-problem-solving/SKILL.md +0 -95
- package/skills/ck-repomix/SKILL.md +0 -247
- package/skills/ck-repomix/references/usage-patterns.md +0 -232
- package/skills/ck-repomix/scripts/.coverage +0 -0
- package/skills/ck-repomix/scripts/README.md +0 -179
- package/skills/ck-repomix/scripts/repomix_batch.py +0 -455
- package/skills/ck-repomix/scripts/tests/test_repomix_batch.py +0 -531
- package/skills/ck-sequential-thinking/SKILL.md +0 -92
- package/skills/ck-sequential-thinking/tests/format-thought.test.js +0 -133
- package/skills/ck-sequential-thinking/tests/process-thought.test.js +0 -215
- package/skills/ck-shopify/README.md +0 -66
- package/skills/ck-shopify/SKILL.md +0 -319
- package/skills/ck-shopify/references/app-development.md +0 -470
- package/skills/ck-shopify/references/extensions.md +0 -493
- package/skills/ck-shopify/references/themes.md +0 -498
- package/skills/ck-shopify/scripts/.coverage +0 -0
- package/skills/ck-shopify/scripts/requirements.txt +0 -19
- package/skills/ck-shopify/scripts/shopify_init.py +0 -423
- package/skills/ck-shopify/scripts/tests/.coverage +0 -0
- package/skills/ck-shopify/scripts/tests/test_shopify_init.py +0 -385
- package/skills/ck-skill-creator/SKILL.md +0 -263
- package/skills/ck-skill-creator/scripts/init_skill.py +0 -303
- package/skills/ck-skill-creator/scripts/package_skill.py +0 -110
- package/skills/ck-skill-creator/scripts/quick_validate.py +0 -65
- package/skills/ck-threejs/SKILL.md +0 -87
- package/skills/ck-threejs/references/01-getting-started.md +0 -177
- package/skills/ck-threejs/references/02-loaders.md +0 -169
- package/skills/ck-threejs/references/03-textures.md +0 -170
- package/skills/ck-threejs/references/04-cameras.md +0 -195
- package/skills/ck-threejs/references/05-lights.md +0 -183
- package/skills/ck-threejs/references/06-animations.md +0 -214
- package/skills/ck-threejs/references/07-math.md +0 -260
- package/skills/ck-threejs/references/08-interaction.md +0 -267
- package/skills/ck-threejs/references/09-postprocessing.md +0 -240
- package/skills/ck-threejs/references/10-controls.md +0 -259
- package/skills/ck-threejs/references/11-materials-advanced.md +0 -270
- package/skills/ck-threejs/references/12-performance.md +0 -269
- package/skills/ck-threejs/references/13-node-materials.md +0 -298
- package/skills/ck-threejs/references/14-physics-vr.md +0 -304
- package/skills/ck-threejs/references/15-specialized-loaders.md +0 -333
- package/skills/ck-threejs/references/16-webgpu.md +0 -302
- package/skills/ck-ui-styling/LICENSE.txt +0 -202
- package/skills/ck-ui-styling/SKILL.md +0 -319
- package/skills/ck-ui-styling/scripts/.coverage +0 -0
- package/skills/ck-ui-styling/scripts/tailwind_config_gen.py +0 -456
- package/skills/ck-ui-styling/scripts/tests/coverage-ui.json +0 -1
- package/skills/ck-ui-styling/scripts/tests/requirements.txt +0 -3
- package/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +0 -266
- package/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +0 -336
- package/skills/ck-ui-ux-pro-max/SKILL.md +0 -227
- package/skills/ck-ui-ux-pro-max/data/charts.csv +0 -26
- package/skills/ck-ui-ux-pro-max/data/colors.csv +0 -97
- package/skills/ck-ui-ux-pro-max/data/landing.csv +0 -31
- package/skills/ck-ui-ux-pro-max/data/products.csv +0 -97
- package/skills/ck-ui-ux-pro-max/data/prompts.csv +0 -24
- package/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +0 -53
- package/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -51
- package/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
- package/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +0 -52
- package/skills/ck-ui-ux-pro-max/data/stacks/react.csv +0 -54
- package/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +0 -54
- package/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
- package/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +0 -50
- package/skills/ck-ui-ux-pro-max/data/styles.csv +0 -59
- package/skills/ck-ui-ux-pro-max/data/typography.csv +0 -58
- package/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +0 -100
- package/skills/ck-ui-ux-pro-max/scripts/core.py +0 -236
- package/skills/ck-ui-ux-pro-max/scripts/search.py +0 -76
- package/skills/ck-web-frameworks/SKILL.md +0 -322
- package/skills/ck-web-frameworks/references/nextjs-app-router.md +0 -465
- package/skills/ck-web-frameworks/references/nextjs-data-fetching.md +0 -459
- package/skills/ck-web-frameworks/references/nextjs-optimization.md +0 -511
- package/skills/ck-web-frameworks/references/nextjs-server-components.md +0 -495
- package/skills/ck-web-frameworks/references/remix-icon-integration.md +0 -603
- package/skills/ck-web-frameworks/references/turborepo-caching.md +0 -551
- package/skills/ck-web-frameworks/references/turborepo-pipelines.md +0 -517
- package/skills/ck-web-frameworks/references/turborepo-setup.md +0 -542
- package/skills/ck-web-frameworks/scripts/.coverage +0 -0
- package/skills/ck-web-frameworks/scripts/nextjs_init.py +0 -547
- package/skills/ck-web-frameworks/scripts/requirements.txt +0 -16
- package/skills/ck-web-frameworks/scripts/tests/coverage-web.json +0 -1
- package/skills/ck-web-frameworks/scripts/tests/requirements.txt +0 -3
- package/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +0 -319
- package/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +0 -374
- package/skills/ck-web-frameworks/scripts/turborepo_migrate.py +0 -394
- package/templates/repo/.github/.cokit-version +0 -4
- package/templates/repo/.github/agents/database-admin.agent.md +0 -91
- package/templates/repo/.github/agents/mcp-manager.agent.md +0 -93
- package/templates/repo/.github/agents/project-manager.agent.md +0 -124
- package/templates/repo/.github/agents/scout-external.agent.md +0 -141
- package/templates/repo/.github/collections/ck-ui-design.collection.yml +0 -18
- package/templates/repo/.github/copilot-instructions.md +0 -45
- package/templates/repo/.github/instructions/ck-frontend-design-pro.instructions.md +0 -58
- package/templates/repo/.github/instructions/ck-google-adk-python.instructions.md +0 -242
- package/templates/repo/.github/prompts/ck-bootstrap-auto-fast.prompt.md +0 -108
- package/templates/repo/.github/prompts/ck-bootstrap-auto-parallel.prompt.md +0 -66
- package/templates/repo/.github/prompts/ck-bootstrap-auto.prompt.md +0 -114
- package/templates/repo/.github/prompts/ck-ck-help.prompt.md +0 -114
- package/templates/repo/.github/prompts/ck-code-auto.prompt.md +0 -172
- package/templates/repo/.github/prompts/ck-code-no-test.prompt.md +0 -160
- package/templates/repo/.github/prompts/ck-code-parallel.prompt.md +0 -57
- package/templates/repo/.github/prompts/ck-code.prompt.md +0 -178
- package/templates/repo/.github/prompts/ck-coding-level.prompt.md +0 -54
- package/templates/repo/.github/prompts/ck-cook-auto-fast.prompt.md +0 -26
- package/templates/repo/.github/prompts/ck-cook-auto-parallel.prompt.md +0 -50
- package/templates/repo/.github/prompts/ck-cook-auto.prompt.md +0 -17
- package/templates/repo/.github/prompts/ck-design-3d.prompt.md +0 -84
- package/templates/repo/.github/prompts/ck-design-describe.prompt.md +0 -24
- package/templates/repo/.github/prompts/ck-design-fast.prompt.md +0 -32
- package/templates/repo/.github/prompts/ck-design-good.prompt.md +0 -36
- package/templates/repo/.github/prompts/ck-design-screenshot.prompt.md +0 -35
- package/templates/repo/.github/prompts/ck-design-video.prompt.md +0 -35
- package/templates/repo/.github/prompts/ck-docs-init.prompt.md +0 -27
- package/templates/repo/.github/prompts/ck-docs-summarize.prompt.md +0 -23
- package/templates/repo/.github/prompts/ck-docs-update.prompt.md +0 -36
- package/templates/repo/.github/prompts/ck-fix-ci.prompt.md +0 -18
- package/templates/repo/.github/prompts/ck-fix-fast.prompt.md +0 -18
- package/templates/repo/.github/prompts/ck-fix-hard.prompt.md +0 -36
- package/templates/repo/.github/prompts/ck-fix-logs.prompt.md +0 -27
- package/templates/repo/.github/prompts/ck-fix-parallel.prompt.md +0 -54
- package/templates/repo/.github/prompts/ck-fix-test.prompt.md +0 -19
- package/templates/repo/.github/prompts/ck-fix-types.prompt.md +0 -11
- package/templates/repo/.github/prompts/ck-fix-ui.prompt.md +0 -49
- package/templates/repo/.github/prompts/ck-git-cm.prompt.md +0 -8
- package/templates/repo/.github/prompts/ck-git-cp.prompt.md +0 -7
- package/templates/repo/.github/prompts/ck-git-merge.prompt.md +0 -41
- package/templates/repo/.github/prompts/ck-git-pr.prompt.md +0 -49
- package/templates/repo/.github/prompts/ck-kanban.prompt.md +0 -77
- package/templates/repo/.github/prompts/ck-plan-archive.prompt.md +0 -57
- package/templates/repo/.github/prompts/ck-plan-ci.prompt.md +0 -35
- package/templates/repo/.github/prompts/ck-plan-cro.prompt.md +0 -66
- package/templates/repo/.github/prompts/ck-plan-parallel.prompt.md +0 -159
- package/templates/repo/.github/prompts/ck-plan-two.prompt.md +0 -78
- package/templates/repo/.github/prompts/ck-plan-validate.prompt.md +0 -117
- package/templates/repo/.github/prompts/ck-review-codebase.prompt.md +0 -44
- package/templates/repo/.github/prompts/ck-scout-ext.prompt.md +0 -35
- package/templates/repo/.github/prompts/ck-skill-add.prompt.md +0 -36
- package/templates/repo/.github/prompts/ck-skill-create.prompt.md +0 -29
- package/templates/repo/.github/prompts/ck-skill-fix-logs.prompt.md +0 -22
- package/templates/repo/.github/prompts/ck-skill-optimize-auto.prompt.md +0 -25
- package/templates/repo/.github/prompts/ck-skill-optimize.prompt.md +0 -34
- package/templates/repo/.github/prompts/ck-skill-plan.prompt.md +0 -46
- package/templates/repo/.github/prompts/ck-test-ui.prompt.md +0 -92
- package/templates/repo/.github/prompts/ck-use-mcp.prompt.md +0 -27
- package/templates/repo/.github/prompts/ck-worktree.prompt.md +0 -127
- package/templates/repo/.github/skills/ck-ai-artist/SKILL.md +0 -73
- package/templates/repo/.github/skills/ck-ai-artist/references/advanced-techniques.md +0 -184
- package/templates/repo/.github/skills/ck-ai-artist/references/domain-code.md +0 -66
- package/templates/repo/.github/skills/ck-ai-artist/references/domain-data.md +0 -72
- package/templates/repo/.github/skills/ck-ai-artist/references/domain-marketing.md +0 -66
- package/templates/repo/.github/skills/ck-ai-artist/references/domain-patterns.md +0 -33
- package/templates/repo/.github/skills/ck-ai-artist/references/domain-writing.md +0 -68
- package/templates/repo/.github/skills/ck-ai-artist/references/image-prompting.md +0 -141
- package/templates/repo/.github/skills/ck-ai-artist/references/llm-prompting.md +0 -165
- package/templates/repo/.github/skills/ck-ai-artist/references/nano-banana.md +0 -59
- package/templates/repo/.github/skills/ck-ai-artist/references/reasoning-techniques.md +0 -201
- package/templates/repo/.github/skills/ck-backend-development/SKILL.md +0 -93
- package/templates/repo/.github/skills/ck-backend-development/references/backend-api-design.md +0 -495
- package/templates/repo/.github/skills/ck-backend-development/references/backend-authentication.md +0 -338
- package/templates/repo/.github/skills/ck-backend-development/references/backend-security.md +0 -290
- package/templates/repo/.github/skills/ck-backend-development/references/backend-technologies.md +0 -256
- package/templates/repo/.github/skills/ck-backend-development/references/backend-testing.md +0 -429
- package/templates/repo/.github/skills/ck-better-auth/SKILL.md +0 -202
- package/templates/repo/.github/skills/ck-better-auth/references/advanced-features.md +0 -553
- package/templates/repo/.github/skills/ck-better-auth/references/database-integration.md +0 -577
- package/templates/repo/.github/skills/ck-better-auth/references/email-password-auth.md +0 -416
- package/templates/repo/.github/skills/ck-better-auth/references/oauth-providers.md +0 -430
- package/templates/repo/.github/skills/ck-better-auth/scripts/.coverage +0 -0
- package/templates/repo/.github/skills/ck-better-auth/scripts/better_auth_init.py +0 -521
- package/templates/repo/.github/skills/ck-better-auth/scripts/requirements.txt +0 -15
- package/templates/repo/.github/skills/ck-better-auth/scripts/tests/.coverage +0 -0
- package/templates/repo/.github/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +0 -421
- package/templates/repo/.github/skills/ck-chrome-devtools/SKILL.md +0 -470
- package/templates/repo/.github/skills/ck-chrome-devtools/references/cdp-domains.md +0 -694
- package/templates/repo/.github/skills/ck-chrome-devtools/references/performance-guide.md +0 -940
- package/templates/repo/.github/skills/ck-chrome-devtools/references/puppeteer-reference.md +0 -953
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/README.md +0 -272
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +0 -210
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/aria-snapshot.js +0 -362
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/click.js +0 -83
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/console.js +0 -79
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/evaluate.js +0 -53
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/fill.js +0 -76
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/inject-auth.js +0 -229
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/install-deps.sh +0 -181
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/install.sh +0 -83
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/lib/browser.js +0 -318
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/lib/selector.js +0 -178
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/navigate.js +0 -54
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/network.js +0 -106
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/package-lock.json +0 -1589
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/package.json +0 -16
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/performance.js +0 -149
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/screenshot.js +0 -198
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/select-ref.js +0 -131
- package/templates/repo/.github/skills/ck-chrome-devtools/scripts/snapshot.js +0 -135
- package/templates/repo/.github/skills/ck-code-review/SKILL.md +0 -143
- package/templates/repo/.github/skills/ck-code-review/references/code-review-reception.md +0 -209
- package/templates/repo/.github/skills/ck-code-review/references/requesting-code-review.md +0 -105
- package/templates/repo/.github/skills/ck-code-review/references/verification-before-completion.md +0 -139
- package/templates/repo/.github/skills/ck-databases/SKILL.md +0 -231
- package/templates/repo/.github/skills/ck-databases/scripts/.coverage +0 -0
- package/templates/repo/.github/skills/ck-databases/scripts/db_migrate.py +0 -425
- package/templates/repo/.github/skills/ck-databases/scripts/db_performance_check.py +0 -456
- package/templates/repo/.github/skills/ck-databases/scripts/tests/coverage-db.json +0 -1
- package/templates/repo/.github/skills/ck-databases/scripts/tests/requirements.txt +0 -4
- package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_backup.py +0 -340
- package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_migrate.py +0 -277
- package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_performance_check.py +0 -370
- package/templates/repo/.github/skills/ck-debugging/SKILL.md +0 -82
- package/templates/repo/.github/skills/ck-devops/SKILL.md +0 -283
- package/templates/repo/.github/skills/ck-devops/scripts/docker_optimize.py +0 -331
- package/templates/repo/.github/skills/ck-devops/scripts/tests/requirements.txt +0 -3
- package/templates/repo/.github/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +0 -285
- package/templates/repo/.github/skills/ck-devops/scripts/tests/test_docker_optimize.py +0 -436
- package/templates/repo/.github/skills/ck-docs-seeker/SKILL.md +0 -96
- package/templates/repo/.github/skills/ck-docs-seeker/references/context7-patterns.md +0 -68
- package/templates/repo/.github/skills/ck-docs-seeker/references/search-patterns.md +0 -93
- package/templates/repo/.github/skills/ck-docs-seeker/references/source-evaluation.md +0 -77
- package/templates/repo/.github/skills/ck-docs-seeker/scripts/fetch-docs.js +0 -213
- package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/run-tests.js +0 -72
- package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +0 -119
- package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +0 -112
- package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +0 -84
- package/templates/repo/.github/skills/ck-docs-seeker/scripts/utils/env-loader.js +0 -94
- package/templates/repo/.github/skills/ck-docs-seeker/workflows/library-search.md +0 -87
- package/templates/repo/.github/skills/ck-frontend-design/SKILL.md +0 -79
- package/templates/repo/.github/skills/ck-frontend-design/references/animejs.md +0 -396
- package/templates/repo/.github/skills/ck-frontend-design/references/visual-analysis-overview.md +0 -95
- package/templates/repo/.github/skills/ck-frontend-development/SKILL.md +0 -399
- package/templates/repo/.github/skills/ck-frontend-development/resources/common-patterns.md +0 -331
- package/templates/repo/.github/skills/ck-frontend-development/resources/complete-examples.md +0 -872
- package/templates/repo/.github/skills/ck-frontend-development/resources/component-patterns.md +0 -502
- package/templates/repo/.github/skills/ck-frontend-development/resources/data-fetching.md +0 -767
- package/templates/repo/.github/skills/ck-frontend-development/resources/file-organization.md +0 -502
- package/templates/repo/.github/skills/ck-frontend-development/resources/loading-and-error-states.md +0 -501
- package/templates/repo/.github/skills/ck-frontend-development/resources/performance.md +0 -406
- package/templates/repo/.github/skills/ck-frontend-development/resources/routing-guide.md +0 -364
- package/templates/repo/.github/skills/ck-frontend-development/resources/styling-guide.md +0 -428
- package/templates/repo/.github/skills/ck-frontend-development/resources/typescript-standards.md +0 -418
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/SKILL.md +0 -190
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/directory-browser.css +0 -215
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/novel-theme.css +0 -818
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/reader.js +0 -262
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/template.html +0 -80
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/package.json +0 -15
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +0 -434
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +0 -272
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +0 -509
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +0 -48
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +0 -150
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/server.cjs +0 -411
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +0 -283
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +0 -340
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +0 -404
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +0 -271
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +0 -51
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +0 -154
- package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +0 -90
- package/templates/repo/.github/skills/ck-mcp-builder/LICENSE.txt +0 -202
- package/templates/repo/.github/skills/ck-mcp-builder/SKILL.md +0 -327
- package/templates/repo/.github/skills/ck-mcp-builder/reference/evaluation.md +0 -602
- package/templates/repo/.github/skills/ck-mcp-builder/reference/mcp_best_practices.md +0 -915
- package/templates/repo/.github/skills/ck-mcp-builder/reference/node_mcp_server.md +0 -916
- package/templates/repo/.github/skills/ck-mcp-builder/reference/python_mcp_server.md +0 -752
- package/templates/repo/.github/skills/ck-mcp-builder/scripts/connections.py +0 -151
- package/templates/repo/.github/skills/ck-mcp-builder/scripts/evaluation.py +0 -373
- package/templates/repo/.github/skills/ck-mcp-builder/scripts/example_evaluation.xml +0 -22
- package/templates/repo/.github/skills/ck-mcp-builder/scripts/requirements.txt +0 -2
- package/templates/repo/.github/skills/ck-mcp-management/README.md +0 -219
- package/templates/repo/.github/skills/ck-mcp-management/SKILL.md +0 -209
- package/templates/repo/.github/skills/ck-mcp-management/references/configuration.md +0 -114
- package/templates/repo/.github/skills/ck-mcp-management/references/gemini-cli-integration.md +0 -215
- package/templates/repo/.github/skills/ck-mcp-management/scripts/dist/mcp-client.js +0 -183
- package/templates/repo/.github/skills/ck-mcp-management/scripts/mcp-client.ts +0 -230
- package/templates/repo/.github/skills/ck-media-processing/SKILL.md +0 -90
- package/templates/repo/.github/skills/ck-media-processing/references/common-workflows.md +0 -132
- package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-encoding.md +0 -358
- package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-filters.md +0 -503
- package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-streaming.md +0 -403
- package/templates/repo/.github/skills/ck-media-processing/references/format-compatibility.md +0 -375
- package/templates/repo/.github/skills/ck-media-processing/references/imagemagick-batch.md +0 -612
- package/templates/repo/.github/skills/ck-media-processing/references/imagemagick-editing.md +0 -623
- package/templates/repo/.github/skills/ck-media-processing/references/rmbg-background-removal.md +0 -66
- package/templates/repo/.github/skills/ck-media-processing/references/troubleshooting.md +0 -109
- package/templates/repo/.github/skills/ck-media-processing/scripts/README.md +0 -111
- package/templates/repo/.github/skills/ck-media-processing/scripts/batch-remove-background.sh +0 -124
- package/templates/repo/.github/skills/ck-media-processing/scripts/batch_resize.py +0 -342
- package/templates/repo/.github/skills/ck-media-processing/scripts/media_convert.py +0 -311
- package/templates/repo/.github/skills/ck-media-processing/scripts/remove-background.sh +0 -96
- package/templates/repo/.github/skills/ck-media-processing/scripts/remove-bg-node.js +0 -158
- package/templates/repo/.github/skills/ck-media-processing/scripts/requirements.txt +0 -24
- package/templates/repo/.github/skills/ck-media-processing/scripts/tests/.coverage +0 -0
- package/templates/repo/.github/skills/ck-media-processing/scripts/tests/requirements.txt +0 -2
- package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_batch_resize.py +0 -372
- package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_media_convert.py +0 -259
- package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_video_optimize.py +0 -397
- package/templates/repo/.github/skills/ck-media-processing/scripts/video_optimize.py +0 -414
- package/templates/repo/.github/skills/ck-mobile-development/SKILL.md +0 -210
- package/templates/repo/.github/skills/ck-mobile-development/references/mobile-android.md +0 -604
- package/templates/repo/.github/skills/ck-mobile-development/references/mobile-best-practices.md +0 -545
- package/templates/repo/.github/skills/ck-mobile-development/references/mobile-debugging.md +0 -1089
- package/templates/repo/.github/skills/ck-mobile-development/references/mobile-frameworks.md +0 -465
- package/templates/repo/.github/skills/ck-mobile-development/references/mobile-ios.md +0 -496
- package/templates/repo/.github/skills/ck-mobile-development/references/mobile-mindset.md +0 -544
- package/templates/repo/.github/skills/ck-payment-integration/README.md +0 -185
- package/templates/repo/.github/skills/ck-payment-integration/SKILL.md +0 -116
- package/templates/repo/.github/skills/ck-payment-integration/references/polar/benefits.md +0 -396
- package/templates/repo/.github/skills/ck-payment-integration/references/polar/best-practices.md +0 -482
- package/templates/repo/.github/skills/ck-payment-integration/references/polar/checkouts.md +0 -266
- package/templates/repo/.github/skills/ck-payment-integration/references/polar/overview.md +0 -184
- package/templates/repo/.github/skills/ck-payment-integration/references/polar/products.md +0 -244
- package/templates/repo/.github/skills/ck-payment-integration/references/polar/sdk.md +0 -436
- package/templates/repo/.github/skills/ck-payment-integration/references/polar/subscriptions.md +0 -340
- package/templates/repo/.github/skills/ck-payment-integration/references/polar/webhooks.md +0 -405
- package/templates/repo/.github/skills/ck-payment-integration/references/sepay/api.md +0 -140
- package/templates/repo/.github/skills/ck-payment-integration/references/sepay/best-practices.md +0 -337
- package/templates/repo/.github/skills/ck-payment-integration/references/sepay/overview.md +0 -138
- package/templates/repo/.github/skills/ck-payment-integration/references/sepay/qr-codes.md +0 -228
- package/templates/repo/.github/skills/ck-payment-integration/references/sepay/sdk.md +0 -213
- package/templates/repo/.github/skills/ck-payment-integration/references/sepay/webhooks.md +0 -208
- package/templates/repo/.github/skills/ck-payment-integration/scripts/.env.example +0 -20
- package/templates/repo/.github/skills/ck-payment-integration/scripts/checkout-helper.js +0 -244
- package/templates/repo/.github/skills/ck-payment-integration/scripts/package.json +0 -17
- package/templates/repo/.github/skills/ck-payment-integration/scripts/polar-webhook-verify.js +0 -202
- package/templates/repo/.github/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +0 -193
- package/templates/repo/.github/skills/ck-payment-integration/scripts/test-scripts.js +0 -237
- package/templates/repo/.github/skills/ck-planning/SKILL.md +0 -112
- package/templates/repo/.github/skills/ck-planning/references/output-standards.md +0 -127
- package/templates/repo/.github/skills/ck-planning/references/plan-organization.md +0 -150
- package/templates/repo/.github/skills/ck-problem-solving/SKILL.md +0 -95
- package/templates/repo/.github/skills/ck-repomix/SKILL.md +0 -247
- package/templates/repo/.github/skills/ck-repomix/references/usage-patterns.md +0 -232
- package/templates/repo/.github/skills/ck-repomix/scripts/.coverage +0 -0
- package/templates/repo/.github/skills/ck-repomix/scripts/README.md +0 -179
- package/templates/repo/.github/skills/ck-repomix/scripts/repomix_batch.py +0 -455
- package/templates/repo/.github/skills/ck-repomix/scripts/tests/test_repomix_batch.py +0 -531
- package/templates/repo/.github/skills/ck-sequential-thinking/SKILL.md +0 -92
- package/templates/repo/.github/skills/ck-sequential-thinking/tests/format-thought.test.js +0 -133
- package/templates/repo/.github/skills/ck-sequential-thinking/tests/process-thought.test.js +0 -215
- package/templates/repo/.github/skills/ck-shopify/README.md +0 -66
- package/templates/repo/.github/skills/ck-shopify/SKILL.md +0 -319
- package/templates/repo/.github/skills/ck-shopify/references/app-development.md +0 -470
- package/templates/repo/.github/skills/ck-shopify/references/extensions.md +0 -493
- package/templates/repo/.github/skills/ck-shopify/references/themes.md +0 -498
- package/templates/repo/.github/skills/ck-shopify/scripts/.coverage +0 -0
- package/templates/repo/.github/skills/ck-shopify/scripts/requirements.txt +0 -19
- package/templates/repo/.github/skills/ck-shopify/scripts/shopify_init.py +0 -423
- package/templates/repo/.github/skills/ck-shopify/scripts/tests/.coverage +0 -0
- package/templates/repo/.github/skills/ck-shopify/scripts/tests/test_shopify_init.py +0 -385
- package/templates/repo/.github/skills/ck-skill-creator/LICENSE.txt +0 -202
- package/templates/repo/.github/skills/ck-skill-creator/SKILL.md +0 -263
- package/templates/repo/.github/skills/ck-skill-creator/scripts/init_skill.py +0 -303
- package/templates/repo/.github/skills/ck-skill-creator/scripts/package_skill.py +0 -110
- package/templates/repo/.github/skills/ck-skill-creator/scripts/quick_validate.py +0 -65
- package/templates/repo/.github/skills/ck-threejs/SKILL.md +0 -87
- package/templates/repo/.github/skills/ck-threejs/references/01-getting-started.md +0 -177
- package/templates/repo/.github/skills/ck-threejs/references/02-loaders.md +0 -169
- package/templates/repo/.github/skills/ck-threejs/references/03-textures.md +0 -170
- package/templates/repo/.github/skills/ck-threejs/references/04-cameras.md +0 -195
- package/templates/repo/.github/skills/ck-threejs/references/05-lights.md +0 -183
- package/templates/repo/.github/skills/ck-threejs/references/06-animations.md +0 -214
- package/templates/repo/.github/skills/ck-threejs/references/07-math.md +0 -260
- package/templates/repo/.github/skills/ck-threejs/references/08-interaction.md +0 -267
- package/templates/repo/.github/skills/ck-threejs/references/09-postprocessing.md +0 -240
- package/templates/repo/.github/skills/ck-threejs/references/10-controls.md +0 -259
- package/templates/repo/.github/skills/ck-threejs/references/11-materials-advanced.md +0 -270
- package/templates/repo/.github/skills/ck-threejs/references/12-performance.md +0 -269
- package/templates/repo/.github/skills/ck-threejs/references/13-node-materials.md +0 -298
- package/templates/repo/.github/skills/ck-threejs/references/14-physics-vr.md +0 -304
- package/templates/repo/.github/skills/ck-threejs/references/15-specialized-loaders.md +0 -333
- package/templates/repo/.github/skills/ck-threejs/references/16-webgpu.md +0 -302
- package/templates/repo/.github/skills/ck-ui-styling/LICENSE.txt +0 -202
- package/templates/repo/.github/skills/ck-ui-styling/SKILL.md +0 -319
- package/templates/repo/.github/skills/ck-ui-styling/scripts/.coverage +0 -0
- package/templates/repo/.github/skills/ck-ui-styling/scripts/tailwind_config_gen.py +0 -456
- package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/coverage-ui.json +0 -1
- package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/requirements.txt +0 -3
- package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +0 -266
- package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +0 -336
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/SKILL.md +0 -227
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/charts.csv +0 -26
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/colors.csv +0 -97
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/landing.csv +0 -31
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/products.csv +0 -97
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/prompts.csv +0 -24
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +0 -53
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -51
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +0 -52
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/react.csv +0 -54
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +0 -54
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +0 -50
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/styles.csv +0 -59
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/typography.csv +0 -58
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +0 -100
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/scripts/core.py +0 -236
- package/templates/repo/.github/skills/ck-ui-ux-pro-max/scripts/search.py +0 -76
- package/templates/repo/.github/skills/ck-web-frameworks/SKILL.md +0 -322
- package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-app-router.md +0 -465
- package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-data-fetching.md +0 -459
- package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-optimization.md +0 -511
- package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-server-components.md +0 -495
- package/templates/repo/.github/skills/ck-web-frameworks/references/remix-icon-integration.md +0 -603
- package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-caching.md +0 -551
- package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-pipelines.md +0 -517
- package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-setup.md +0 -542
- package/templates/repo/.github/skills/ck-web-frameworks/scripts/.coverage +0 -0
- package/templates/repo/.github/skills/ck-web-frameworks/scripts/nextjs_init.py +0 -547
- package/templates/repo/.github/skills/ck-web-frameworks/scripts/requirements.txt +0 -16
- package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/coverage-web.json +0 -1
- package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/requirements.txt +0 -3
- package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +0 -319
- package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +0 -374
- package/templates/repo/.github/skills/ck-web-frameworks/scripts/turborepo_migrate.py +0 -394
- /package/skills/{ck-web-frameworks/scripts/__init__.py → agent-browser/references/.gitkeep} +0 -0
- /package/skills/{ck-backend-development → backend-development}/references/backend-architecture.md +0 -0
- /package/skills/{ck-backend-development → backend-development}/references/backend-code-quality.md +0 -0
- /package/skills/{ck-backend-development → backend-development}/references/backend-debugging.md +0 -0
- /package/skills/{ck-backend-development → backend-development}/references/backend-devops.md +0 -0
- /package/skills/{ck-backend-development → backend-development}/references/backend-mindset.md +0 -0
- /package/skills/{ck-backend-development → backend-development}/references/backend-performance.md +0 -0
- /package/skills/{ck-databases → databases}/references/mongodb-aggregation.md +0 -0
- /package/skills/{ck-databases → databases}/references/mongodb-atlas.md +0 -0
- /package/skills/{ck-databases → databases}/references/mongodb-crud.md +0 -0
- /package/skills/{ck-databases → databases}/references/mongodb-indexing.md +0 -0
- /package/skills/{ck-databases → databases}/references/postgresql-administration.md +0 -0
- /package/skills/{ck-databases → databases}/references/postgresql-performance.md +0 -0
- /package/skills/{ck-databases → databases}/references/postgresql-psql-cli.md +0 -0
- /package/skills/{ck-databases → databases}/references/postgresql-queries.md +0 -0
- /package/skills/{ck-databases → databases}/scripts/requirements.txt +0 -0
- /package/skills/{ck-debugging → debug}/references/defense-in-depth.md +0 -0
- /package/skills/{ck-debugging → debug}/references/root-cause-tracing.md +0 -0
- /package/skills/{ck-debugging → debug}/references/systematic-debugging.md +0 -0
- /package/skills/{ck-debugging → debug}/references/verification.md +0 -0
- /package/skills/{ck-debugging → debug}/scripts/find-polluter.sh +0 -0
- /package/skills/{ck-debugging → debug}/scripts/find-polluter.test.md +0 -0
- /package/skills/{ck-devops → devops}/.env.example +0 -0
- /package/skills/{ck-devops → devops}/references/browser-rendering.md +0 -0
- /package/skills/{ck-devops → devops}/references/cloudflare-d1-kv.md +0 -0
- /package/skills/{ck-devops → devops}/references/cloudflare-platform.md +0 -0
- /package/skills/{ck-devops → devops}/references/cloudflare-r2-storage.md +0 -0
- /package/skills/{ck-devops → devops}/references/cloudflare-workers-advanced.md +0 -0
- /package/skills/{ck-devops → devops}/references/cloudflare-workers-apis.md +0 -0
- /package/skills/{ck-devops → devops}/references/cloudflare-workers-basics.md +0 -0
- /package/skills/{ck-devops → devops}/references/docker-basics.md +0 -0
- /package/skills/{ck-devops → devops}/references/docker-compose.md +0 -0
- /package/skills/{ck-devops → devops}/references/gcloud-platform.md +0 -0
- /package/skills/{ck-devops → devops}/references/gcloud-services.md +0 -0
- /package/skills/{ck-devops → devops}/scripts/requirements.txt +0 -0
- /package/skills/{ck-docs-seeker → docs-seeker}/.env.example +0 -0
- /package/skills/{ck-docs-seeker → docs-seeker}/package.json +0 -0
- /package/skills/{ck-docs-seeker → docs-seeker}/references/advanced.md +0 -0
- /package/skills/{ck-docs-seeker → docs-seeker}/references/errors.md +0 -0
- /package/skills/{ck-docs-seeker → docs-seeker}/workflows/repo-analysis.md +0 -0
- /package/skills/{ck-docs-seeker → docs-seeker}/workflows/topic-search.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/analysis-best-practices.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/analysis-prompts.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/analysis-techniques.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/design-extraction-overview.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/extraction-best-practices.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/extraction-output-templates.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/extraction-prompts.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/technical-accessibility.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/technical-best-practices.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/technical-optimization.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/technical-overview.md +0 -0
- /package/skills/{ck-frontend-design → frontend-design}/references/technical-workflows.md +0 -0
- /package/skills/{ck-mcp-management → mcp-management}/assets/tools.json +0 -0
- /package/skills/{ck-mcp-management → mcp-management}/references/mcp-protocol.md +0 -0
- /package/skills/{ck-mcp-management → mcp-management}/scripts/.env.example +0 -0
- /package/skills/{ck-mcp-management → mcp-management}/scripts/package.json +0 -0
- /package/skills/{ck-mcp-management → mcp-management}/scripts/tsconfig.json +0 -0
- /package/skills/{ck-planning → planning}/references/codebase-understanding.md +0 -0
- /package/skills/{ck-planning → planning}/references/research-phase.md +0 -0
- /package/skills/{ck-planning → planning}/references/solution-design.md +0 -0
- /package/skills/{ck-problem-solving → problem-solving}/references/attribution.md +0 -0
- /package/skills/{ck-problem-solving → problem-solving}/references/collision-zone-thinking.md +0 -0
- /package/skills/{ck-problem-solving → problem-solving}/references/inversion-exercise.md +0 -0
- /package/skills/{ck-problem-solving → problem-solving}/references/meta-pattern-recognition.md +0 -0
- /package/skills/{ck-problem-solving → problem-solving}/references/scale-game.md +0 -0
- /package/skills/{ck-problem-solving → problem-solving}/references/simplification-cascades.md +0 -0
- /package/skills/{ck-problem-solving → problem-solving}/references/when-stuck.md +0 -0
- /package/skills/{ck-repomix → repomix}/references/configuration.md +0 -0
- /package/skills/{ck-repomix → repomix}/scripts/repos.example.json +0 -0
- /package/skills/{ck-repomix → repomix}/scripts/requirements.txt +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/.env.example +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/README.md +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/package.json +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/references/advanced-strategies.md +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/references/advanced-techniques.md +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/references/core-patterns.md +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-api.md +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-architecture.md +0 -0
- /package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-debug.md +0 -0
- /package/skills/{ck-mcp-builder → ui-styling}/LICENSE.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/ArsenalSC-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BigShoulders-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Boldonse-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Boldonse-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BricolageGrotesque-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/CrimsonPro-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/DMMono-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/DMMono-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/EricaOne-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/EricaOne-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/GeistMono-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/GeistMono-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/GeistMono-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Gloock-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Gloock-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexMono-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Italiana-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Italiana-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/JetBrainsMono-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Jura-Light.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Jura-Medium.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Jura-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/LibreBaskerville-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-Italic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NationalPark-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NationalPark-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NationalPark-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Outfit-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Outfit-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Outfit-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/PixelifySans-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/PoiretOne-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/RedHatMono-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Silkscreen-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/SmoochSans-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Tektur-Medium.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Tektur-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Tektur-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-Bold.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-Italic.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/YoungSerif-OFL.txt +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/references/canvas-design-system.md +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/references/shadcn-accessibility.md +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/references/shadcn-components.md +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/references/shadcn-theming.md +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/references/tailwind-customization.md +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/references/tailwind-responsive.md +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/references/tailwind-utilities.md +0 -0
- /package/skills/{ck-ui-styling → ui-styling}/scripts/requirements.txt +0 -0
- /package/templates/repo/.github/skills/{ck-web-frameworks/scripts/__init__.py → agent-browser/references/.gitkeep} +0 -0
- /package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-architecture.md +0 -0
- /package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-code-quality.md +0 -0
- /package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-debugging.md +0 -0
- /package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-devops.md +0 -0
- /package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-mindset.md +0 -0
- /package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-performance.md +0 -0
- /package/{skills/ck-code-review → templates/repo/.github/skills/code-review}/references/code-review-reception.md +0 -0
- /package/{skills/ck-code-review → templates/repo/.github/skills/code-review}/references/requesting-code-review.md +0 -0
- /package/{skills/ck-code-review → templates/repo/.github/skills/code-review}/references/verification-before-completion.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/references/mongodb-aggregation.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/references/mongodb-atlas.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/references/mongodb-crud.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/references/mongodb-indexing.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/references/postgresql-administration.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/references/postgresql-performance.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/references/postgresql-psql-cli.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/references/postgresql-queries.md +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/scripts/db_backup.py +0 -0
- /package/templates/repo/.github/skills/{ck-databases → databases}/scripts/requirements.txt +0 -0
- /package/templates/repo/.github/skills/{ck-debugging → debug}/references/defense-in-depth.md +0 -0
- /package/templates/repo/.github/skills/{ck-debugging → debug}/references/root-cause-tracing.md +0 -0
- /package/templates/repo/.github/skills/{ck-debugging → debug}/references/systematic-debugging.md +0 -0
- /package/templates/repo/.github/skills/{ck-debugging → debug}/references/verification.md +0 -0
- /package/templates/repo/.github/skills/{ck-debugging → debug}/scripts/find-polluter.sh +0 -0
- /package/templates/repo/.github/skills/{ck-debugging → debug}/scripts/find-polluter.test.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/.env.example +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/browser-rendering.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/cloudflare-d1-kv.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/cloudflare-platform.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/cloudflare-r2-storage.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/cloudflare-workers-advanced.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/cloudflare-workers-apis.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/cloudflare-workers-basics.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/docker-basics.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/docker-compose.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/gcloud-platform.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/references/gcloud-services.md +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/scripts/cloudflare_deploy.py +0 -0
- /package/templates/repo/.github/skills/{ck-devops → devops}/scripts/requirements.txt +0 -0
- /package/templates/repo/.github/skills/{ck-docs-seeker → docs-seeker}/.env.example +0 -0
- /package/templates/repo/.github/skills/{ck-docs-seeker → docs-seeker}/package.json +0 -0
- /package/templates/repo/.github/skills/{ck-docs-seeker → docs-seeker}/references/advanced.md +0 -0
- /package/templates/repo/.github/skills/{ck-docs-seeker → docs-seeker}/references/errors.md +0 -0
- /package/templates/repo/.github/skills/{ck-docs-seeker → docs-seeker}/scripts/analyze-llms-txt.js +0 -0
- /package/templates/repo/.github/skills/{ck-docs-seeker → docs-seeker}/scripts/detect-topic.js +0 -0
- /package/templates/repo/.github/skills/{ck-docs-seeker → docs-seeker}/workflows/repo-analysis.md +0 -0
- /package/templates/repo/.github/skills/{ck-docs-seeker → docs-seeker}/workflows/topic-search.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/analysis-best-practices.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/analysis-prompts.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/analysis-techniques.md +0 -0
- /package/{skills/ck-frontend-design → templates/repo/.github/skills/frontend-design}/references/animejs.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/design-extraction-overview.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/extraction-best-practices.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/extraction-output-templates.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/extraction-prompts.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/technical-accessibility.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/technical-best-practices.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/technical-optimization.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/technical-overview.md +0 -0
- /package/templates/repo/.github/skills/{ck-frontend-design → frontend-design}/references/technical-workflows.md +0 -0
- /package/templates/repo/.github/skills/{ck-mcp-management → mcp-management}/assets/tools.json +0 -0
- /package/templates/repo/.github/skills/{ck-mcp-management → mcp-management}/references/mcp-protocol.md +0 -0
- /package/templates/repo/.github/skills/{ck-mcp-management → mcp-management}/scripts/.env.example +0 -0
- /package/templates/repo/.github/skills/{ck-mcp-management → mcp-management}/scripts/cli.ts +0 -0
- /package/templates/repo/.github/skills/{ck-mcp-management → mcp-management}/scripts/dist/analyze-tools.js +0 -0
- /package/templates/repo/.github/skills/{ck-mcp-management → mcp-management}/scripts/dist/cli.js +0 -0
- /package/templates/repo/.github/skills/{ck-mcp-management → mcp-management}/scripts/package.json +0 -0
- /package/templates/repo/.github/skills/{ck-mcp-management → mcp-management}/scripts/tsconfig.json +0 -0
- /package/templates/repo/.github/skills/{ck-planning → planning}/references/codebase-understanding.md +0 -0
- /package/templates/repo/.github/skills/{ck-planning → planning}/references/research-phase.md +0 -0
- /package/templates/repo/.github/skills/{ck-planning → planning}/references/solution-design.md +0 -0
- /package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/attribution.md +0 -0
- /package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/collision-zone-thinking.md +0 -0
- /package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/inversion-exercise.md +0 -0
- /package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/meta-pattern-recognition.md +0 -0
- /package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/scale-game.md +0 -0
- /package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/simplification-cascades.md +0 -0
- /package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/when-stuck.md +0 -0
- /package/templates/repo/.github/skills/{ck-repomix → repomix}/references/configuration.md +0 -0
- /package/templates/repo/.github/skills/{ck-repomix → repomix}/scripts/repos.example.json +0 -0
- /package/templates/repo/.github/skills/{ck-repomix → repomix}/scripts/requirements.txt +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/.env.example +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/README.md +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/package.json +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/advanced-strategies.md +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/advanced-techniques.md +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/core-patterns.md +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-api.md +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-architecture.md +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-debug.md +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/scripts/format-thought.js +0 -0
- /package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/scripts/process-thought.js +0 -0
- /package/{skills/ck-skill-creator → templates/repo/.github/skills/ui-styling}/LICENSE.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/ArsenalSC-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BigShoulders-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Boldonse-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Boldonse-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BricolageGrotesque-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/CrimsonPro-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/DMMono-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/DMMono-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/EricaOne-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/EricaOne-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/GeistMono-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/GeistMono-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/GeistMono-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Gloock-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Gloock-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexMono-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Italiana-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Italiana-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/JetBrainsMono-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Jura-Light.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Jura-Medium.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Jura-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/LibreBaskerville-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-Italic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Lora-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NationalPark-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NationalPark-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NationalPark-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Outfit-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Outfit-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Outfit-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/PixelifySans-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/PoiretOne-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/RedHatMono-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Silkscreen-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/SmoochSans-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Tektur-Medium.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Tektur-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/Tektur-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-Bold.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-Italic.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/WorkSans-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/YoungSerif-OFL.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/references/canvas-design-system.md +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/references/shadcn-accessibility.md +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/references/shadcn-components.md +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/references/shadcn-theming.md +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/references/tailwind-customization.md +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/references/tailwind-responsive.md +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/references/tailwind-utilities.md +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/scripts/requirements.txt +0 -0
- /package/templates/repo/.github/skills/{ck-ui-styling → ui-styling}/scripts/shadcn_add.py +0 -0
|
@@ -0,0 +1,3004 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>CoKit - Complete Guide</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
--bg: #0f172a;
|
|
10
|
+
--bg-surface: #1e293b;
|
|
11
|
+
--bg-card: #1a2332;
|
|
12
|
+
--bg-hover: #334155;
|
|
13
|
+
--text: #e2e8f0;
|
|
14
|
+
--text-muted: #94a3b8;
|
|
15
|
+
--text-dim: #64748b;
|
|
16
|
+
--accent: #38bdf8;
|
|
17
|
+
--accent2: #818cf8;
|
|
18
|
+
--green: #34d399;
|
|
19
|
+
--orange: #fb923c;
|
|
20
|
+
--pink: #f472b6;
|
|
21
|
+
--red: #f87171;
|
|
22
|
+
--yellow: #fbbf24;
|
|
23
|
+
--border: #334155;
|
|
24
|
+
--border-light: #475569;
|
|
25
|
+
--gradient-1: linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);
|
|
26
|
+
--gradient-2: linear-gradient(135deg, #34d399 0%, #38bdf8 100%);
|
|
27
|
+
--gradient-3: linear-gradient(135deg, #f472b6 0%, #818cf8 100%);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
31
|
+
|
|
32
|
+
body {
|
|
33
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
|
|
34
|
+
background: var(--bg);
|
|
35
|
+
color: var(--text);
|
|
36
|
+
line-height: 1.6;
|
|
37
|
+
overflow-x: hidden;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* ===== NAVIGATION ===== */
|
|
41
|
+
.nav {
|
|
42
|
+
position: fixed;
|
|
43
|
+
top: 0;
|
|
44
|
+
left: 0;
|
|
45
|
+
right: 0;
|
|
46
|
+
z-index: 100;
|
|
47
|
+
background: rgba(15, 23, 42, 0.9);
|
|
48
|
+
backdrop-filter: blur(12px);
|
|
49
|
+
border-bottom: 1px solid var(--border);
|
|
50
|
+
padding: 0 24px;
|
|
51
|
+
}
|
|
52
|
+
.nav-inner {
|
|
53
|
+
max-width: 1200px;
|
|
54
|
+
margin: 0 auto;
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
justify-content: space-between;
|
|
58
|
+
height: 56px;
|
|
59
|
+
}
|
|
60
|
+
.nav-logo {
|
|
61
|
+
font-size: 20px;
|
|
62
|
+
font-weight: 800;
|
|
63
|
+
background: var(--gradient-1);
|
|
64
|
+
-webkit-background-clip: text;
|
|
65
|
+
-webkit-text-fill-color: transparent;
|
|
66
|
+
background-clip: text;
|
|
67
|
+
}
|
|
68
|
+
.nav-links {
|
|
69
|
+
display: flex;
|
|
70
|
+
gap: 4px;
|
|
71
|
+
overflow-x: auto;
|
|
72
|
+
-webkit-overflow-scrolling: touch;
|
|
73
|
+
}
|
|
74
|
+
.nav-links a {
|
|
75
|
+
color: var(--text-muted);
|
|
76
|
+
text-decoration: none;
|
|
77
|
+
font-size: 13px;
|
|
78
|
+
padding: 6px 12px;
|
|
79
|
+
border-radius: 6px;
|
|
80
|
+
white-space: nowrap;
|
|
81
|
+
transition: all 0.2s;
|
|
82
|
+
}
|
|
83
|
+
.nav-links a:hover, .nav-links a.active {
|
|
84
|
+
color: var(--accent);
|
|
85
|
+
background: rgba(56,189,248,0.1);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* ===== HERO ===== */
|
|
89
|
+
.hero {
|
|
90
|
+
padding: 120px 24px 60px;
|
|
91
|
+
text-align: center;
|
|
92
|
+
position: relative;
|
|
93
|
+
overflow: hidden;
|
|
94
|
+
}
|
|
95
|
+
.hero::before {
|
|
96
|
+
content: '';
|
|
97
|
+
position: absolute;
|
|
98
|
+
top: -200px;
|
|
99
|
+
left: 50%;
|
|
100
|
+
transform: translateX(-50%);
|
|
101
|
+
width: 800px;
|
|
102
|
+
height: 600px;
|
|
103
|
+
background: radial-gradient(ellipse, rgba(56,189,248,0.08) 0%, transparent 70%);
|
|
104
|
+
pointer-events: none;
|
|
105
|
+
}
|
|
106
|
+
.hero-badge {
|
|
107
|
+
display: inline-flex;
|
|
108
|
+
align-items: center;
|
|
109
|
+
gap: 8px;
|
|
110
|
+
padding: 6px 16px;
|
|
111
|
+
background: rgba(56,189,248,0.1);
|
|
112
|
+
border: 1px solid rgba(56,189,248,0.2);
|
|
113
|
+
border-radius: 99px;
|
|
114
|
+
font-size: 13px;
|
|
115
|
+
color: var(--accent);
|
|
116
|
+
margin-bottom: 24px;
|
|
117
|
+
}
|
|
118
|
+
.hero h1 {
|
|
119
|
+
font-size: clamp(32px, 6vw, 56px);
|
|
120
|
+
font-weight: 800;
|
|
121
|
+
line-height: 1.1;
|
|
122
|
+
margin-bottom: 16px;
|
|
123
|
+
}
|
|
124
|
+
.hero h1 span {
|
|
125
|
+
background: var(--gradient-1);
|
|
126
|
+
-webkit-background-clip: text;
|
|
127
|
+
-webkit-text-fill-color: transparent;
|
|
128
|
+
background-clip: text;
|
|
129
|
+
}
|
|
130
|
+
.hero-sub {
|
|
131
|
+
font-size: clamp(16px, 2.5vw, 20px);
|
|
132
|
+
color: var(--text-muted);
|
|
133
|
+
max-width: 640px;
|
|
134
|
+
margin: 0 auto 32px;
|
|
135
|
+
}
|
|
136
|
+
.hero-install {
|
|
137
|
+
display: inline-flex;
|
|
138
|
+
align-items: center;
|
|
139
|
+
gap: 12px;
|
|
140
|
+
background: var(--bg-surface);
|
|
141
|
+
border: 1px solid var(--border);
|
|
142
|
+
border-radius: 12px;
|
|
143
|
+
padding: 14px 24px;
|
|
144
|
+
font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
|
|
145
|
+
font-size: 15px;
|
|
146
|
+
color: var(--green);
|
|
147
|
+
cursor: pointer;
|
|
148
|
+
transition: all 0.2s;
|
|
149
|
+
}
|
|
150
|
+
.hero-install:hover {
|
|
151
|
+
border-color: var(--green);
|
|
152
|
+
box-shadow: 0 0 20px rgba(52,211,153,0.15);
|
|
153
|
+
}
|
|
154
|
+
.hero-install .copy-icon {
|
|
155
|
+
color: var(--text-muted);
|
|
156
|
+
font-size: 13px;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/* ===== SECTIONS ===== */
|
|
160
|
+
.section {
|
|
161
|
+
max-width: 1200px;
|
|
162
|
+
margin: 0 auto;
|
|
163
|
+
padding: 60px 24px;
|
|
164
|
+
}
|
|
165
|
+
.section-header {
|
|
166
|
+
text-align: center;
|
|
167
|
+
margin-bottom: 48px;
|
|
168
|
+
}
|
|
169
|
+
.section-header .label {
|
|
170
|
+
display: inline-block;
|
|
171
|
+
font-size: 12px;
|
|
172
|
+
font-weight: 700;
|
|
173
|
+
letter-spacing: 2px;
|
|
174
|
+
text-transform: uppercase;
|
|
175
|
+
color: var(--accent);
|
|
176
|
+
margin-bottom: 8px;
|
|
177
|
+
}
|
|
178
|
+
.section-header h2 {
|
|
179
|
+
font-size: clamp(24px, 4vw, 36px);
|
|
180
|
+
font-weight: 700;
|
|
181
|
+
margin-bottom: 12px;
|
|
182
|
+
}
|
|
183
|
+
.section-header p {
|
|
184
|
+
color: var(--text-muted);
|
|
185
|
+
font-size: 16px;
|
|
186
|
+
max-width: 600px;
|
|
187
|
+
margin: 0 auto;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* ===== ANALOGY ===== */
|
|
191
|
+
.analogy-grid {
|
|
192
|
+
display: grid;
|
|
193
|
+
grid-template-columns: 1fr;
|
|
194
|
+
gap: 24px;
|
|
195
|
+
max-width: 900px;
|
|
196
|
+
margin: 0 auto;
|
|
197
|
+
}
|
|
198
|
+
.analogy-card {
|
|
199
|
+
background: var(--bg-surface);
|
|
200
|
+
border: 1px solid var(--border);
|
|
201
|
+
border-radius: 16px;
|
|
202
|
+
padding: 32px;
|
|
203
|
+
position: relative;
|
|
204
|
+
overflow: hidden;
|
|
205
|
+
}
|
|
206
|
+
.analogy-card::before {
|
|
207
|
+
content: '';
|
|
208
|
+
position: absolute;
|
|
209
|
+
top: 0;
|
|
210
|
+
left: 0;
|
|
211
|
+
right: 0;
|
|
212
|
+
height: 3px;
|
|
213
|
+
}
|
|
214
|
+
.analogy-card.blue::before { background: var(--gradient-1); }
|
|
215
|
+
|
|
216
|
+
/* ===== CONCEPT CARDS ===== */
|
|
217
|
+
.concept-grid {
|
|
218
|
+
display: grid;
|
|
219
|
+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
220
|
+
gap: 20px;
|
|
221
|
+
}
|
|
222
|
+
.concept-card {
|
|
223
|
+
background: var(--bg-surface);
|
|
224
|
+
border: 1px solid var(--border);
|
|
225
|
+
border-radius: 16px;
|
|
226
|
+
padding: 28px;
|
|
227
|
+
transition: all 0.3s;
|
|
228
|
+
cursor: default;
|
|
229
|
+
position: relative;
|
|
230
|
+
overflow: hidden;
|
|
231
|
+
}
|
|
232
|
+
.concept-card:hover {
|
|
233
|
+
border-color: var(--accent);
|
|
234
|
+
transform: translateY(-2px);
|
|
235
|
+
box-shadow: 0 8px 32px rgba(0,0,0,0.3);
|
|
236
|
+
}
|
|
237
|
+
.concept-icon {
|
|
238
|
+
width: 48px;
|
|
239
|
+
height: 48px;
|
|
240
|
+
border-radius: 12px;
|
|
241
|
+
display: flex;
|
|
242
|
+
align-items: center;
|
|
243
|
+
justify-content: center;
|
|
244
|
+
font-size: 22px;
|
|
245
|
+
margin-bottom: 16px;
|
|
246
|
+
}
|
|
247
|
+
.concept-icon.blue { background: rgba(56,189,248,0.15); }
|
|
248
|
+
.concept-icon.green { background: rgba(52,211,153,0.15); }
|
|
249
|
+
.concept-icon.purple { background: rgba(129,140,248,0.15); }
|
|
250
|
+
.concept-icon.orange { background: rgba(251,146,60,0.15); }
|
|
251
|
+
.concept-icon.pink { background: rgba(244,114,182,0.15); }
|
|
252
|
+
.concept-card h3 {
|
|
253
|
+
font-size: 18px;
|
|
254
|
+
font-weight: 700;
|
|
255
|
+
margin-bottom: 8px;
|
|
256
|
+
}
|
|
257
|
+
.concept-card .tech-name {
|
|
258
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
259
|
+
font-size: 12px;
|
|
260
|
+
color: var(--accent);
|
|
261
|
+
margin-bottom: 8px;
|
|
262
|
+
}
|
|
263
|
+
.concept-card p {
|
|
264
|
+
font-size: 14px;
|
|
265
|
+
color: var(--text-muted);
|
|
266
|
+
margin-bottom: 12px;
|
|
267
|
+
}
|
|
268
|
+
.concept-tag {
|
|
269
|
+
display: inline-block;
|
|
270
|
+
padding: 2px 8px;
|
|
271
|
+
background: rgba(56,189,248,0.1);
|
|
272
|
+
border-radius: 4px;
|
|
273
|
+
font-size: 11px;
|
|
274
|
+
color: var(--accent);
|
|
275
|
+
margin-right: 4px;
|
|
276
|
+
margin-bottom: 4px;
|
|
277
|
+
}
|
|
278
|
+
.concept-tag.green { background: rgba(52,211,153,0.1); color: var(--green); }
|
|
279
|
+
.concept-tag.orange { background: rgba(251,146,60,0.1); color: var(--orange); }
|
|
280
|
+
.concept-tag.purple { background: rgba(129,140,248,0.1); color: var(--accent2); }
|
|
281
|
+
|
|
282
|
+
/* ===== FLOW DIAGRAM ===== */
|
|
283
|
+
.flow-container {
|
|
284
|
+
background: var(--bg-surface);
|
|
285
|
+
border: 1px solid var(--border);
|
|
286
|
+
border-radius: 16px;
|
|
287
|
+
padding: 32px;
|
|
288
|
+
overflow-x: auto;
|
|
289
|
+
}
|
|
290
|
+
.flow-steps {
|
|
291
|
+
display: flex;
|
|
292
|
+
align-items: center;
|
|
293
|
+
justify-content: center;
|
|
294
|
+
gap: 8px;
|
|
295
|
+
flex-wrap: wrap;
|
|
296
|
+
min-width: fit-content;
|
|
297
|
+
}
|
|
298
|
+
.flow-step {
|
|
299
|
+
display: flex;
|
|
300
|
+
flex-direction: column;
|
|
301
|
+
align-items: center;
|
|
302
|
+
gap: 8px;
|
|
303
|
+
padding: 16px 12px;
|
|
304
|
+
border-radius: 12px;
|
|
305
|
+
min-width: 120px;
|
|
306
|
+
transition: all 0.3s;
|
|
307
|
+
cursor: default;
|
|
308
|
+
}
|
|
309
|
+
.flow-step:hover { background: rgba(56,189,248,0.05); }
|
|
310
|
+
.flow-step .step-num {
|
|
311
|
+
width: 32px;
|
|
312
|
+
height: 32px;
|
|
313
|
+
border-radius: 50%;
|
|
314
|
+
display: flex;
|
|
315
|
+
align-items: center;
|
|
316
|
+
justify-content: center;
|
|
317
|
+
font-size: 13px;
|
|
318
|
+
font-weight: 700;
|
|
319
|
+
color: white;
|
|
320
|
+
}
|
|
321
|
+
.flow-step .step-num.blue { background: rgba(56,189,248,0.3); color: var(--accent); }
|
|
322
|
+
.flow-step .step-num.green { background: rgba(52,211,153,0.3); color: var(--green); }
|
|
323
|
+
.flow-step .step-num.purple { background: rgba(129,140,248,0.3); color: var(--accent2); }
|
|
324
|
+
.flow-step .step-num.orange { background: rgba(251,146,60,0.3); color: var(--orange); }
|
|
325
|
+
.flow-step .step-num.pink { background: rgba(244,114,182,0.3); color: var(--pink); }
|
|
326
|
+
.flow-step .step-label {
|
|
327
|
+
font-size: 12px;
|
|
328
|
+
font-weight: 600;
|
|
329
|
+
text-align: center;
|
|
330
|
+
}
|
|
331
|
+
.flow-step .step-desc {
|
|
332
|
+
font-size: 11px;
|
|
333
|
+
color: var(--text-muted);
|
|
334
|
+
text-align: center;
|
|
335
|
+
}
|
|
336
|
+
.flow-arrow {
|
|
337
|
+
font-size: 18px;
|
|
338
|
+
color: var(--text-dim);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/* ===== TABS ===== */
|
|
342
|
+
.tab-container {
|
|
343
|
+
background: var(--bg-surface);
|
|
344
|
+
border: 1px solid var(--border);
|
|
345
|
+
border-radius: 16px;
|
|
346
|
+
overflow: hidden;
|
|
347
|
+
}
|
|
348
|
+
.tab-header {
|
|
349
|
+
display: flex;
|
|
350
|
+
border-bottom: 1px solid var(--border);
|
|
351
|
+
overflow-x: auto;
|
|
352
|
+
}
|
|
353
|
+
.tab-btn {
|
|
354
|
+
flex: 1;
|
|
355
|
+
padding: 14px 20px;
|
|
356
|
+
background: none;
|
|
357
|
+
border: none;
|
|
358
|
+
color: var(--text-muted);
|
|
359
|
+
font-size: 14px;
|
|
360
|
+
font-weight: 600;
|
|
361
|
+
cursor: pointer;
|
|
362
|
+
transition: all 0.2s;
|
|
363
|
+
white-space: nowrap;
|
|
364
|
+
position: relative;
|
|
365
|
+
font-family: inherit;
|
|
366
|
+
}
|
|
367
|
+
.tab-btn:hover { color: var(--text); background: rgba(255,255,255,0.02); }
|
|
368
|
+
.tab-btn.active {
|
|
369
|
+
color: var(--accent);
|
|
370
|
+
background: rgba(56,189,248,0.05);
|
|
371
|
+
}
|
|
372
|
+
.tab-btn.active::after {
|
|
373
|
+
content: '';
|
|
374
|
+
position: absolute;
|
|
375
|
+
bottom: 0; left: 0; right: 0;
|
|
376
|
+
height: 2px;
|
|
377
|
+
background: var(--accent);
|
|
378
|
+
}
|
|
379
|
+
.tab-content {
|
|
380
|
+
display: none;
|
|
381
|
+
padding: 24px;
|
|
382
|
+
animation: fadeIn 0.3s ease;
|
|
383
|
+
}
|
|
384
|
+
.tab-content.active { display: block; }
|
|
385
|
+
@keyframes fadeIn {
|
|
386
|
+
from { opacity: 0; transform: translateY(8px); }
|
|
387
|
+
to { opacity: 1; transform: translateY(0); }
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
/* ===== TABLE ===== */
|
|
391
|
+
.cmd-table {
|
|
392
|
+
width: 100%;
|
|
393
|
+
border-collapse: collapse;
|
|
394
|
+
}
|
|
395
|
+
.cmd-table th {
|
|
396
|
+
text-align: left;
|
|
397
|
+
padding: 12px 16px;
|
|
398
|
+
font-size: 12px;
|
|
399
|
+
font-weight: 700;
|
|
400
|
+
text-transform: uppercase;
|
|
401
|
+
letter-spacing: 1px;
|
|
402
|
+
color: var(--text-muted);
|
|
403
|
+
border-bottom: 1px solid var(--border);
|
|
404
|
+
}
|
|
405
|
+
.cmd-table td {
|
|
406
|
+
padding: 12px 16px;
|
|
407
|
+
border-bottom: 1px solid rgba(51,65,85,0.5);
|
|
408
|
+
font-size: 14px;
|
|
409
|
+
}
|
|
410
|
+
.cmd-table tr:hover td { background: rgba(56,189,248,0.03); }
|
|
411
|
+
.cmd-table code {
|
|
412
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
413
|
+
font-size: 13px;
|
|
414
|
+
color: var(--green);
|
|
415
|
+
background: rgba(52,211,153,0.1);
|
|
416
|
+
padding: 2px 8px;
|
|
417
|
+
border-radius: 4px;
|
|
418
|
+
}
|
|
419
|
+
.cmd-table .desc { color: var(--text-muted); }
|
|
420
|
+
|
|
421
|
+
/* ===== WORKFLOW ===== */
|
|
422
|
+
.workflow-grid {
|
|
423
|
+
display: grid;
|
|
424
|
+
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
|
|
425
|
+
gap: 24px;
|
|
426
|
+
}
|
|
427
|
+
.workflow-card {
|
|
428
|
+
background: var(--bg-surface);
|
|
429
|
+
border: 1px solid var(--border);
|
|
430
|
+
border-radius: 16px;
|
|
431
|
+
padding: 28px;
|
|
432
|
+
position: relative;
|
|
433
|
+
}
|
|
434
|
+
.workflow-card::before {
|
|
435
|
+
content: '';
|
|
436
|
+
position: absolute;
|
|
437
|
+
top: 0; left: 0; right: 0;
|
|
438
|
+
height: 3px;
|
|
439
|
+
border-radius: 16px 16px 0 0;
|
|
440
|
+
}
|
|
441
|
+
.workflow-card.fast::before { background: var(--gradient-2); }
|
|
442
|
+
.workflow-card.spec::before { background: var(--gradient-3); }
|
|
443
|
+
.workflow-label {
|
|
444
|
+
display: inline-block;
|
|
445
|
+
font-size: 11px;
|
|
446
|
+
font-weight: 700;
|
|
447
|
+
letter-spacing: 1.5px;
|
|
448
|
+
text-transform: uppercase;
|
|
449
|
+
padding: 4px 10px;
|
|
450
|
+
border-radius: 4px;
|
|
451
|
+
margin-bottom: 12px;
|
|
452
|
+
}
|
|
453
|
+
.workflow-label.fast { background: rgba(52,211,153,0.15); color: var(--green); }
|
|
454
|
+
.workflow-label.spec { background: rgba(244,114,182,0.15); color: var(--pink); }
|
|
455
|
+
.workflow-card h3 {
|
|
456
|
+
font-size: 20px;
|
|
457
|
+
font-weight: 700;
|
|
458
|
+
margin-bottom: 8px;
|
|
459
|
+
}
|
|
460
|
+
.workflow-card .when {
|
|
461
|
+
font-size: 14px;
|
|
462
|
+
color: var(--text-muted);
|
|
463
|
+
margin-bottom: 16px;
|
|
464
|
+
}
|
|
465
|
+
.workflow-steps {
|
|
466
|
+
display: flex;
|
|
467
|
+
flex-direction: column;
|
|
468
|
+
gap: 8px;
|
|
469
|
+
}
|
|
470
|
+
.workflow-step-item {
|
|
471
|
+
display: flex;
|
|
472
|
+
align-items: center;
|
|
473
|
+
gap: 10px;
|
|
474
|
+
padding: 8px 12px;
|
|
475
|
+
background: rgba(0,0,0,0.2);
|
|
476
|
+
border-radius: 8px;
|
|
477
|
+
font-size: 13px;
|
|
478
|
+
}
|
|
479
|
+
.workflow-step-item code {
|
|
480
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
481
|
+
color: var(--green);
|
|
482
|
+
font-size: 12px;
|
|
483
|
+
}
|
|
484
|
+
.workflow-step-item .arrow-right { color: var(--text-dim); }
|
|
485
|
+
|
|
486
|
+
/* ===== SCENARIOS ===== */
|
|
487
|
+
.scenario-grid {
|
|
488
|
+
display: grid;
|
|
489
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
490
|
+
gap: 20px;
|
|
491
|
+
}
|
|
492
|
+
.scenario-card {
|
|
493
|
+
background: var(--bg-surface);
|
|
494
|
+
border: 1px solid var(--border);
|
|
495
|
+
border-radius: 16px;
|
|
496
|
+
padding: 24px;
|
|
497
|
+
transition: all 0.3s;
|
|
498
|
+
}
|
|
499
|
+
.scenario-card:hover {
|
|
500
|
+
border-color: var(--border-light);
|
|
501
|
+
transform: translateY(-2px);
|
|
502
|
+
}
|
|
503
|
+
.scenario-header {
|
|
504
|
+
display: flex;
|
|
505
|
+
align-items: center;
|
|
506
|
+
gap: 12px;
|
|
507
|
+
margin-bottom: 12px;
|
|
508
|
+
}
|
|
509
|
+
.scenario-time {
|
|
510
|
+
font-size: 11px;
|
|
511
|
+
color: var(--orange);
|
|
512
|
+
background: rgba(251,146,60,0.1);
|
|
513
|
+
padding: 2px 8px;
|
|
514
|
+
border-radius: 4px;
|
|
515
|
+
font-weight: 600;
|
|
516
|
+
}
|
|
517
|
+
.scenario-card h4 { font-size: 15px; font-weight: 600; }
|
|
518
|
+
.scenario-card .scenario-desc {
|
|
519
|
+
font-size: 13px;
|
|
520
|
+
color: var(--text-muted);
|
|
521
|
+
margin-bottom: 12px;
|
|
522
|
+
}
|
|
523
|
+
.scenario-cmd {
|
|
524
|
+
background: rgba(0,0,0,0.3);
|
|
525
|
+
border-radius: 8px;
|
|
526
|
+
padding: 12px;
|
|
527
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
528
|
+
font-size: 12px;
|
|
529
|
+
color: var(--green);
|
|
530
|
+
line-height: 1.8;
|
|
531
|
+
}
|
|
532
|
+
.scenario-cmd .comment { color: var(--text-dim); }
|
|
533
|
+
|
|
534
|
+
/* ===== STATS ===== */
|
|
535
|
+
.stats-grid {
|
|
536
|
+
display: grid;
|
|
537
|
+
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
538
|
+
gap: 16px;
|
|
539
|
+
margin-bottom: 48px;
|
|
540
|
+
}
|
|
541
|
+
.stat-card {
|
|
542
|
+
background: var(--bg-surface);
|
|
543
|
+
border: 1px solid var(--border);
|
|
544
|
+
border-radius: 12px;
|
|
545
|
+
padding: 24px;
|
|
546
|
+
text-align: center;
|
|
547
|
+
transition: all 0.3s;
|
|
548
|
+
}
|
|
549
|
+
.stat-card:hover {
|
|
550
|
+
border-color: var(--accent);
|
|
551
|
+
transform: translateY(-2px);
|
|
552
|
+
}
|
|
553
|
+
.stat-num {
|
|
554
|
+
font-size: 32px;
|
|
555
|
+
font-weight: 800;
|
|
556
|
+
background: var(--gradient-1);
|
|
557
|
+
-webkit-background-clip: text;
|
|
558
|
+
-webkit-text-fill-color: transparent;
|
|
559
|
+
background-clip: text;
|
|
560
|
+
line-height: 1.2;
|
|
561
|
+
}
|
|
562
|
+
.stat-label {
|
|
563
|
+
font-size: 13px;
|
|
564
|
+
color: var(--text-muted);
|
|
565
|
+
margin-top: 4px;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
/* ===== DECISION TREE ===== */
|
|
569
|
+
.decision-tree {
|
|
570
|
+
max-width: 700px;
|
|
571
|
+
margin: 0 auto;
|
|
572
|
+
}
|
|
573
|
+
.decision-node {
|
|
574
|
+
background: var(--bg-surface);
|
|
575
|
+
border: 1px solid var(--border);
|
|
576
|
+
border-radius: 12px;
|
|
577
|
+
padding: 16px 20px;
|
|
578
|
+
margin-bottom: 12px;
|
|
579
|
+
display: flex;
|
|
580
|
+
align-items: center;
|
|
581
|
+
justify-content: space-between;
|
|
582
|
+
transition: all 0.3s;
|
|
583
|
+
cursor: pointer;
|
|
584
|
+
}
|
|
585
|
+
.decision-node:hover {
|
|
586
|
+
border-color: var(--accent);
|
|
587
|
+
background: rgba(56,189,248,0.03);
|
|
588
|
+
}
|
|
589
|
+
.decision-node.expanded {
|
|
590
|
+
border-color: var(--accent);
|
|
591
|
+
border-bottom-left-radius: 0;
|
|
592
|
+
border-bottom-right-radius: 0;
|
|
593
|
+
margin-bottom: 0;
|
|
594
|
+
}
|
|
595
|
+
.decision-q { font-size: 15px; font-weight: 600; }
|
|
596
|
+
.decision-q .q-icon { color: var(--accent); margin-right: 8px; }
|
|
597
|
+
.decision-answer {
|
|
598
|
+
display: none;
|
|
599
|
+
background: rgba(56,189,248,0.03);
|
|
600
|
+
border: 1px solid var(--border);
|
|
601
|
+
border-top: none;
|
|
602
|
+
border-radius: 0 0 12px 12px;
|
|
603
|
+
padding: 16px 20px;
|
|
604
|
+
margin-bottom: 12px;
|
|
605
|
+
}
|
|
606
|
+
.decision-answer.show { display: block; }
|
|
607
|
+
.decision-answer code {
|
|
608
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
609
|
+
color: var(--green);
|
|
610
|
+
background: rgba(52,211,153,0.1);
|
|
611
|
+
padding: 2px 8px;
|
|
612
|
+
border-radius: 4px;
|
|
613
|
+
font-size: 13px;
|
|
614
|
+
}
|
|
615
|
+
.decision-answer .answer-desc {
|
|
616
|
+
color: var(--text-muted);
|
|
617
|
+
font-size: 13px;
|
|
618
|
+
margin-top: 4px;
|
|
619
|
+
}
|
|
620
|
+
.decision-toggle {
|
|
621
|
+
color: var(--text-dim);
|
|
622
|
+
font-size: 18px;
|
|
623
|
+
transition: transform 0.2s;
|
|
624
|
+
}
|
|
625
|
+
.decision-node.expanded .decision-toggle {
|
|
626
|
+
transform: rotate(180deg);
|
|
627
|
+
color: var(--accent);
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
/* ===== RESOURCE MAP ===== */
|
|
631
|
+
.resource-map {
|
|
632
|
+
display: grid;
|
|
633
|
+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
634
|
+
gap: 16px;
|
|
635
|
+
}
|
|
636
|
+
.resource-item {
|
|
637
|
+
background: var(--bg-surface);
|
|
638
|
+
border: 1px solid var(--border);
|
|
639
|
+
border-radius: 12px;
|
|
640
|
+
padding: 20px;
|
|
641
|
+
transition: all 0.3s;
|
|
642
|
+
}
|
|
643
|
+
.resource-item:hover { border-color: var(--border-light); }
|
|
644
|
+
.resource-item h4 {
|
|
645
|
+
font-size: 14px;
|
|
646
|
+
font-weight: 700;
|
|
647
|
+
margin-bottom: 8px;
|
|
648
|
+
display: flex;
|
|
649
|
+
align-items: center;
|
|
650
|
+
gap: 8px;
|
|
651
|
+
}
|
|
652
|
+
.resource-item ul { list-style: none; padding: 0; }
|
|
653
|
+
.resource-item li {
|
|
654
|
+
font-size: 12px;
|
|
655
|
+
color: var(--text-muted);
|
|
656
|
+
padding: 3px 0;
|
|
657
|
+
border-bottom: 1px solid rgba(51,65,85,0.3);
|
|
658
|
+
}
|
|
659
|
+
.resource-item li:last-child { border-bottom: none; }
|
|
660
|
+
|
|
661
|
+
/* ===== INSTALL ===== */
|
|
662
|
+
.install-box {
|
|
663
|
+
max-width: 700px;
|
|
664
|
+
margin: 0 auto;
|
|
665
|
+
background: var(--bg-surface);
|
|
666
|
+
border: 1px solid var(--border);
|
|
667
|
+
border-radius: 16px;
|
|
668
|
+
overflow: hidden;
|
|
669
|
+
}
|
|
670
|
+
.install-header {
|
|
671
|
+
padding: 12px 20px;
|
|
672
|
+
background: rgba(0,0,0,0.2);
|
|
673
|
+
border-bottom: 1px solid var(--border);
|
|
674
|
+
display: flex;
|
|
675
|
+
align-items: center;
|
|
676
|
+
gap: 8px;
|
|
677
|
+
}
|
|
678
|
+
.install-dot { width: 10px; height: 10px; border-radius: 50%; }
|
|
679
|
+
.install-dot.red { background: #ff5f57; }
|
|
680
|
+
.install-dot.yellow { background: #febc2e; }
|
|
681
|
+
.install-dot.green { background: #28c840; }
|
|
682
|
+
.install-header span {
|
|
683
|
+
font-size: 12px;
|
|
684
|
+
color: var(--text-dim);
|
|
685
|
+
margin-left: 12px;
|
|
686
|
+
}
|
|
687
|
+
.install-body {
|
|
688
|
+
padding: 24px;
|
|
689
|
+
font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
|
|
690
|
+
font-size: 14px;
|
|
691
|
+
line-height: 2;
|
|
692
|
+
}
|
|
693
|
+
.install-body .prompt { color: var(--text-dim); }
|
|
694
|
+
.install-body .cmd { color: var(--green); }
|
|
695
|
+
.install-body .comment { color: var(--text-dim); font-style: italic; }
|
|
696
|
+
.install-body .output { color: var(--text-muted); }
|
|
697
|
+
.install-body .success { color: var(--green); }
|
|
698
|
+
|
|
699
|
+
/* ===== COMPARE TABLE ===== */
|
|
700
|
+
.compare-table {
|
|
701
|
+
width: 100%;
|
|
702
|
+
border-collapse: collapse;
|
|
703
|
+
margin: 24px 0;
|
|
704
|
+
}
|
|
705
|
+
.compare-table th, .compare-table td {
|
|
706
|
+
padding: 14px 16px;
|
|
707
|
+
text-align: left;
|
|
708
|
+
font-size: 14px;
|
|
709
|
+
border-bottom: 1px solid var(--border);
|
|
710
|
+
}
|
|
711
|
+
.compare-table th {
|
|
712
|
+
font-weight: 700;
|
|
713
|
+
color: var(--accent);
|
|
714
|
+
font-size: 13px;
|
|
715
|
+
text-transform: uppercase;
|
|
716
|
+
letter-spacing: 0.5px;
|
|
717
|
+
}
|
|
718
|
+
.compare-table td { color: var(--text-muted); }
|
|
719
|
+
.compare-table tr:hover td { background: rgba(56,189,248,0.03); }
|
|
720
|
+
|
|
721
|
+
/* ===== FOOTER ===== */
|
|
722
|
+
.footer {
|
|
723
|
+
padding: 40px 24px;
|
|
724
|
+
text-align: center;
|
|
725
|
+
border-top: 1px solid var(--border);
|
|
726
|
+
margin-top: 60px;
|
|
727
|
+
}
|
|
728
|
+
.footer p { font-size: 13px; color: var(--text-dim); }
|
|
729
|
+
.footer a { color: var(--accent); text-decoration: none; }
|
|
730
|
+
|
|
731
|
+
.divider {
|
|
732
|
+
height: 1px;
|
|
733
|
+
background: var(--border);
|
|
734
|
+
max-width: 1200px;
|
|
735
|
+
margin: 0 auto;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
/* ===== RESPONSIVE ===== */
|
|
739
|
+
@media (max-width: 768px) {
|
|
740
|
+
.nav-links { display: none; }
|
|
741
|
+
.flow-steps { justify-content: flex-start; }
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
html { scroll-behavior: smooth; }
|
|
745
|
+
section { scroll-margin-top: 70px; }
|
|
746
|
+
|
|
747
|
+
.tip-box {
|
|
748
|
+
background: rgba(56,189,248,0.05);
|
|
749
|
+
border: 1px solid rgba(56,189,248,0.15);
|
|
750
|
+
border-left: 3px solid var(--accent);
|
|
751
|
+
border-radius: 8px;
|
|
752
|
+
padding: 16px 20px;
|
|
753
|
+
margin: 20px 0;
|
|
754
|
+
font-size: 14px;
|
|
755
|
+
color: var(--text-muted);
|
|
756
|
+
}
|
|
757
|
+
.tip-box strong { color: var(--accent); }
|
|
758
|
+
|
|
759
|
+
.warning-box {
|
|
760
|
+
background: rgba(251,146,60,0.05);
|
|
761
|
+
border: 1px solid rgba(251,146,60,0.15);
|
|
762
|
+
border-left: 3px solid var(--orange);
|
|
763
|
+
border-radius: 8px;
|
|
764
|
+
padding: 16px 20px;
|
|
765
|
+
margin: 20px 0;
|
|
766
|
+
font-size: 14px;
|
|
767
|
+
color: var(--text-muted);
|
|
768
|
+
}
|
|
769
|
+
.warning-box strong { color: var(--orange); }
|
|
770
|
+
</style>
|
|
771
|
+
</head>
|
|
772
|
+
<body>
|
|
773
|
+
|
|
774
|
+
<!-- ===== NAV ===== -->
|
|
775
|
+
<nav class="nav">
|
|
776
|
+
<div class="nav-inner">
|
|
777
|
+
<div class="nav-logo">CoKit</div>
|
|
778
|
+
<div class="nav-links">
|
|
779
|
+
<a href="#what">What is CoKit?</a>
|
|
780
|
+
<a href="#concepts">5 Parts</a>
|
|
781
|
+
<a href="#how">How it Works</a>
|
|
782
|
+
<a href="#commands">Commands</a>
|
|
783
|
+
<a href="#workflows">Workflows</a>
|
|
784
|
+
<a href="#scenarios">Examples</a>
|
|
785
|
+
<a href="#decide">Pick a Command</a>
|
|
786
|
+
<a href="#flowchart">Flowchart</a>
|
|
787
|
+
<a href="#deepdive">Deep Dive</a>
|
|
788
|
+
<a href="#resources">Resources</a>
|
|
789
|
+
<a href="#install">Install</a>
|
|
790
|
+
</div>
|
|
791
|
+
</div>
|
|
792
|
+
</nav>
|
|
793
|
+
|
|
794
|
+
<!-- ===== HERO ===== -->
|
|
795
|
+
<header class="hero">
|
|
796
|
+
<div class="hero-badge">⚡ Version 1.1.0</div>
|
|
797
|
+
<h1>Make <span>GitHub Copilot</span><br>smarter in 30 seconds</h1>
|
|
798
|
+
<p class="hero-sub">CoKit gives Copilot ready-made workflows, AI experts, and coding rules — so it understands your project and works like a real developer.</p>
|
|
799
|
+
<div class="hero-install" onclick="copyInstall()" id="installCmd">
|
|
800
|
+
<span>npx cokit-cli init -g</span>
|
|
801
|
+
<span class="copy-icon" id="copyIcon">📋 copy</span>
|
|
802
|
+
</div>
|
|
803
|
+
</header>
|
|
804
|
+
|
|
805
|
+
<!-- ===== STATS ===== -->
|
|
806
|
+
<section class="section">
|
|
807
|
+
<div class="stats-grid">
|
|
808
|
+
<div class="stat-card">
|
|
809
|
+
<div class="stat-num">28</div>
|
|
810
|
+
<div class="stat-label">Prompts (Commands)</div>
|
|
811
|
+
</div>
|
|
812
|
+
<div class="stat-card">
|
|
813
|
+
<div class="stat-num">12</div>
|
|
814
|
+
<div class="stat-label">Agents (Experts)</div>
|
|
815
|
+
</div>
|
|
816
|
+
<div class="stat-card">
|
|
817
|
+
<div class="stat-num">23</div>
|
|
818
|
+
<div class="stat-label">Skills (Knowledge)</div>
|
|
819
|
+
</div>
|
|
820
|
+
<div class="stat-card">
|
|
821
|
+
<div class="stat-num">5</div>
|
|
822
|
+
<div class="stat-label">Instructions (Rules)</div>
|
|
823
|
+
</div>
|
|
824
|
+
<div class="stat-card">
|
|
825
|
+
<div class="stat-num">5</div>
|
|
826
|
+
<div class="stat-label">Collections (Bundles)</div>
|
|
827
|
+
</div>
|
|
828
|
+
</div>
|
|
829
|
+
</section>
|
|
830
|
+
|
|
831
|
+
<div class="divider"></div>
|
|
832
|
+
|
|
833
|
+
<!-- ===== WHAT IS COKIT ===== -->
|
|
834
|
+
<section class="section" id="what">
|
|
835
|
+
<div class="section-header">
|
|
836
|
+
<div class="label">Introduction</div>
|
|
837
|
+
<h2>What is CoKit?</h2>
|
|
838
|
+
<p>Think of it like running a restaurant...</p>
|
|
839
|
+
</div>
|
|
840
|
+
|
|
841
|
+
<div class="analogy-grid">
|
|
842
|
+
<div class="analogy-card blue">
|
|
843
|
+
<h3 style="margin-bottom: 16px; color: var(--accent);">🍽 Restaurant vs 💻 CoKit</h3>
|
|
844
|
+
<table class="compare-table">
|
|
845
|
+
<tr>
|
|
846
|
+
<th>Restaurant</th>
|
|
847
|
+
<th>CoKit</th>
|
|
848
|
+
</tr>
|
|
849
|
+
<tr>
|
|
850
|
+
<td><strong>Menu</strong> — Customer picks a dish</td>
|
|
851
|
+
<td><strong>Prompts</strong> — You type a command: <code>/ck.fix</code>, <code>/ck.plan</code></td>
|
|
852
|
+
</tr>
|
|
853
|
+
<tr>
|
|
854
|
+
<td><strong>Expert chefs</strong> — People who do the cooking</td>
|
|
855
|
+
<td><strong>Agents</strong> — AI specialists: debugger, planner, tester...</td>
|
|
856
|
+
</tr>
|
|
857
|
+
<tr>
|
|
858
|
+
<td><strong>Recipes</strong> — Deep cooking knowledge</td>
|
|
859
|
+
<td><strong>Skills</strong> — Knowledge: debugging, code-review, planning...</td>
|
|
860
|
+
</tr>
|
|
861
|
+
<tr>
|
|
862
|
+
<td><strong>Kitchen rules</strong> — Rules everyone follows</td>
|
|
863
|
+
<td><strong>Instructions</strong> — Auto coding standards: frontend, backend, testing</td>
|
|
864
|
+
</tr>
|
|
865
|
+
<tr>
|
|
866
|
+
<td><strong>Combo meal</strong> — Bundle of items</td>
|
|
867
|
+
<td><strong>Collections</strong> — Group of resources by topic</td>
|
|
868
|
+
</tr>
|
|
869
|
+
</table>
|
|
870
|
+
</div>
|
|
871
|
+
|
|
872
|
+
<div class="tip-box">
|
|
873
|
+
<strong>💡 In short:</strong> GitHub Copilot is like a super talented chef who doesn't know your restaurant yet. CoKit gives it the menu, recipes, and kitchen rules — so the chef can work better right away.
|
|
874
|
+
</div>
|
|
875
|
+
</div>
|
|
876
|
+
</section>
|
|
877
|
+
|
|
878
|
+
<div class="divider"></div>
|
|
879
|
+
|
|
880
|
+
<!-- ===== 5 CONCEPTS ===== -->
|
|
881
|
+
<section class="section" id="concepts">
|
|
882
|
+
<div class="section-header">
|
|
883
|
+
<div class="label">Core Concepts</div>
|
|
884
|
+
<h2>The 5 Parts of CoKit</h2>
|
|
885
|
+
<p>Each part has its own job. They work together automatically.</p>
|
|
886
|
+
</div>
|
|
887
|
+
|
|
888
|
+
<div class="concept-grid">
|
|
889
|
+
<!-- PROMPT -->
|
|
890
|
+
<div class="concept-card">
|
|
891
|
+
<div class="concept-icon blue">💬</div>
|
|
892
|
+
<div class="tech-name">Prompt</div>
|
|
893
|
+
<h3>Commands you type</h3>
|
|
894
|
+
<p>Like a <strong>button on your phone</strong>. You type a command, and Copilot knows exactly what to do. Each prompt is a complete workflow.</p>
|
|
895
|
+
<p><strong>How to use:</strong> Type <code style="color: var(--green);">/ck.fix</code> in Copilot Chat</p>
|
|
896
|
+
<div>
|
|
897
|
+
<span class="concept-tag">28 prompts</span>
|
|
898
|
+
<span class="concept-tag">You trigger it</span>
|
|
899
|
+
</div>
|
|
900
|
+
</div>
|
|
901
|
+
|
|
902
|
+
<!-- AGENT -->
|
|
903
|
+
<div class="concept-card">
|
|
904
|
+
<div class="concept-icon purple">🤖</div>
|
|
905
|
+
<div class="tech-name">Agent</div>
|
|
906
|
+
<h3>AI specialists</h3>
|
|
907
|
+
<p>Like <strong>experts on your team</strong>. Each agent has a special skill: one fixes bugs, one writes tests, one makes plans.</p>
|
|
908
|
+
<p><strong>How it works:</strong> Prompts call them automatically</p>
|
|
909
|
+
<div>
|
|
910
|
+
<span class="concept-tag purple">12 agents</span>
|
|
911
|
+
<span class="concept-tag purple">Automatic</span>
|
|
912
|
+
</div>
|
|
913
|
+
</div>
|
|
914
|
+
|
|
915
|
+
<!-- SKILL -->
|
|
916
|
+
<div class="concept-card">
|
|
917
|
+
<div class="concept-icon green">📚</div>
|
|
918
|
+
<div class="tech-name">Skill</div>
|
|
919
|
+
<h3>Deep knowledge</h3>
|
|
920
|
+
<p>Like a <strong>textbook</strong>. Teaches Copilot the right way to debug, review code, and plan — instead of guessing.</p>
|
|
921
|
+
<p><strong>How it works:</strong> Turns on automatically based on what you're doing</p>
|
|
922
|
+
<div>
|
|
923
|
+
<span class="concept-tag green">23 skills</span>
|
|
924
|
+
<span class="concept-tag green">Context-aware</span>
|
|
925
|
+
</div>
|
|
926
|
+
</div>
|
|
927
|
+
|
|
928
|
+
<!-- INSTRUCTION -->
|
|
929
|
+
<div class="concept-card">
|
|
930
|
+
<div class="concept-icon orange">📜</div>
|
|
931
|
+
<div class="tech-name">Instruction</div>
|
|
932
|
+
<h3>Auto coding rules</h3>
|
|
933
|
+
<p>Like <strong>company rules</strong>. When Copilot edits a React file → frontend rules apply. Edits an API file → backend rules apply.</p>
|
|
934
|
+
<p><strong>How it works:</strong> Applies automatically based on file type</p>
|
|
935
|
+
<div>
|
|
936
|
+
<span class="concept-tag orange">5 instructions</span>
|
|
937
|
+
<span class="concept-tag orange">Auto-apply</span>
|
|
938
|
+
</div>
|
|
939
|
+
</div>
|
|
940
|
+
|
|
941
|
+
<!-- COLLECTION -->
|
|
942
|
+
<div class="concept-card">
|
|
943
|
+
<div class="concept-icon pink">📦</div>
|
|
944
|
+
<div class="tech-name">Collection</div>
|
|
945
|
+
<h3>Resource bundles</h3>
|
|
946
|
+
<p>Like a <strong>combo meal</strong>. Groups prompts + agents + skills by topic: core development, git workflow, documentation...</p>
|
|
947
|
+
<p><strong>How it works:</strong> Pick the bundle you need</p>
|
|
948
|
+
<div>
|
|
949
|
+
<span class="concept-tag" style="background: rgba(244,114,182,0.1); color: var(--pink);">5 collections</span>
|
|
950
|
+
</div>
|
|
951
|
+
</div>
|
|
952
|
+
</div>
|
|
953
|
+
</section>
|
|
954
|
+
|
|
955
|
+
<div class="divider"></div>
|
|
956
|
+
|
|
957
|
+
<!-- ===== HOW IT WORKS ===== -->
|
|
958
|
+
<section class="section" id="how">
|
|
959
|
+
<div class="section-header">
|
|
960
|
+
<div class="label">How It Works</div>
|
|
961
|
+
<h2>What happens when you type a command?</h2>
|
|
962
|
+
<p>You just type the command. Everything else is automatic.</p>
|
|
963
|
+
</div>
|
|
964
|
+
|
|
965
|
+
<div class="flow-container">
|
|
966
|
+
<div class="flow-steps">
|
|
967
|
+
<div class="flow-step">
|
|
968
|
+
<div class="step-num blue">1</div>
|
|
969
|
+
<div class="step-label">You type</div>
|
|
970
|
+
<div class="step-desc" style="color: var(--green); font-family: monospace;">/ck.fix</div>
|
|
971
|
+
</div>
|
|
972
|
+
<div class="flow-arrow">→</div>
|
|
973
|
+
<div class="flow-step">
|
|
974
|
+
<div class="step-num purple">2</div>
|
|
975
|
+
<div class="step-label">Prompt starts</div>
|
|
976
|
+
<div class="step-desc">Bug-fix workflow</div>
|
|
977
|
+
</div>
|
|
978
|
+
<div class="flow-arrow">→</div>
|
|
979
|
+
<div class="flow-step">
|
|
980
|
+
<div class="step-num green">3</div>
|
|
981
|
+
<div class="step-label">Agent works</div>
|
|
982
|
+
<div class="step-desc">Debugger expert</div>
|
|
983
|
+
</div>
|
|
984
|
+
<div class="flow-arrow">→</div>
|
|
985
|
+
<div class="flow-step">
|
|
986
|
+
<div class="step-num orange">4</div>
|
|
987
|
+
<div class="step-label">Rules apply</div>
|
|
988
|
+
<div class="step-desc">Auto code standards</div>
|
|
989
|
+
</div>
|
|
990
|
+
<div class="flow-arrow">→</div>
|
|
991
|
+
<div class="flow-step">
|
|
992
|
+
<div class="step-num pink">5</div>
|
|
993
|
+
<div class="step-label">Skills help</div>
|
|
994
|
+
<div class="step-desc">Deep knowledge</div>
|
|
995
|
+
</div>
|
|
996
|
+
<div class="flow-arrow">→</div>
|
|
997
|
+
<div class="flow-step">
|
|
998
|
+
<div class="step-num" style="background: rgba(52,211,153,0.5); color: white;">✓</div>
|
|
999
|
+
<div class="step-label" style="color: var(--green);">Done!</div>
|
|
1000
|
+
<div class="step-desc">Bug fixed properly</div>
|
|
1001
|
+
</div>
|
|
1002
|
+
</div>
|
|
1003
|
+
</div>
|
|
1004
|
+
|
|
1005
|
+
<div class="tip-box" style="margin-top: 24px;">
|
|
1006
|
+
<strong>💡 One-liner:</strong> You call a <strong>Prompt</strong> → Prompt calls an <strong>Agent</strong> → Agent gets <strong>Instructions</strong> by file type → Agent uses <strong>Skills</strong> when needed → All can be bundled in a <strong>Collection</strong>.
|
|
1007
|
+
</div>
|
|
1008
|
+
</section>
|
|
1009
|
+
|
|
1010
|
+
<div class="divider"></div>
|
|
1011
|
+
|
|
1012
|
+
<!-- ===== COMMANDS ===== -->
|
|
1013
|
+
<section class="section" id="commands">
|
|
1014
|
+
<div class="section-header">
|
|
1015
|
+
<div class="label">Commands</div>
|
|
1016
|
+
<h2>All CoKit Commands</h2>
|
|
1017
|
+
<p>Click a tab to see each group of commands.</p>
|
|
1018
|
+
</div>
|
|
1019
|
+
|
|
1020
|
+
<div class="tab-container">
|
|
1021
|
+
<div class="tab-header">
|
|
1022
|
+
<button class="tab-btn active" onclick="switchTab(event, 'tab-daily')">🛠 Daily Use</button>
|
|
1023
|
+
<button class="tab-btn" onclick="switchTab(event, 'tab-plan')">📋 Planning</button>
|
|
1024
|
+
<button class="tab-btn" onclick="switchTab(event, 'tab-spec')">📄 Spec-Driven</button>
|
|
1025
|
+
<button class="tab-btn" onclick="switchTab(event, 'tab-util')">🔧 Utilities</button>
|
|
1026
|
+
</div>
|
|
1027
|
+
|
|
1028
|
+
<!-- Daily -->
|
|
1029
|
+
<div class="tab-content active" id="tab-daily">
|
|
1030
|
+
<table class="cmd-table">
|
|
1031
|
+
<tr><th>Command</th><th>What it does</th><th>Example</th></tr>
|
|
1032
|
+
<tr>
|
|
1033
|
+
<td><code>/ck.fix</code></td>
|
|
1034
|
+
<td>Fix bugs, errors, issues</td>
|
|
1035
|
+
<td class="desc">"Login button not working"</td>
|
|
1036
|
+
</tr>
|
|
1037
|
+
<tr>
|
|
1038
|
+
<td><code>/ck.debug</code></td>
|
|
1039
|
+
<td>Deep root-cause analysis</td>
|
|
1040
|
+
<td class="desc">"App crashes on file upload"</td>
|
|
1041
|
+
</tr>
|
|
1042
|
+
<tr>
|
|
1043
|
+
<td><code>/ck.cook</code></td>
|
|
1044
|
+
<td>Implement a feature or plan</td>
|
|
1045
|
+
<td class="desc">"Build the auth module" or path to plan</td>
|
|
1046
|
+
</tr>
|
|
1047
|
+
<tr>
|
|
1048
|
+
<td><code>/ck.test</code></td>
|
|
1049
|
+
<td>Run tests & analyze results</td>
|
|
1050
|
+
<td class="desc">"Test the auth module"</td>
|
|
1051
|
+
</tr>
|
|
1052
|
+
<tr>
|
|
1053
|
+
<td><code>/ck.review</code></td>
|
|
1054
|
+
<td>Review code quality</td>
|
|
1055
|
+
<td class="desc">"Review the payment module"</td>
|
|
1056
|
+
</tr>
|
|
1057
|
+
<tr>
|
|
1058
|
+
<td><code>/ck.ask</code></td>
|
|
1059
|
+
<td>Ask technical questions</td>
|
|
1060
|
+
<td class="desc">"Should we use JWT or sessions?"</td>
|
|
1061
|
+
</tr>
|
|
1062
|
+
</table>
|
|
1063
|
+
</div>
|
|
1064
|
+
|
|
1065
|
+
<!-- Planning -->
|
|
1066
|
+
<div class="tab-content" id="tab-plan">
|
|
1067
|
+
<table class="cmd-table">
|
|
1068
|
+
<tr><th>Command</th><th>What it does</th><th>When to use</th></tr>
|
|
1069
|
+
<tr>
|
|
1070
|
+
<td><code>/ck.plan</code></td>
|
|
1071
|
+
<td>Create plan (auto-detects complexity)</td>
|
|
1072
|
+
<td class="desc">Medium features</td>
|
|
1073
|
+
</tr>
|
|
1074
|
+
<tr>
|
|
1075
|
+
<td><code>/ck.plan.fast</code></td>
|
|
1076
|
+
<td>Quick plan, no research</td>
|
|
1077
|
+
<td class="desc">Small features < 2 hours</td>
|
|
1078
|
+
</tr>
|
|
1079
|
+
<tr>
|
|
1080
|
+
<td><code>/ck.plan.hard</code></td>
|
|
1081
|
+
<td>Deep research + detailed plan</td>
|
|
1082
|
+
<td class="desc">Complex features needing research</td>
|
|
1083
|
+
</tr>
|
|
1084
|
+
<tr>
|
|
1085
|
+
<td><code>/ck.brainstorm</code></td>
|
|
1086
|
+
<td>Brainstorm solutions</td>
|
|
1087
|
+
<td class="desc">Not sure what to build</td>
|
|
1088
|
+
</tr>
|
|
1089
|
+
<tr>
|
|
1090
|
+
<td><code>/ck.bootstrap</code></td>
|
|
1091
|
+
<td>Start a new project</td>
|
|
1092
|
+
<td class="desc">Create project from scratch</td>
|
|
1093
|
+
</tr>
|
|
1094
|
+
</table>
|
|
1095
|
+
</div>
|
|
1096
|
+
|
|
1097
|
+
<!-- Spec-Driven -->
|
|
1098
|
+
<div class="tab-content" id="tab-spec">
|
|
1099
|
+
<div class="warning-box" style="margin-bottom: 16px;">
|
|
1100
|
+
<strong>📌 Note:</strong> Spec-Driven is for complex features (multi-day). It needs clear requirements. Use in order: specify → clarify → plan → tasks → implement.
|
|
1101
|
+
</div>
|
|
1102
|
+
<table class="cmd-table">
|
|
1103
|
+
<tr><th>Command</th><th>What it does</th><th>Step</th></tr>
|
|
1104
|
+
<tr>
|
|
1105
|
+
<td><code>/ck.spec.specify</code></td>
|
|
1106
|
+
<td>Write spec from an idea</td>
|
|
1107
|
+
<td class="desc">Step 1 — Create requirements</td>
|
|
1108
|
+
</tr>
|
|
1109
|
+
<tr>
|
|
1110
|
+
<td><code>/ck.spec.clarify</code></td>
|
|
1111
|
+
<td>Ask questions to clear up unknowns</td>
|
|
1112
|
+
<td class="desc">Step 2 — Confirm details</td>
|
|
1113
|
+
</tr>
|
|
1114
|
+
<tr>
|
|
1115
|
+
<td><code>/ck.spec.plan</code></td>
|
|
1116
|
+
<td>Create plan from spec</td>
|
|
1117
|
+
<td class="desc">Step 3 — Make the plan</td>
|
|
1118
|
+
</tr>
|
|
1119
|
+
<tr>
|
|
1120
|
+
<td><code>/ck.spec.tasks</code></td>
|
|
1121
|
+
<td>Break plan into small tasks</td>
|
|
1122
|
+
<td class="desc">Step 4 — Split into pieces</td>
|
|
1123
|
+
</tr>
|
|
1124
|
+
<tr>
|
|
1125
|
+
<td><code>/ck.spec.implement</code></td>
|
|
1126
|
+
<td>Execute the tasks</td>
|
|
1127
|
+
<td class="desc">Step 5 — Write the code</td>
|
|
1128
|
+
</tr>
|
|
1129
|
+
<tr>
|
|
1130
|
+
<td><code>/ck.spec.analyze</code></td>
|
|
1131
|
+
<td>Check spec consistency</td>
|
|
1132
|
+
<td class="desc">Optional</td>
|
|
1133
|
+
</tr>
|
|
1134
|
+
<tr>
|
|
1135
|
+
<td><code>/ck.spec.checklist</code></td>
|
|
1136
|
+
<td>Validate all requirements</td>
|
|
1137
|
+
<td class="desc">Optional</td>
|
|
1138
|
+
</tr>
|
|
1139
|
+
<tr>
|
|
1140
|
+
<td><code>/ck.spec.taskstoissues</code></td>
|
|
1141
|
+
<td>Export tasks to GitHub Issues</td>
|
|
1142
|
+
<td class="desc">Optional</td>
|
|
1143
|
+
</tr>
|
|
1144
|
+
</table>
|
|
1145
|
+
</div>
|
|
1146
|
+
|
|
1147
|
+
<!-- Utilities -->
|
|
1148
|
+
<div class="tab-content" id="tab-util">
|
|
1149
|
+
<table class="cmd-table">
|
|
1150
|
+
<tr><th>Command</th><th>What it does</th></tr>
|
|
1151
|
+
<tr>
|
|
1152
|
+
<td><code>/ck.git</code></td>
|
|
1153
|
+
<td>Commit, push, create PR — all Git operations</td>
|
|
1154
|
+
</tr>
|
|
1155
|
+
<tr>
|
|
1156
|
+
<td><code>/ck.scout</code></td>
|
|
1157
|
+
<td>Quick search across the codebase</td>
|
|
1158
|
+
</tr>
|
|
1159
|
+
<tr>
|
|
1160
|
+
<td><code>/ck.watzup</code></td>
|
|
1161
|
+
<td>See recent changes on your branch</td>
|
|
1162
|
+
</tr>
|
|
1163
|
+
<tr>
|
|
1164
|
+
<td><code>/ck.docs</code></td>
|
|
1165
|
+
<td>Create or update documentation</td>
|
|
1166
|
+
</tr>
|
|
1167
|
+
<tr>
|
|
1168
|
+
<td><code>/ck.preview</code></td>
|
|
1169
|
+
<td>Preview markdown files and plans</td>
|
|
1170
|
+
</tr>
|
|
1171
|
+
<tr>
|
|
1172
|
+
<td><code>/ck.journal</code></td>
|
|
1173
|
+
<td>Write dev journal entries</td>
|
|
1174
|
+
</tr>
|
|
1175
|
+
<tr>
|
|
1176
|
+
<td><code>/ck.simplify</code></td>
|
|
1177
|
+
<td>Simplify & refine code for clarity</td>
|
|
1178
|
+
</tr>
|
|
1179
|
+
<tr>
|
|
1180
|
+
<td><code>/ck.help</code></td>
|
|
1181
|
+
<td>CoKit usage guide</td>
|
|
1182
|
+
</tr>
|
|
1183
|
+
</table>
|
|
1184
|
+
</div>
|
|
1185
|
+
</div>
|
|
1186
|
+
</section>
|
|
1187
|
+
|
|
1188
|
+
<div class="divider"></div>
|
|
1189
|
+
|
|
1190
|
+
<!-- ===== WORKFLOWS ===== -->
|
|
1191
|
+
<section class="section" id="workflows">
|
|
1192
|
+
<div class="section-header">
|
|
1193
|
+
<div class="label">Workflows</div>
|
|
1194
|
+
<h2>2 Main Workflows</h2>
|
|
1195
|
+
<p>Pick the workflow that matches how big the job is.</p>
|
|
1196
|
+
</div>
|
|
1197
|
+
|
|
1198
|
+
<div class="workflow-grid">
|
|
1199
|
+
<!-- Quick workflow (ck.*) -->
|
|
1200
|
+
<div class="workflow-card fast">
|
|
1201
|
+
<div class="workflow-label fast">QUICK — ck.*</div>
|
|
1202
|
+
<h3>Flexible, for daily work</h3>
|
|
1203
|
+
<div class="when">Use for: bug fixes, small features, prototypes, quick experiments</div>
|
|
1204
|
+
<div class="workflow-steps">
|
|
1205
|
+
<div class="workflow-step-item">
|
|
1206
|
+
<code>/ck.plan.fast</code> <span class="arrow-right">→</span> Quick plan
|
|
1207
|
+
</div>
|
|
1208
|
+
<div class="workflow-step-item">
|
|
1209
|
+
<code>/ck.cook</code> <span class="arrow-right">→</span> Write the code
|
|
1210
|
+
</div>
|
|
1211
|
+
<div class="workflow-step-item">
|
|
1212
|
+
<code>/ck.test</code> <span class="arrow-right">→</span> Run tests
|
|
1213
|
+
</div>
|
|
1214
|
+
<div class="workflow-step-item">
|
|
1215
|
+
<code>/ck.fix</code> <span class="arrow-right">→</span> Fix if tests fail
|
|
1216
|
+
</div>
|
|
1217
|
+
<div class="workflow-step-item">
|
|
1218
|
+
<code>/ck.review</code> <span class="arrow-right">→</span> Review code
|
|
1219
|
+
</div>
|
|
1220
|
+
<div class="workflow-step-item">
|
|
1221
|
+
<code>/ck.git</code> <span class="arrow-right">→</span> Commit & push
|
|
1222
|
+
</div>
|
|
1223
|
+
</div>
|
|
1224
|
+
<div class="tip-box" style="margin-top: 16px;">
|
|
1225
|
+
<strong>⏱ Time:</strong> Minutes to hours
|
|
1226
|
+
</div>
|
|
1227
|
+
</div>
|
|
1228
|
+
|
|
1229
|
+
<!-- Spec-driven workflow (ck.spec.*) -->
|
|
1230
|
+
<div class="workflow-card spec">
|
|
1231
|
+
<div class="workflow-label spec">SPEC-DRIVEN — ck.spec.*</div>
|
|
1232
|
+
<h3>Rigorous, for big features</h3>
|
|
1233
|
+
<div class="when">Use for: complex features, clear specs needed, team collaboration</div>
|
|
1234
|
+
<div class="workflow-steps">
|
|
1235
|
+
<div class="workflow-step-item">
|
|
1236
|
+
<code>/ck.spec.specify</code> <span class="arrow-right">→</span> Write detailed requirements
|
|
1237
|
+
</div>
|
|
1238
|
+
<div class="workflow-step-item">
|
|
1239
|
+
<code>/ck.spec.clarify</code> <span class="arrow-right">→</span> Clear up unknowns
|
|
1240
|
+
</div>
|
|
1241
|
+
<div class="workflow-step-item">
|
|
1242
|
+
<code>/ck.spec.plan</code> <span class="arrow-right">→</span> Create plan from spec
|
|
1243
|
+
</div>
|
|
1244
|
+
<div class="workflow-step-item">
|
|
1245
|
+
<code>/ck.spec.tasks</code> <span class="arrow-right">→</span> Split into small tasks
|
|
1246
|
+
</div>
|
|
1247
|
+
<div class="workflow-step-item">
|
|
1248
|
+
<code>/ck.spec.implement</code> <span class="arrow-right">→</span> Build each task
|
|
1249
|
+
</div>
|
|
1250
|
+
<div class="workflow-step-item">
|
|
1251
|
+
<code>/ck.test</code> <span class="arrow-right">→</span> Test everything
|
|
1252
|
+
</div>
|
|
1253
|
+
</div>
|
|
1254
|
+
<div class="tip-box" style="margin-top: 16px;">
|
|
1255
|
+
<strong>⏱ Time:</strong> Days to weeks
|
|
1256
|
+
</div>
|
|
1257
|
+
</div>
|
|
1258
|
+
</div>
|
|
1259
|
+
|
|
1260
|
+
<div class="tip-box" style="margin-top: 24px; max-width: 700px; margin-left: auto; margin-right: auto;">
|
|
1261
|
+
<strong>💡 Rule of thumb:</strong> If you can explain it in one sentence → use <strong>Quick workflow</strong> (<code>ck.*</code>). If you need a document → use <strong>Spec-Driven</strong> (<code>ck.spec.*</code>).
|
|
1262
|
+
</div>
|
|
1263
|
+
</section>
|
|
1264
|
+
|
|
1265
|
+
<div class="divider"></div>
|
|
1266
|
+
|
|
1267
|
+
<!-- ===== SCENARIOS ===== -->
|
|
1268
|
+
<section class="section" id="scenarios">
|
|
1269
|
+
<div class="section-header">
|
|
1270
|
+
<div class="label">Real Examples</div>
|
|
1271
|
+
<h2>When do I use what?</h2>
|
|
1272
|
+
<p>Common everyday situations and which commands to use.</p>
|
|
1273
|
+
</div>
|
|
1274
|
+
|
|
1275
|
+
<div class="scenario-grid">
|
|
1276
|
+
<div class="scenario-card">
|
|
1277
|
+
<div class="scenario-header">
|
|
1278
|
+
<span class="scenario-time">5 min</span>
|
|
1279
|
+
<h4>🐛 Quick bug fix</h4>
|
|
1280
|
+
</div>
|
|
1281
|
+
<div class="scenario-desc">Users can't login with email containing "+"</div>
|
|
1282
|
+
<div class="scenario-cmd">
|
|
1283
|
+
<span class="comment"># One command, done!</span><br>
|
|
1284
|
+
/ck.fix "Users can't login with email containing +"
|
|
1285
|
+
</div>
|
|
1286
|
+
</div>
|
|
1287
|
+
|
|
1288
|
+
<div class="scenario-card">
|
|
1289
|
+
<div class="scenario-header">
|
|
1290
|
+
<span class="scenario-time">30 min</span>
|
|
1291
|
+
<h4>🌓 Small feature</h4>
|
|
1292
|
+
</div>
|
|
1293
|
+
<div class="scenario-desc">Add a dark mode toggle button</div>
|
|
1294
|
+
<div class="scenario-cmd">
|
|
1295
|
+
/ck.plan.fast "Add dark mode toggle"<br>
|
|
1296
|
+
<span class="comment"># Implement the plan...</span><br>
|
|
1297
|
+
/ck.test<br>
|
|
1298
|
+
/ck.fix <span class="comment"># if tests fail</span>
|
|
1299
|
+
</div>
|
|
1300
|
+
</div>
|
|
1301
|
+
|
|
1302
|
+
<div class="scenario-card">
|
|
1303
|
+
<div class="scenario-header">
|
|
1304
|
+
<span class="scenario-time">2-4 hrs</span>
|
|
1305
|
+
<h4>💳 Medium feature</h4>
|
|
1306
|
+
</div>
|
|
1307
|
+
<div class="scenario-desc">Integrate Stripe payments</div>
|
|
1308
|
+
<div class="scenario-cmd">
|
|
1309
|
+
/ck.plan.hard "Integrate Stripe payments"<br>
|
|
1310
|
+
<span class="comment"># Implement phase by phase...</span><br>
|
|
1311
|
+
/ck.test<br>
|
|
1312
|
+
/ck.review
|
|
1313
|
+
</div>
|
|
1314
|
+
</div>
|
|
1315
|
+
|
|
1316
|
+
<div class="scenario-card">
|
|
1317
|
+
<div class="scenario-header">
|
|
1318
|
+
<span class="scenario-time">Multi-day</span>
|
|
1319
|
+
<h4>🏗 Complex feature</h4>
|
|
1320
|
+
</div>
|
|
1321
|
+
<div class="scenario-desc">Multi-tenant SaaS billing system</div>
|
|
1322
|
+
<div class="scenario-cmd">
|
|
1323
|
+
/ck.spec.specify "Multi-tenant billing"<br>
|
|
1324
|
+
/ck.spec.clarify<br>
|
|
1325
|
+
/ck.spec.plan<br>
|
|
1326
|
+
/ck.spec.tasks<br>
|
|
1327
|
+
/ck.spec.implement<br>
|
|
1328
|
+
/ck.test
|
|
1329
|
+
</div>
|
|
1330
|
+
</div>
|
|
1331
|
+
|
|
1332
|
+
<div class="scenario-card">
|
|
1333
|
+
<div class="scenario-header">
|
|
1334
|
+
<span class="scenario-time">10 min</span>
|
|
1335
|
+
<h4>🔍 Explore codebase</h4>
|
|
1336
|
+
</div>
|
|
1337
|
+
<div class="scenario-desc">Just joined the project, need to understand the code</div>
|
|
1338
|
+
<div class="scenario-cmd">
|
|
1339
|
+
/ck.scout "auth handlers"<br>
|
|
1340
|
+
/ck.ask "How does auth work in this project?"<br>
|
|
1341
|
+
/ck.watzup <span class="comment"># see recent changes</span>
|
|
1342
|
+
</div>
|
|
1343
|
+
</div>
|
|
1344
|
+
|
|
1345
|
+
<div class="scenario-card">
|
|
1346
|
+
<div class="scenario-header">
|
|
1347
|
+
<span class="scenario-time">15 min</span>
|
|
1348
|
+
<h4>🚀 New project</h4>
|
|
1349
|
+
</div>
|
|
1350
|
+
<div class="scenario-desc">Start a React project from scratch</div>
|
|
1351
|
+
<div class="scenario-cmd">
|
|
1352
|
+
/ck.bootstrap "New React app with auth"<br>
|
|
1353
|
+
<span class="comment"># Copilot sets up everything!</span>
|
|
1354
|
+
</div>
|
|
1355
|
+
</div>
|
|
1356
|
+
</div>
|
|
1357
|
+
</section>
|
|
1358
|
+
|
|
1359
|
+
<div class="divider"></div>
|
|
1360
|
+
|
|
1361
|
+
<!-- ===== DECISION TREE ===== -->
|
|
1362
|
+
<section class="section" id="decide">
|
|
1363
|
+
<div class="section-header">
|
|
1364
|
+
<div class="label">Pick a Command</div>
|
|
1365
|
+
<h2>Not sure which command to use?</h2>
|
|
1366
|
+
<p>Answer the question, find the right command. Click to expand.</p>
|
|
1367
|
+
</div>
|
|
1368
|
+
|
|
1369
|
+
<div class="decision-tree">
|
|
1370
|
+
<div class="decision-node" onclick="toggleDecision(this)">
|
|
1371
|
+
<div class="decision-q"><span class="q-icon">❓</span> Have a bug to fix?</div>
|
|
1372
|
+
<div class="decision-toggle">▼</div>
|
|
1373
|
+
</div>
|
|
1374
|
+
<div class="decision-answer">
|
|
1375
|
+
<div>→ Use <code>/ck.fix</code> — analyzes and fixes it right away</div>
|
|
1376
|
+
<div class="answer-desc">If the bug is complex and unclear: use <code>/ck.debug</code> instead</div>
|
|
1377
|
+
</div>
|
|
1378
|
+
|
|
1379
|
+
<div class="decision-node" onclick="toggleDecision(this)">
|
|
1380
|
+
<div class="decision-q"><span class="q-icon">❓</span> Small feature, done in a few hours?</div>
|
|
1381
|
+
<div class="decision-toggle">▼</div>
|
|
1382
|
+
</div>
|
|
1383
|
+
<div class="decision-answer">
|
|
1384
|
+
<div>→ Use <code>/ck.plan.fast</code> — quick plan, no research needed</div>
|
|
1385
|
+
<div class="answer-desc">Good for: adding a button, changing layout, small refactors</div>
|
|
1386
|
+
</div>
|
|
1387
|
+
|
|
1388
|
+
<div class="decision-node" onclick="toggleDecision(this)">
|
|
1389
|
+
<div class="decision-q"><span class="q-icon">❓</span> Medium feature, need to research first?</div>
|
|
1390
|
+
<div class="decision-toggle">▼</div>
|
|
1391
|
+
</div>
|
|
1392
|
+
<div class="decision-answer">
|
|
1393
|
+
<div>→ Use <code>/ck.plan.hard</code> — deep research, then plan</div>
|
|
1394
|
+
<div class="answer-desc">Good for: integrating a new API, adding a big module</div>
|
|
1395
|
+
</div>
|
|
1396
|
+
|
|
1397
|
+
<div class="decision-node" onclick="toggleDecision(this)">
|
|
1398
|
+
<div class="decision-q"><span class="q-icon">❓</span> Complex feature, need clear requirements?</div>
|
|
1399
|
+
<div class="decision-toggle">▼</div>
|
|
1400
|
+
</div>
|
|
1401
|
+
<div class="decision-answer">
|
|
1402
|
+
<div>→ Use <code>/ck.spec.specify</code> — start the Spec-Driven workflow</div>
|
|
1403
|
+
<div class="answer-desc">Good for: new systems, multi-day features, needs documentation</div>
|
|
1404
|
+
</div>
|
|
1405
|
+
|
|
1406
|
+
<div class="decision-node" onclick="toggleDecision(this)">
|
|
1407
|
+
<div class="decision-q"><span class="q-icon">❓</span> Not sure what to build, need ideas?</div>
|
|
1408
|
+
<div class="decision-toggle">▼</div>
|
|
1409
|
+
</div>
|
|
1410
|
+
<div class="decision-answer">
|
|
1411
|
+
<div>→ Use <code>/ck.brainstorm</code> — discuss different approaches</div>
|
|
1412
|
+
<div class="answer-desc">Copilot will analyze pros and cons of each option</div>
|
|
1413
|
+
</div>
|
|
1414
|
+
|
|
1415
|
+
<div class="decision-node" onclick="toggleDecision(this)">
|
|
1416
|
+
<div class="decision-q"><span class="q-icon">❓</span> Need to run tests?</div>
|
|
1417
|
+
<div class="decision-toggle">▼</div>
|
|
1418
|
+
</div>
|
|
1419
|
+
<div class="decision-answer">
|
|
1420
|
+
<div>→ Use <code>/ck.test</code> — runs tests and explains results</div>
|
|
1421
|
+
<div class="answer-desc">Works with both workflows (Quick and Spec-Driven)</div>
|
|
1422
|
+
</div>
|
|
1423
|
+
|
|
1424
|
+
<div class="decision-node" onclick="toggleDecision(this)">
|
|
1425
|
+
<div class="decision-q"><span class="q-icon">❓</span> Code messy? Want to clean it up?</div>
|
|
1426
|
+
<div class="decision-toggle">▼</div>
|
|
1427
|
+
</div>
|
|
1428
|
+
<div class="decision-answer">
|
|
1429
|
+
<div>→ Use <code>/ck.simplify</code> — simplifies and refines code for clarity</div>
|
|
1430
|
+
<div class="answer-desc">Reduces nesting, improves naming, removes redundancy — without changing behavior</div>
|
|
1431
|
+
</div>
|
|
1432
|
+
|
|
1433
|
+
<div class="decision-node" onclick="toggleDecision(this)">
|
|
1434
|
+
<div class="decision-q"><span class="q-icon">❓</span> Need to commit and push code?</div>
|
|
1435
|
+
<div class="decision-toggle">▼</div>
|
|
1436
|
+
</div>
|
|
1437
|
+
<div class="decision-answer">
|
|
1438
|
+
<div>→ Use <code>/ck.git</code> — commit, push, create PR</div>
|
|
1439
|
+
<div class="answer-desc">Auto-generates clean commit messages</div>
|
|
1440
|
+
</div>
|
|
1441
|
+
</div>
|
|
1442
|
+
</section>
|
|
1443
|
+
|
|
1444
|
+
<div class="divider"></div>
|
|
1445
|
+
|
|
1446
|
+
<!-- ===== COMMAND FINDER FLOWCHART ===== -->
|
|
1447
|
+
<section class="section" id="flowchart" style="max-width: 100%; padding: 60px 16px;">
|
|
1448
|
+
<div class="section-header" style="max-width: 1200px; margin: 0 auto 48px;">
|
|
1449
|
+
<div class="label">Visual Map</div>
|
|
1450
|
+
<h2>Command Finder Flowchart</h2>
|
|
1451
|
+
<p>Interactive diagram — click any node to see the path. Click command buttons at the top to trace routes.</p>
|
|
1452
|
+
</div>
|
|
1453
|
+
|
|
1454
|
+
<div class="cf-wrapper" style="background: var(--bg-surface); border: 1px solid var(--border); border-radius: 16px; overflow: hidden;">
|
|
1455
|
+
|
|
1456
|
+
<!-- Command Finder: Command buttons bar -->
|
|
1457
|
+
<div class="cf-cmd-bar" id="cfCmdBar"></div>
|
|
1458
|
+
|
|
1459
|
+
<!-- Command Finder: SVG flowchart -->
|
|
1460
|
+
<div class="cf-flowchart-wrap">
|
|
1461
|
+
<svg id="cfFlowchart" viewBox="0 0 1500 1120"></svg>
|
|
1462
|
+
</div>
|
|
1463
|
+
|
|
1464
|
+
<!-- Command Finder: Tooltip -->
|
|
1465
|
+
<div class="cf-tooltip" id="cfTooltip"></div>
|
|
1466
|
+
|
|
1467
|
+
<!-- Command Finder: Info bar -->
|
|
1468
|
+
<div class="cf-info-bar">
|
|
1469
|
+
Click any node or edge to highlight the path. Press <kbd>Esc</kbd> or click background to reset.
|
|
1470
|
+
</div>
|
|
1471
|
+
</div>
|
|
1472
|
+
</section>
|
|
1473
|
+
|
|
1474
|
+
<style>
|
|
1475
|
+
/* ===== COMMAND FINDER SCOPED STYLES ===== */
|
|
1476
|
+
.cf-wrapper {
|
|
1477
|
+
--node-decision: #1e3a5f;
|
|
1478
|
+
--node-decision-stroke: #38bdf8;
|
|
1479
|
+
--node-command: #1a2e1a;
|
|
1480
|
+
--node-command-stroke: #34d399;
|
|
1481
|
+
--node-start: #2d1b4e;
|
|
1482
|
+
--node-start-stroke: #818cf8;
|
|
1483
|
+
--edge-color: #475569;
|
|
1484
|
+
--edge-active: #38bdf8;
|
|
1485
|
+
--fade-opacity: 0.12;
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
.cf-cmd-bar {
|
|
1489
|
+
padding: 14px 24px;
|
|
1490
|
+
border-bottom: 1px solid var(--border);
|
|
1491
|
+
display: flex;
|
|
1492
|
+
flex-wrap: wrap;
|
|
1493
|
+
gap: 8px;
|
|
1494
|
+
background: var(--bg-surface);
|
|
1495
|
+
}
|
|
1496
|
+
.cf-cmd-btn {
|
|
1497
|
+
padding: 6px 14px;
|
|
1498
|
+
font-size: 12px;
|
|
1499
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
1500
|
+
background: transparent;
|
|
1501
|
+
border: 1px solid var(--border);
|
|
1502
|
+
color: var(--text-muted);
|
|
1503
|
+
border-radius: 6px;
|
|
1504
|
+
cursor: pointer;
|
|
1505
|
+
transition: all 0.2s;
|
|
1506
|
+
white-space: nowrap;
|
|
1507
|
+
}
|
|
1508
|
+
.cf-cmd-btn:hover {
|
|
1509
|
+
border-color: var(--accent);
|
|
1510
|
+
color: var(--accent);
|
|
1511
|
+
background: rgba(56,189,248,0.08);
|
|
1512
|
+
}
|
|
1513
|
+
.cf-cmd-btn.active {
|
|
1514
|
+
border-color: var(--accent);
|
|
1515
|
+
color: var(--accent);
|
|
1516
|
+
background: rgba(56,189,248,0.15);
|
|
1517
|
+
box-shadow: 0 0 8px rgba(56,189,248,0.3);
|
|
1518
|
+
}
|
|
1519
|
+
.cf-cmd-btn-reset {
|
|
1520
|
+
padding: 6px 14px;
|
|
1521
|
+
font-size: 12px;
|
|
1522
|
+
font-weight: 600;
|
|
1523
|
+
background: transparent;
|
|
1524
|
+
border: 1px solid var(--border);
|
|
1525
|
+
color: var(--orange);
|
|
1526
|
+
border-radius: 6px;
|
|
1527
|
+
cursor: pointer;
|
|
1528
|
+
transition: all 0.2s;
|
|
1529
|
+
}
|
|
1530
|
+
.cf-cmd-btn-reset:hover {
|
|
1531
|
+
border-color: var(--orange);
|
|
1532
|
+
background: rgba(251,146,60,0.1);
|
|
1533
|
+
}
|
|
1534
|
+
|
|
1535
|
+
.cf-flowchart-wrap {
|
|
1536
|
+
overflow: auto;
|
|
1537
|
+
padding: 16px;
|
|
1538
|
+
display: flex;
|
|
1539
|
+
justify-content: center;
|
|
1540
|
+
min-height: 500px;
|
|
1541
|
+
}
|
|
1542
|
+
.cf-flowchart-wrap svg {
|
|
1543
|
+
width: 100%;
|
|
1544
|
+
height: auto;
|
|
1545
|
+
min-height: 480px;
|
|
1546
|
+
max-height: 85vh;
|
|
1547
|
+
}
|
|
1548
|
+
|
|
1549
|
+
.cf-wrapper svg text {
|
|
1550
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
|
|
1551
|
+
user-select: none;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
.cf-wrapper .cf-node { cursor: pointer; transition: filter 0.25s, opacity 0.25s; }
|
|
1555
|
+
.cf-wrapper .cf-node:hover { filter: drop-shadow(0 0 8px var(--accent)); }
|
|
1556
|
+
.cf-wrapper .cf-node.faded { opacity: var(--fade-opacity); }
|
|
1557
|
+
.cf-wrapper .cf-node.active { filter: drop-shadow(0 0 12px var(--accent)); }
|
|
1558
|
+
|
|
1559
|
+
.cf-wrapper .cf-edge { transition: opacity 0.25s, stroke 0.25s; }
|
|
1560
|
+
.cf-wrapper .cf-edge.faded { opacity: var(--fade-opacity); }
|
|
1561
|
+
.cf-wrapper .cf-edge.active line, .cf-wrapper .cf-edge.active path, .cf-wrapper .cf-edge.active polyline {
|
|
1562
|
+
stroke: var(--edge-active) !important;
|
|
1563
|
+
stroke-width: 2.5 !important;
|
|
1564
|
+
}
|
|
1565
|
+
.cf-wrapper .cf-edge.active text { fill: var(--accent) !important; }
|
|
1566
|
+
|
|
1567
|
+
.cf-tooltip {
|
|
1568
|
+
position: fixed;
|
|
1569
|
+
padding: 8px 12px;
|
|
1570
|
+
background: var(--bg-surface);
|
|
1571
|
+
border: 1px solid var(--border);
|
|
1572
|
+
border-radius: 6px;
|
|
1573
|
+
font-size: 12px;
|
|
1574
|
+
color: var(--text);
|
|
1575
|
+
pointer-events: none;
|
|
1576
|
+
opacity: 0;
|
|
1577
|
+
transition: opacity 0.15s;
|
|
1578
|
+
z-index: 100;
|
|
1579
|
+
max-width: 280px;
|
|
1580
|
+
box-shadow: 0 4px 16px rgba(0,0,0,0.4);
|
|
1581
|
+
}
|
|
1582
|
+
.cf-tooltip.show { opacity: 1; }
|
|
1583
|
+
.cf-tooltip code {
|
|
1584
|
+
color: var(--green);
|
|
1585
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
1586
|
+
font-size: 12px;
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1589
|
+
.cf-info-bar {
|
|
1590
|
+
padding: 10px 24px;
|
|
1591
|
+
border-top: 1px solid var(--border);
|
|
1592
|
+
font-size: 12px;
|
|
1593
|
+
color: var(--text-muted);
|
|
1594
|
+
background: var(--bg-surface);
|
|
1595
|
+
text-align: center;
|
|
1596
|
+
}
|
|
1597
|
+
</style>
|
|
1598
|
+
|
|
1599
|
+
<script>
|
|
1600
|
+
(function() {
|
|
1601
|
+
// ========== COMMAND FINDER DATA ==========
|
|
1602
|
+
// Flow logic:
|
|
1603
|
+
// New project? → bootstrap
|
|
1604
|
+
// Fix bug? → know cause? Yes→fix, No→debug→fix
|
|
1605
|
+
// Build feature? → need spec? No→plan→cook→test, Yes→spec flow, Unsure→brainstorm
|
|
1606
|
+
// Explore? → scout→watzup
|
|
1607
|
+
// Git? → git
|
|
1608
|
+
// Test? → test→fix (if fail)
|
|
1609
|
+
// Docs/review? → review | docs | preview
|
|
1610
|
+
// Help? → help | ask | journal
|
|
1611
|
+
|
|
1612
|
+
const CF_NODES = [
|
|
1613
|
+
// Start
|
|
1614
|
+
{ id: 'start', text: 'What do you\nwant to do?', type: 'start', x: 60, y: 420 },
|
|
1615
|
+
|
|
1616
|
+
// Level 1 decisions (logical order)
|
|
1617
|
+
{ id: 'q_new', text: 'New\nproject?', type: 'decision', x: 240, y: 80 },
|
|
1618
|
+
{ id: 'q_bug', text: 'Fix a\nbug?', type: 'decision', x: 240, y: 200 },
|
|
1619
|
+
{ id: 'q_feature', text: 'Build\nfeature?', type: 'decision', x: 240, y: 370 },
|
|
1620
|
+
{ id: 'q_explore', text: 'Explore\ncodebase?', type: 'decision', x: 240, y: 530 },
|
|
1621
|
+
{ id: 'q_git', text: 'Git\nops?', type: 'decision', x: 240, y: 630 },
|
|
1622
|
+
{ id: 'q_test', text: 'Run\ntests?', type: 'decision', x: 240, y: 730 },
|
|
1623
|
+
{ id: 'q_docs', text: 'Code quality\nor docs?', type: 'decision', x: 240, y: 840 },
|
|
1624
|
+
{ id: 'q_help', text: 'Need\nhelp?', type: 'decision', x: 240, y: 1000 },
|
|
1625
|
+
|
|
1626
|
+
// New project
|
|
1627
|
+
{ id: 'c_bootstrap', text: '/ck.bootstrap', type: 'command', x: 480, y: 80, desc: 'Start a new project from scratch' },
|
|
1628
|
+
|
|
1629
|
+
// Bug fix branch
|
|
1630
|
+
{ id: 'q_knowcause', text: 'Know the\ncause?', type: 'decision', x: 480, y: 200 },
|
|
1631
|
+
{ id: 'c_fix', text: '/ck.fix', type: 'command', x: 700, y: 160, desc: 'Analyze and fix bugs, errors, issues' },
|
|
1632
|
+
{ id: 'c_debug', text: '/ck.debug', type: 'command', x: 700, y: 240, desc: 'Systematic root cause analysis' },
|
|
1633
|
+
|
|
1634
|
+
// Feature branch
|
|
1635
|
+
{ id: 'q_formal', text: 'Need formal\nrequirements?', type: 'decision', x: 480, y: 370 },
|
|
1636
|
+
{ id: 'c_brainstorm', text: '/ck.brainstorm', type: 'command', x: 700, y: 300, desc: 'Collaborative ideation with expert advice' },
|
|
1637
|
+
{ id: 'c_plan', text: '/ck.plan', type: 'command', x: 700, y: 370, desc: 'Create implementation plan (auto-detect complexity)' },
|
|
1638
|
+
{ id: 'c_cook', text: '/ck.cook', type: 'command', x: 880, y: 370, desc: 'Smart feature implementation from plan or task' },
|
|
1639
|
+
{ id: 'c_test_after', text: '/ck.test', type: 'command', x: 1040, y: 370, desc: 'Run tests after implementation' },
|
|
1640
|
+
|
|
1641
|
+
// Spec-driven flow
|
|
1642
|
+
{ id: 'c_spec_specify', text: '/ck.spec.specify', type: 'command', x: 700, y: 450, desc: 'Create formal specification from idea' },
|
|
1643
|
+
{ id: 'c_spec_clarify', text: '/ck.spec.clarify', type: 'command', x: 880, y: 450, desc: 'Ask clarification questions about spec' },
|
|
1644
|
+
{ id: 'c_spec_plan', text: '/ck.spec.plan', type: 'command', x: 1040, y: 450, desc: 'Generate plan from specification' },
|
|
1645
|
+
{ id: 'c_spec_tasks', text: '/ck.spec.tasks', type: 'command', x: 1200, y: 450, desc: 'Break plan into executable tasks' },
|
|
1646
|
+
{ id: 'c_spec_implement',text: '/ck.spec.implement', type: 'command', x: 1380, y: 450, desc: 'Execute tasks from spec plan' },
|
|
1647
|
+
|
|
1648
|
+
// Spec extras
|
|
1649
|
+
{ id: 'c_spec_analyze', text: '/ck.spec.analyze', type: 'command', x: 1040, y: 525, desc: 'Check specification consistency' },
|
|
1650
|
+
{ id: 'c_spec_checklist', text: '/ck.spec.checklist', type: 'command', x: 1200, y: 525, desc: 'Validate all requirements covered' },
|
|
1651
|
+
{ id: 'c_spec_issues', text: '/ck.spec.taskstoissues', type: 'command', x: 1380, y: 525, desc: 'Export tasks to GitHub Issues' },
|
|
1652
|
+
|
|
1653
|
+
// Explore
|
|
1654
|
+
{ id: 'c_scout', text: '/ck.scout', type: 'command', x: 480, y: 530, desc: 'Fast codebase search and exploration' },
|
|
1655
|
+
{ id: 'c_watzup', text: '/ck.watzup', type: 'command', x: 650, y: 530, desc: 'Review recent changes in current branch' },
|
|
1656
|
+
|
|
1657
|
+
// Git
|
|
1658
|
+
{ id: 'c_git', text: '/ck.git', type: 'command', x: 480, y: 630, desc: 'Git operations: commit, push, PR, merge' },
|
|
1659
|
+
|
|
1660
|
+
// Test (standalone)
|
|
1661
|
+
{ id: 'c_test', text: '/ck.test', type: 'command', x: 480, y: 730, desc: 'Run and analyze tests' },
|
|
1662
|
+
|
|
1663
|
+
// Docs/Review/Simplify
|
|
1664
|
+
{ id: 'q_doctype', text: 'What\ntype?', type: 'decision', x: 480, y: 840 },
|
|
1665
|
+
{ id: 'c_review', text: '/ck.review', type: 'command', x: 700, y: 780, desc: 'Code review and quality check' },
|
|
1666
|
+
{ id: 'c_simplify', text: '/ck.simplify', type: 'command', x: 700, y: 830, desc: 'Simplify & refine code for clarity' },
|
|
1667
|
+
{ id: 'c_docs', text: '/ck.docs', type: 'command', x: 700, y: 880, desc: 'Generate/update project documentation' },
|
|
1668
|
+
{ id: 'c_preview', text: '/ck.preview', type: 'command', x: 700, y: 930, desc: 'Preview markdown files and plans visually' },
|
|
1669
|
+
|
|
1670
|
+
// Help
|
|
1671
|
+
{ id: 'q_helptype', text: 'What\nkind?', type: 'decision', x: 480, y: 1000 },
|
|
1672
|
+
{ id: 'c_help', text: '/ck.help', type: 'command', x: 700, y: 960, desc: 'Interactive CoKit help and guidance' },
|
|
1673
|
+
{ id: 'c_ask', text: '/ck.ask', type: 'command', x: 700, y: 1000, desc: 'Technical & architectural questions' },
|
|
1674
|
+
{ id: 'c_journal', text: '/ck.journal', type: 'command', x: 700, y: 1040, desc: 'Write development journal entries' },
|
|
1675
|
+
];
|
|
1676
|
+
|
|
1677
|
+
const CF_EDGES = [
|
|
1678
|
+
// Start → all questions
|
|
1679
|
+
{ from: 'start', to: 'q_new', label: '' },
|
|
1680
|
+
{ from: 'start', to: 'q_bug', label: '' },
|
|
1681
|
+
{ from: 'start', to: 'q_feature', label: '' },
|
|
1682
|
+
{ from: 'start', to: 'q_explore', label: '' },
|
|
1683
|
+
{ from: 'start', to: 'q_git', label: '' },
|
|
1684
|
+
{ from: 'start', to: 'q_test', label: '' },
|
|
1685
|
+
{ from: 'start', to: 'q_docs', label: '' },
|
|
1686
|
+
{ from: 'start', to: 'q_help', label: '' },
|
|
1687
|
+
|
|
1688
|
+
// New project
|
|
1689
|
+
{ from: 'q_new', to: 'c_bootstrap', label: 'Yes' },
|
|
1690
|
+
|
|
1691
|
+
// Bug fix: know cause? → fix or debug→fix
|
|
1692
|
+
{ from: 'q_bug', to: 'q_knowcause', label: 'Yes' },
|
|
1693
|
+
{ from: 'q_knowcause', to: 'c_fix', label: 'Yes' },
|
|
1694
|
+
{ from: 'q_knowcause', to: 'c_debug', label: 'No' },
|
|
1695
|
+
{ from: 'c_debug', to: 'c_fix', label: 'Then\nfix' },
|
|
1696
|
+
|
|
1697
|
+
// Feature: need formal spec?
|
|
1698
|
+
{ from: 'q_feature', to: 'q_formal', label: 'Yes' },
|
|
1699
|
+
{ from: 'q_formal', to: 'c_brainstorm', label: 'Unsure' },
|
|
1700
|
+
{ from: 'q_formal', to: 'c_plan', label: 'No' },
|
|
1701
|
+
{ from: 'c_plan', to: 'c_cook', label: '' },
|
|
1702
|
+
{ from: 'c_cook', to: 'c_test_after', label: '' },
|
|
1703
|
+
|
|
1704
|
+
// Spec-driven flow
|
|
1705
|
+
{ from: 'q_formal', to: 'c_spec_specify', label: 'Yes' },
|
|
1706
|
+
{ from: 'c_spec_specify', to: 'c_spec_clarify', label: '' },
|
|
1707
|
+
{ from: 'c_spec_clarify', to: 'c_spec_plan', label: '' },
|
|
1708
|
+
{ from: 'c_spec_plan', to: 'c_spec_tasks', label: '' },
|
|
1709
|
+
{ from: 'c_spec_tasks', to: 'c_spec_implement', label: '' },
|
|
1710
|
+
{ from: 'c_spec_plan', to: 'c_spec_analyze', label: '' },
|
|
1711
|
+
{ from: 'c_spec_tasks', to: 'c_spec_checklist', label: '' },
|
|
1712
|
+
{ from: 'c_spec_tasks', to: 'c_spec_issues', label: '' },
|
|
1713
|
+
|
|
1714
|
+
// Explore
|
|
1715
|
+
{ from: 'q_explore', to: 'c_scout', label: 'Yes' },
|
|
1716
|
+
{ from: 'c_scout', to: 'c_watzup', label: 'Recent\nchanges?' },
|
|
1717
|
+
|
|
1718
|
+
// Git
|
|
1719
|
+
{ from: 'q_git', to: 'c_git', label: 'Yes' },
|
|
1720
|
+
|
|
1721
|
+
// Test (standalone)
|
|
1722
|
+
{ from: 'q_test', to: 'c_test', label: 'Yes' },
|
|
1723
|
+
|
|
1724
|
+
// Docs/Review
|
|
1725
|
+
{ from: 'q_docs', to: 'q_doctype', label: 'Yes' },
|
|
1726
|
+
{ from: 'q_doctype', to: 'c_review', label: 'Review' },
|
|
1727
|
+
{ from: 'q_doctype', to: 'c_simplify', label: 'Simplify' },
|
|
1728
|
+
{ from: 'q_doctype', to: 'c_docs', label: 'Docs' },
|
|
1729
|
+
{ from: 'q_doctype', to: 'c_preview', label: 'Preview' },
|
|
1730
|
+
|
|
1731
|
+
// Help
|
|
1732
|
+
{ from: 'q_help', to: 'q_helptype', label: 'Yes' },
|
|
1733
|
+
{ from: 'q_helptype', to: 'c_help', label: 'CoKit' },
|
|
1734
|
+
{ from: 'q_helptype', to: 'c_ask', label: 'Tech' },
|
|
1735
|
+
{ from: 'q_helptype', to: 'c_journal', label: 'Journal' },
|
|
1736
|
+
];
|
|
1737
|
+
|
|
1738
|
+
// ========== NODE DIMENSIONS ==========
|
|
1739
|
+
const DECISION_SIZE = 55;
|
|
1740
|
+
const CMD_W = 130;
|
|
1741
|
+
const CMD_H = 32;
|
|
1742
|
+
const START_W = 140;
|
|
1743
|
+
const START_H = 50;
|
|
1744
|
+
|
|
1745
|
+
// ========== ADJACENCY FOR PATH TRACING ==========
|
|
1746
|
+
const adjForward = {};
|
|
1747
|
+
const adjBackward = {};
|
|
1748
|
+
CF_EDGES.forEach(function(e) {
|
|
1749
|
+
if (!adjForward[e.from]) adjForward[e.from] = [];
|
|
1750
|
+
adjForward[e.from].push(e.to);
|
|
1751
|
+
if (!adjBackward[e.to]) adjBackward[e.to] = [];
|
|
1752
|
+
adjBackward[e.to].push(e.from);
|
|
1753
|
+
});
|
|
1754
|
+
|
|
1755
|
+
function tracePathTo(nodeId) {
|
|
1756
|
+
var path = new Set();
|
|
1757
|
+
var edgesInPath = new Set();
|
|
1758
|
+
function walkBack(id) {
|
|
1759
|
+
if (path.has(id)) return;
|
|
1760
|
+
path.add(id);
|
|
1761
|
+
var parents = adjBackward[id] || [];
|
|
1762
|
+
parents.forEach(function(pid) {
|
|
1763
|
+
edgesInPath.add(pid + '->' + id);
|
|
1764
|
+
walkBack(pid);
|
|
1765
|
+
});
|
|
1766
|
+
}
|
|
1767
|
+
walkBack(nodeId);
|
|
1768
|
+
function walkForward(id, depth) {
|
|
1769
|
+
if (depth > 6) return;
|
|
1770
|
+
var children = adjForward[id] || [];
|
|
1771
|
+
children.forEach(function(cid) {
|
|
1772
|
+
path.add(cid);
|
|
1773
|
+
edgesInPath.add(id + '->' + cid);
|
|
1774
|
+
walkForward(cid, depth + 1);
|
|
1775
|
+
});
|
|
1776
|
+
}
|
|
1777
|
+
walkForward(nodeId, 0);
|
|
1778
|
+
return { nodes: path, edges: edgesInPath };
|
|
1779
|
+
}
|
|
1780
|
+
|
|
1781
|
+
// ========== SVG RENDERING ==========
|
|
1782
|
+
var svg = document.getElementById('cfFlowchart');
|
|
1783
|
+
var NS = 'http://www.w3.org/2000/svg';
|
|
1784
|
+
|
|
1785
|
+
function svgEl(tag, attrs) {
|
|
1786
|
+
var el = document.createElementNS(NS, tag);
|
|
1787
|
+
if (attrs) Object.keys(attrs).forEach(function(k) { el.setAttribute(k, attrs[k]); });
|
|
1788
|
+
return el;
|
|
1789
|
+
}
|
|
1790
|
+
|
|
1791
|
+
// Arrow markers
|
|
1792
|
+
var defs = svgEl('defs');
|
|
1793
|
+
var marker = svgEl('marker', {
|
|
1794
|
+
id: 'cf-arrow', viewBox: '0 0 10 10', refX: '10', refY: '5',
|
|
1795
|
+
markerWidth: '6', markerHeight: '6', orient: 'auto-start-reverse', fill: 'var(--edge-color)'
|
|
1796
|
+
});
|
|
1797
|
+
marker.appendChild(svgEl('path', { d: 'M 0 0 L 10 5 L 0 10 z' }));
|
|
1798
|
+
defs.appendChild(marker);
|
|
1799
|
+
|
|
1800
|
+
var markerActive = svgEl('marker', {
|
|
1801
|
+
id: 'cf-arrow-active', viewBox: '0 0 10 10', refX: '10', refY: '5',
|
|
1802
|
+
markerWidth: '6', markerHeight: '6', orient: 'auto-start-reverse', fill: 'var(--edge-active)'
|
|
1803
|
+
});
|
|
1804
|
+
markerActive.appendChild(svgEl('path', { d: 'M 0 0 L 10 5 L 0 10 z' }));
|
|
1805
|
+
defs.appendChild(markerActive);
|
|
1806
|
+
svg.appendChild(defs);
|
|
1807
|
+
|
|
1808
|
+
// Layers
|
|
1809
|
+
var edgeLayer = svgEl('g', { id: 'cf-edges' });
|
|
1810
|
+
var nodeLayer = svgEl('g', { id: 'cf-nodes' });
|
|
1811
|
+
svg.appendChild(edgeLayer);
|
|
1812
|
+
svg.appendChild(nodeLayer);
|
|
1813
|
+
|
|
1814
|
+
// Node connection points
|
|
1815
|
+
function getNodeRight(n) {
|
|
1816
|
+
if (n.type === 'decision') return { x: n.x + DECISION_SIZE, y: n.y };
|
|
1817
|
+
if (n.type === 'start') return { x: n.x + START_W / 2, y: n.y };
|
|
1818
|
+
return { x: n.x + CMD_W / 2, y: n.y };
|
|
1819
|
+
}
|
|
1820
|
+
function getNodeLeft(n) {
|
|
1821
|
+
if (n.type === 'decision') return { x: n.x - DECISION_SIZE, y: n.y };
|
|
1822
|
+
if (n.type === 'start') return { x: n.x - START_W / 2, y: n.y };
|
|
1823
|
+
return { x: n.x - CMD_W / 2, y: n.y };
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1826
|
+
// Draw edges
|
|
1827
|
+
var edgeElements = {};
|
|
1828
|
+
var nodeMap = {};
|
|
1829
|
+
CF_NODES.forEach(function(n) { nodeMap[n.id] = n; });
|
|
1830
|
+
|
|
1831
|
+
CF_EDGES.forEach(function(e) {
|
|
1832
|
+
var fromN = nodeMap[e.from];
|
|
1833
|
+
var toN = nodeMap[e.to];
|
|
1834
|
+
if (!fromN || !toN) return;
|
|
1835
|
+
|
|
1836
|
+
var g = svgEl('g', { class: 'cf-edge', 'data-edge': e.from + '->' + e.to });
|
|
1837
|
+
var fp = getNodeRight(fromN);
|
|
1838
|
+
var tp = getNodeLeft(toN);
|
|
1839
|
+
var dx = tp.x - fp.x;
|
|
1840
|
+
var dy = tp.y - fp.y;
|
|
1841
|
+
var d;
|
|
1842
|
+
|
|
1843
|
+
if (Math.abs(dy) < 10) {
|
|
1844
|
+
d = 'M ' + fp.x + ' ' + fp.y + ' L ' + tp.x + ' ' + tp.y;
|
|
1845
|
+
} else {
|
|
1846
|
+
var cx1 = fp.x + dx * 0.4;
|
|
1847
|
+
var cx2 = tp.x - dx * 0.4;
|
|
1848
|
+
d = 'M ' + fp.x + ' ' + fp.y + ' C ' + cx1 + ' ' + fp.y + ', ' + cx2 + ' ' + tp.y + ', ' + tp.x + ' ' + tp.y;
|
|
1849
|
+
}
|
|
1850
|
+
|
|
1851
|
+
var path = svgEl('path', {
|
|
1852
|
+
d: d, fill: 'none', stroke: 'var(--edge-color)',
|
|
1853
|
+
'stroke-width': '1.5', 'marker-end': 'url(#cf-arrow)'
|
|
1854
|
+
});
|
|
1855
|
+
g.appendChild(path);
|
|
1856
|
+
|
|
1857
|
+
if (e.label) {
|
|
1858
|
+
var mx = (fp.x + tp.x) / 2;
|
|
1859
|
+
var my = (fp.y + tp.y) / 2 - 8;
|
|
1860
|
+
var lines = e.label.split('\n');
|
|
1861
|
+
lines.forEach(function(line, i) {
|
|
1862
|
+
var txt = svgEl('text', {
|
|
1863
|
+
x: mx, y: my + i * 13,
|
|
1864
|
+
'text-anchor': 'middle', 'font-size': '10', fill: 'var(--text-muted)'
|
|
1865
|
+
});
|
|
1866
|
+
txt.textContent = line;
|
|
1867
|
+
g.appendChild(txt);
|
|
1868
|
+
});
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1871
|
+
g.addEventListener('click', function(ev) {
|
|
1872
|
+
ev.stopPropagation();
|
|
1873
|
+
highlightNode(e.to);
|
|
1874
|
+
});
|
|
1875
|
+
|
|
1876
|
+
edgeLayer.appendChild(g);
|
|
1877
|
+
edgeElements[e.from + '->' + e.to] = g;
|
|
1878
|
+
});
|
|
1879
|
+
|
|
1880
|
+
// Draw nodes
|
|
1881
|
+
var nodeElements = {};
|
|
1882
|
+
|
|
1883
|
+
CF_NODES.forEach(function(n) {
|
|
1884
|
+
var g = svgEl('g', { class: 'cf-node', 'data-node': n.id });
|
|
1885
|
+
|
|
1886
|
+
if (n.type === 'start') {
|
|
1887
|
+
var rect = svgEl('rect', {
|
|
1888
|
+
x: n.x - START_W / 2, y: n.y - START_H / 2,
|
|
1889
|
+
width: START_W, height: START_H, rx: '25', ry: '25',
|
|
1890
|
+
fill: 'var(--node-start)', stroke: 'var(--node-start-stroke)', 'stroke-width': '2'
|
|
1891
|
+
});
|
|
1892
|
+
g.appendChild(rect);
|
|
1893
|
+
var lines = n.text.split('\n');
|
|
1894
|
+
lines.forEach(function(line, i) {
|
|
1895
|
+
var txt = svgEl('text', {
|
|
1896
|
+
x: n.x, y: n.y + (i - (lines.length - 1) / 2) * 16,
|
|
1897
|
+
'text-anchor': 'middle', 'dominant-baseline': 'central',
|
|
1898
|
+
'font-size': '13', 'font-weight': '600', fill: 'var(--accent2)'
|
|
1899
|
+
});
|
|
1900
|
+
txt.textContent = line;
|
|
1901
|
+
g.appendChild(txt);
|
|
1902
|
+
});
|
|
1903
|
+
|
|
1904
|
+
} else if (n.type === 'decision') {
|
|
1905
|
+
var s = DECISION_SIZE;
|
|
1906
|
+
var poly = svgEl('polygon', {
|
|
1907
|
+
points: n.x + ',' + (n.y - s) + ' ' + (n.x + s) + ',' + n.y + ' ' + n.x + ',' + (n.y + s) + ' ' + (n.x - s) + ',' + n.y,
|
|
1908
|
+
fill: 'var(--node-decision)', stroke: 'var(--node-decision-stroke)', 'stroke-width': '1.5'
|
|
1909
|
+
});
|
|
1910
|
+
g.appendChild(poly);
|
|
1911
|
+
var lines = n.text.split('\n');
|
|
1912
|
+
lines.forEach(function(line, i) {
|
|
1913
|
+
var txt = svgEl('text', {
|
|
1914
|
+
x: n.x, y: n.y + (i - (lines.length - 1) / 2) * 14,
|
|
1915
|
+
'text-anchor': 'middle', 'dominant-baseline': 'central',
|
|
1916
|
+
'font-size': '11', 'font-weight': '500', fill: 'var(--accent)'
|
|
1917
|
+
});
|
|
1918
|
+
txt.textContent = line;
|
|
1919
|
+
g.appendChild(txt);
|
|
1920
|
+
});
|
|
1921
|
+
|
|
1922
|
+
} else {
|
|
1923
|
+
var rect = svgEl('rect', {
|
|
1924
|
+
x: n.x - CMD_W / 2, y: n.y - CMD_H / 2,
|
|
1925
|
+
width: CMD_W, height: CMD_H, rx: '6', ry: '6',
|
|
1926
|
+
fill: 'var(--node-command)', stroke: 'var(--node-command-stroke)', 'stroke-width': '1.5'
|
|
1927
|
+
});
|
|
1928
|
+
g.appendChild(rect);
|
|
1929
|
+
var txt = svgEl('text', {
|
|
1930
|
+
x: n.x, y: n.y,
|
|
1931
|
+
'text-anchor': 'middle', 'dominant-baseline': 'central',
|
|
1932
|
+
'font-size': '11', 'font-weight': '600', fill: 'var(--green)',
|
|
1933
|
+
'font-family': "'SF Mono', 'Fira Code', monospace"
|
|
1934
|
+
});
|
|
1935
|
+
txt.textContent = n.text;
|
|
1936
|
+
g.appendChild(txt);
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1939
|
+
g.addEventListener('click', function(ev) {
|
|
1940
|
+
ev.stopPropagation();
|
|
1941
|
+
highlightNode(n.id);
|
|
1942
|
+
});
|
|
1943
|
+
|
|
1944
|
+
if (n.desc) {
|
|
1945
|
+
g.addEventListener('mouseenter', function(ev) { cfShowTooltip(ev, n); });
|
|
1946
|
+
g.addEventListener('mousemove', function(ev) { cfMoveTooltip(ev); });
|
|
1947
|
+
g.addEventListener('mouseleave', cfHideTooltip);
|
|
1948
|
+
}
|
|
1949
|
+
|
|
1950
|
+
nodeLayer.appendChild(g);
|
|
1951
|
+
nodeElements[n.id] = g;
|
|
1952
|
+
});
|
|
1953
|
+
|
|
1954
|
+
// ========== INTERACTION ==========
|
|
1955
|
+
var activeHighlight = null;
|
|
1956
|
+
|
|
1957
|
+
function clearHighlight() {
|
|
1958
|
+
activeHighlight = null;
|
|
1959
|
+
Object.values(nodeElements).forEach(function(el) { el.classList.remove('faded', 'active'); });
|
|
1960
|
+
Object.values(edgeElements).forEach(function(el) {
|
|
1961
|
+
el.classList.remove('faded', 'active');
|
|
1962
|
+
var p = el.querySelector('path');
|
|
1963
|
+
if (p) p.setAttribute('marker-end', 'url(#cf-arrow)');
|
|
1964
|
+
});
|
|
1965
|
+
document.querySelectorAll('.cf-cmd-btn').forEach(function(b) { b.classList.remove('active'); });
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1968
|
+
function highlightNode(nodeId) {
|
|
1969
|
+
if (activeHighlight === nodeId) { clearHighlight(); return; }
|
|
1970
|
+
activeHighlight = nodeId;
|
|
1971
|
+
|
|
1972
|
+
var result = tracePathTo(nodeId);
|
|
1973
|
+
var nodes = result.nodes;
|
|
1974
|
+
var edges = result.edges;
|
|
1975
|
+
|
|
1976
|
+
Object.keys(nodeElements).forEach(function(id) {
|
|
1977
|
+
var el = nodeElements[id];
|
|
1978
|
+
if (nodes.has(id)) { el.classList.remove('faded'); el.classList.add('active'); }
|
|
1979
|
+
else { el.classList.add('faded'); el.classList.remove('active'); }
|
|
1980
|
+
});
|
|
1981
|
+
Object.keys(edgeElements).forEach(function(key) {
|
|
1982
|
+
var el = edgeElements[key];
|
|
1983
|
+
if (edges.has(key)) {
|
|
1984
|
+
el.classList.remove('faded'); el.classList.add('active');
|
|
1985
|
+
var p = el.querySelector('path');
|
|
1986
|
+
if (p) p.setAttribute('marker-end', 'url(#cf-arrow-active)');
|
|
1987
|
+
} else {
|
|
1988
|
+
el.classList.add('faded'); el.classList.remove('active');
|
|
1989
|
+
var p = el.querySelector('path');
|
|
1990
|
+
if (p) p.setAttribute('marker-end', 'url(#cf-arrow)');
|
|
1991
|
+
}
|
|
1992
|
+
});
|
|
1993
|
+
|
|
1994
|
+
document.querySelectorAll('.cf-cmd-btn').forEach(function(b) {
|
|
1995
|
+
b.classList.toggle('active', b.dataset.cmd === nodeId);
|
|
1996
|
+
});
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
// Background click to reset
|
|
2000
|
+
svg.addEventListener('click', clearHighlight);
|
|
2001
|
+
document.addEventListener('keydown', function(e) { if (e.key === 'Escape') clearHighlight(); });
|
|
2002
|
+
|
|
2003
|
+
// ========== COMMAND BUTTONS ==========
|
|
2004
|
+
var cmdBar = document.getElementById('cfCmdBar');
|
|
2005
|
+
var commandNodes = CF_NODES.filter(function(n) { return n.type === 'command'; });
|
|
2006
|
+
|
|
2007
|
+
var resetBtn = document.createElement('button');
|
|
2008
|
+
resetBtn.className = 'cf-cmd-btn-reset';
|
|
2009
|
+
resetBtn.textContent = 'Reset';
|
|
2010
|
+
resetBtn.addEventListener('click', clearHighlight);
|
|
2011
|
+
cmdBar.appendChild(resetBtn);
|
|
2012
|
+
|
|
2013
|
+
commandNodes.forEach(function(n) {
|
|
2014
|
+
var btn = document.createElement('button');
|
|
2015
|
+
btn.className = 'cf-cmd-btn';
|
|
2016
|
+
btn.textContent = n.text;
|
|
2017
|
+
btn.dataset.cmd = n.id;
|
|
2018
|
+
btn.addEventListener('click', function() { highlightNode(n.id); });
|
|
2019
|
+
cmdBar.appendChild(btn);
|
|
2020
|
+
});
|
|
2021
|
+
|
|
2022
|
+
// ========== TOOLTIP ==========
|
|
2023
|
+
var tooltipEl = document.getElementById('cfTooltip');
|
|
2024
|
+
|
|
2025
|
+
function cfShowTooltip(ev, node) {
|
|
2026
|
+
tooltipEl.innerHTML = '<code>' + node.text + '</code><br>' + node.desc;
|
|
2027
|
+
tooltipEl.classList.add('show');
|
|
2028
|
+
cfMoveTooltip(ev);
|
|
2029
|
+
}
|
|
2030
|
+
function cfMoveTooltip(ev) {
|
|
2031
|
+
tooltipEl.style.left = (ev.clientX + 12) + 'px';
|
|
2032
|
+
tooltipEl.style.top = (ev.clientY + 12) + 'px';
|
|
2033
|
+
}
|
|
2034
|
+
function cfHideTooltip() {
|
|
2035
|
+
tooltipEl.classList.remove('show');
|
|
2036
|
+
}
|
|
2037
|
+
})();
|
|
2038
|
+
</script>
|
|
2039
|
+
|
|
2040
|
+
<div class="divider"></div>
|
|
2041
|
+
|
|
2042
|
+
<!-- ===== COMMAND DEEP DIVE ===== -->
|
|
2043
|
+
<section class="section" id="deepdive" style="max-width: 100%; padding: 60px 16px;">
|
|
2044
|
+
<div class="section-header" style="max-width: 1200px; margin: 0 auto 48px;">
|
|
2045
|
+
<div class="label">Under the Hood</div>
|
|
2046
|
+
<h2>Command Deep Dive</h2>
|
|
2047
|
+
<p>See what happens inside <strong>GitHub Copilot</strong> when you run a CoKit command — which agents, skills, and tools Copilot triggers.</p>
|
|
2048
|
+
</div>
|
|
2049
|
+
|
|
2050
|
+
<!-- Command selector tabs -->
|
|
2051
|
+
<div class="dd-selector" id="ddSelector">
|
|
2052
|
+
<button class="dd-tab active" data-cmd="cook" onclick="ddSwitchCmd('cook')">🍳 /ck.cook</button>
|
|
2053
|
+
<button class="dd-tab" data-cmd="fix" onclick="ddSwitchCmd('fix')">🔧 /ck.fix</button>
|
|
2054
|
+
<button class="dd-tab" data-cmd="plan" onclick="ddSwitchCmd('plan')">📋 /ck.plan</button>
|
|
2055
|
+
<button class="dd-tab" data-cmd="test" onclick="ddSwitchCmd('test')">🧪 /ck.test</button>
|
|
2056
|
+
<button class="dd-tab" data-cmd="review" onclick="ddSwitchCmd('review')">🔍 /ck.review</button>
|
|
2057
|
+
<button class="dd-tab" data-cmd="debug" onclick="ddSwitchCmd('debug')">🕷 /ck.debug</button>
|
|
2058
|
+
</div>
|
|
2059
|
+
|
|
2060
|
+
<!-- Pipeline container (shared) -->
|
|
2061
|
+
<div class="dd-pipeline" id="dd-pipeline">
|
|
2062
|
+
|
|
2063
|
+
<!-- Pipeline header -->
|
|
2064
|
+
<div class="dd-header">
|
|
2065
|
+
<div class="dd-title" id="ddPipeTitle">/ck.cook — Smart Feature Implementation</div>
|
|
2066
|
+
<div class="dd-subtitle">How Copilot processes your request using CoKit resources. Click any phase to see details.</div>
|
|
2067
|
+
</div>
|
|
2068
|
+
|
|
2069
|
+
<!-- Mode bar (only for cook) -->
|
|
2070
|
+
<div class="dd-modes" id="ddModes">
|
|
2071
|
+
<div class="dd-mode-label">Modes:</div>
|
|
2072
|
+
<button class="dd-mode active" data-mode="interactive">Interactive</button>
|
|
2073
|
+
<button class="dd-mode" data-mode="fast">Fast</button>
|
|
2074
|
+
<button class="dd-mode" data-mode="auto">Auto</button>
|
|
2075
|
+
<button class="dd-mode" data-mode="parallel">Parallel</button>
|
|
2076
|
+
<button class="dd-mode" data-mode="code">Code</button>
|
|
2077
|
+
</div>
|
|
2078
|
+
|
|
2079
|
+
<!-- SVG Pipeline -->
|
|
2080
|
+
<div class="dd-svg-wrap">
|
|
2081
|
+
<svg id="ddPipeline" viewBox="0 0 1500 520"></svg>
|
|
2082
|
+
</div>
|
|
2083
|
+
|
|
2084
|
+
<!-- Detail panel (shows on click) -->
|
|
2085
|
+
<div class="dd-detail" id="ddDetail">
|
|
2086
|
+
<div class="dd-detail-title" id="ddDetailTitle">Click a phase to see details</div>
|
|
2087
|
+
<div class="dd-detail-body" id="ddDetailBody">
|
|
2088
|
+
<div class="dd-detail-placeholder">Each phase triggers specific agents, skills, and VS Code tools. Click any phase node above to explore.</div>
|
|
2089
|
+
</div>
|
|
2090
|
+
</div>
|
|
2091
|
+
|
|
2092
|
+
<!-- Legend -->
|
|
2093
|
+
<div class="dd-legend">
|
|
2094
|
+
<span class="dd-legend-item"><span class="dd-dot" style="background: var(--accent2);"></span> Phase</span>
|
|
2095
|
+
<span class="dd-legend-item"><span class="dd-dot" style="background: var(--accent);"></span> Agent</span>
|
|
2096
|
+
<span class="dd-legend-item"><span class="dd-dot" style="background: var(--green);"></span> Skill</span>
|
|
2097
|
+
<span class="dd-legend-item"><span class="dd-dot" style="background: var(--orange);"></span> VS Code Tool</span>
|
|
2098
|
+
<span class="dd-legend-item"><span class="dd-dot" style="background: var(--pink);"></span> Review Gate</span>
|
|
2099
|
+
</div>
|
|
2100
|
+
</div>
|
|
2101
|
+
</section>
|
|
2102
|
+
|
|
2103
|
+
<style>
|
|
2104
|
+
/* ===== DEEP DIVE STYLES ===== */
|
|
2105
|
+
.dd-selector {
|
|
2106
|
+
display: flex;
|
|
2107
|
+
justify-content: center;
|
|
2108
|
+
gap: 8px;
|
|
2109
|
+
margin-bottom: 24px;
|
|
2110
|
+
flex-wrap: wrap;
|
|
2111
|
+
}
|
|
2112
|
+
.dd-tab {
|
|
2113
|
+
padding: 8px 20px;
|
|
2114
|
+
font-size: 14px;
|
|
2115
|
+
font-weight: 600;
|
|
2116
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
2117
|
+
background: var(--bg-surface);
|
|
2118
|
+
border: 1px solid var(--border);
|
|
2119
|
+
color: var(--text-muted);
|
|
2120
|
+
border-radius: 8px;
|
|
2121
|
+
cursor: pointer;
|
|
2122
|
+
transition: all 0.2s;
|
|
2123
|
+
}
|
|
2124
|
+
.dd-tab:hover { border-color: var(--accent); color: var(--accent); }
|
|
2125
|
+
.dd-tab.active {
|
|
2126
|
+
border-color: var(--accent);
|
|
2127
|
+
color: var(--accent);
|
|
2128
|
+
background: rgba(56,189,248,0.1);
|
|
2129
|
+
box-shadow: 0 0 12px rgba(56,189,248,0.2);
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
.dd-pipeline {
|
|
2133
|
+
background: var(--bg-surface);
|
|
2134
|
+
border: 1px solid var(--border);
|
|
2135
|
+
border-radius: 16px;
|
|
2136
|
+
overflow: hidden;
|
|
2137
|
+
max-width: 1400px;
|
|
2138
|
+
margin: 0 auto;
|
|
2139
|
+
}
|
|
2140
|
+
.dd-header {
|
|
2141
|
+
padding: 20px 24px 0;
|
|
2142
|
+
text-align: center;
|
|
2143
|
+
}
|
|
2144
|
+
.dd-title {
|
|
2145
|
+
font-size: 18px;
|
|
2146
|
+
font-weight: 700;
|
|
2147
|
+
color: var(--text);
|
|
2148
|
+
}
|
|
2149
|
+
.dd-subtitle {
|
|
2150
|
+
font-size: 13px;
|
|
2151
|
+
color: var(--text-muted);
|
|
2152
|
+
margin-top: 4px;
|
|
2153
|
+
}
|
|
2154
|
+
|
|
2155
|
+
.dd-modes {
|
|
2156
|
+
display: flex;
|
|
2157
|
+
align-items: center;
|
|
2158
|
+
justify-content: center;
|
|
2159
|
+
gap: 6px;
|
|
2160
|
+
padding: 16px 24px 8px;
|
|
2161
|
+
flex-wrap: wrap;
|
|
2162
|
+
}
|
|
2163
|
+
.dd-mode-label {
|
|
2164
|
+
font-size: 12px;
|
|
2165
|
+
color: var(--text-dim);
|
|
2166
|
+
font-weight: 600;
|
|
2167
|
+
margin-right: 4px;
|
|
2168
|
+
}
|
|
2169
|
+
.dd-mode {
|
|
2170
|
+
padding: 4px 12px;
|
|
2171
|
+
font-size: 11px;
|
|
2172
|
+
font-weight: 600;
|
|
2173
|
+
background: transparent;
|
|
2174
|
+
border: 1px solid var(--border);
|
|
2175
|
+
color: var(--text-muted);
|
|
2176
|
+
border-radius: 4px;
|
|
2177
|
+
cursor: pointer;
|
|
2178
|
+
transition: all 0.2s;
|
|
2179
|
+
font-family: inherit;
|
|
2180
|
+
}
|
|
2181
|
+
.dd-mode:hover { border-color: var(--accent2); color: var(--accent2); }
|
|
2182
|
+
.dd-mode.active {
|
|
2183
|
+
border-color: var(--accent2);
|
|
2184
|
+
color: var(--accent2);
|
|
2185
|
+
background: rgba(129,140,248,0.12);
|
|
2186
|
+
}
|
|
2187
|
+
|
|
2188
|
+
.dd-svg-wrap {
|
|
2189
|
+
padding: 16px;
|
|
2190
|
+
overflow-x: auto;
|
|
2191
|
+
display: flex;
|
|
2192
|
+
justify-content: center;
|
|
2193
|
+
}
|
|
2194
|
+
.dd-svg-wrap svg {
|
|
2195
|
+
width: 100%;
|
|
2196
|
+
height: auto;
|
|
2197
|
+
min-height: 300px;
|
|
2198
|
+
}
|
|
2199
|
+
.dd-svg-wrap svg text {
|
|
2200
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
|
|
2201
|
+
user-select: none;
|
|
2202
|
+
}
|
|
2203
|
+
|
|
2204
|
+
.dd-phase { cursor: pointer; transition: filter 0.2s, opacity 0.2s; }
|
|
2205
|
+
.dd-phase:hover { filter: drop-shadow(0 0 10px var(--accent2)); }
|
|
2206
|
+
.dd-phase.active { filter: drop-shadow(0 0 14px var(--accent2)); }
|
|
2207
|
+
.dd-phase.faded { opacity: 0.2; }
|
|
2208
|
+
.dd-phase.skipped { opacity: 0.15; }
|
|
2209
|
+
.dd-phase.skipped rect, .dd-phase.skipped polygon { stroke-dasharray: 6 4; }
|
|
2210
|
+
|
|
2211
|
+
.dd-arrow { transition: opacity 0.2s; }
|
|
2212
|
+
.dd-arrow.faded { opacity: 0.15; }
|
|
2213
|
+
|
|
2214
|
+
.dd-sub-node { transition: opacity 0.3s, transform 0.3s; }
|
|
2215
|
+
|
|
2216
|
+
.dd-detail {
|
|
2217
|
+
margin: 0 24px 16px;
|
|
2218
|
+
background: rgba(0,0,0,0.25);
|
|
2219
|
+
border: 1px solid var(--border);
|
|
2220
|
+
border-radius: 12px;
|
|
2221
|
+
padding: 20px 24px;
|
|
2222
|
+
min-height: 80px;
|
|
2223
|
+
transition: all 0.3s;
|
|
2224
|
+
}
|
|
2225
|
+
.dd-detail-title {
|
|
2226
|
+
font-size: 15px;
|
|
2227
|
+
font-weight: 700;
|
|
2228
|
+
color: var(--accent);
|
|
2229
|
+
margin-bottom: 12px;
|
|
2230
|
+
}
|
|
2231
|
+
.dd-detail-body { font-size: 13px; color: var(--text-muted); line-height: 1.7; }
|
|
2232
|
+
.dd-detail-placeholder { font-style: italic; color: var(--text-dim); }
|
|
2233
|
+
.dd-detail-body .dd-agent { color: var(--accent); font-weight: 600; }
|
|
2234
|
+
.dd-detail-body .dd-skill { color: var(--green); font-weight: 600; }
|
|
2235
|
+
.dd-detail-body .dd-tool { color: var(--orange); font-weight: 600; }
|
|
2236
|
+
.dd-detail-body .dd-gate { color: var(--pink); font-weight: 600; }
|
|
2237
|
+
.dd-detail-body code {
|
|
2238
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
2239
|
+
font-size: 12px;
|
|
2240
|
+
color: var(--green);
|
|
2241
|
+
background: rgba(52,211,153,0.1);
|
|
2242
|
+
padding: 1px 6px;
|
|
2243
|
+
border-radius: 3px;
|
|
2244
|
+
}
|
|
2245
|
+
.dd-detail-grid {
|
|
2246
|
+
display: grid;
|
|
2247
|
+
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
2248
|
+
gap: 12px;
|
|
2249
|
+
margin-top: 12px;
|
|
2250
|
+
}
|
|
2251
|
+
.dd-detail-card {
|
|
2252
|
+
background: rgba(0,0,0,0.2);
|
|
2253
|
+
border: 1px solid var(--border);
|
|
2254
|
+
border-radius: 8px;
|
|
2255
|
+
padding: 12px;
|
|
2256
|
+
}
|
|
2257
|
+
.dd-detail-card h5 {
|
|
2258
|
+
font-size: 11px;
|
|
2259
|
+
text-transform: uppercase;
|
|
2260
|
+
letter-spacing: 1px;
|
|
2261
|
+
margin-bottom: 6px;
|
|
2262
|
+
}
|
|
2263
|
+
.dd-detail-card ul { list-style: none; padding: 0; }
|
|
2264
|
+
.dd-detail-card li { font-size: 12px; padding: 2px 0; }
|
|
2265
|
+
|
|
2266
|
+
.dd-legend {
|
|
2267
|
+
display: flex;
|
|
2268
|
+
justify-content: center;
|
|
2269
|
+
gap: 16px;
|
|
2270
|
+
padding: 12px 24px;
|
|
2271
|
+
border-top: 1px solid var(--border);
|
|
2272
|
+
font-size: 11px;
|
|
2273
|
+
color: var(--text-dim);
|
|
2274
|
+
flex-wrap: wrap;
|
|
2275
|
+
}
|
|
2276
|
+
.dd-legend-item { display: flex; align-items: center; gap: 4px; }
|
|
2277
|
+
.dd-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
|
|
2278
|
+
</style>
|
|
2279
|
+
|
|
2280
|
+
<script>
|
|
2281
|
+
(function() {
|
|
2282
|
+
// ========== ALL PIPELINE DATA ==========
|
|
2283
|
+
var DD_COMMANDS = {
|
|
2284
|
+
cook: {
|
|
2285
|
+
title: '/ck.cook — Smart Feature Implementation',
|
|
2286
|
+
hasModes: true,
|
|
2287
|
+
phases: [
|
|
2288
|
+
{
|
|
2289
|
+
id: 'detect', label: 'Intent\nDetect', x: 80, color: 'var(--accent2)',
|
|
2290
|
+
desc: 'Analyzes your input to pick the right workflow mode.',
|
|
2291
|
+
agents: [], skills: ['cook (intent-detection)'], tools: [],
|
|
2292
|
+
detail: 'Reads your input and matches patterns:<br>- Plan path → <strong>code</strong> mode<br>- "fast" / "quick" → <strong>fast</strong> mode<br>- "trust me" / "auto" → <strong>auto</strong> mode<br>- 3+ features → <strong>parallel</strong> mode<br>- Default → <strong>interactive</strong> mode',
|
|
2293
|
+
modes: { interactive: true, fast: true, auto: true, parallel: true, code: true }
|
|
2294
|
+
},
|
|
2295
|
+
{
|
|
2296
|
+
id: 'scout', label: 'Scout', x: 220, color: 'var(--accent)',
|
|
2297
|
+
desc: 'Scans codebase to find relevant files.',
|
|
2298
|
+
agents: ['scout'], skills: [], tools: ['search/codebase', 'search/changes'],
|
|
2299
|
+
detail: '<span class="dd-agent">@scout</span> agent uses parallel search to locate all files related to your task.<br>Output: file list + architecture context for the planner.',
|
|
2300
|
+
modes: { interactive: true, fast: true, auto: true, parallel: true, code: false }
|
|
2301
|
+
},
|
|
2302
|
+
{
|
|
2303
|
+
id: 'research', label: 'Research', x: 360, color: 'var(--accent)',
|
|
2304
|
+
desc: 'Gathers technical context from docs and web.',
|
|
2305
|
+
agents: ['researcher'], skills: ['docs-seeker', 'research'], tools: ['web/fetch', 'search/codebase'],
|
|
2306
|
+
detail: '<span class="dd-agent">@researcher</span> agents run in parallel to gather info.<br>Uses <span class="dd-skill">docs-seeker</span> (context7) + web search.<br>Output: research report for planner.',
|
|
2307
|
+
modes: { interactive: true, fast: false, auto: true, parallel: true, code: false }
|
|
2308
|
+
},
|
|
2309
|
+
{
|
|
2310
|
+
id: 'review1', label: 'Review', x: 470, color: 'var(--pink)', type: 'gate',
|
|
2311
|
+
desc: 'Human review gate: approve research findings.',
|
|
2312
|
+
agents: [], skills: [], tools: [],
|
|
2313
|
+
detail: '<span class="dd-gate">Review Gate</span>: You review research findings before planning begins.<br>In <strong>auto</strong> mode: skipped if quality score ≥ 9.5',
|
|
2314
|
+
modes: { interactive: true, fast: false, auto: 'auto', parallel: true, code: false }
|
|
2315
|
+
},
|
|
2316
|
+
{
|
|
2317
|
+
id: 'plan', label: 'Plan', x: 580, color: 'var(--accent)',
|
|
2318
|
+
desc: 'Creates implementation plan with phases.',
|
|
2319
|
+
agents: ['planner'], skills: ['planning', 'sequential-thinking'], tools: ['search/codebase', 'web/fetch'],
|
|
2320
|
+
detail: '<span class="dd-agent">@planner</span> creates a detailed plan:<br>- Phase breakdown with TODO tasks<br>- Uses <span class="dd-skill">planning</span> + <span class="dd-skill">sequential-thinking</span> skills<br>- Saves to <code>plans/</code> directory',
|
|
2321
|
+
modes: { interactive: true, fast: true, auto: true, parallel: true, code: false }
|
|
2322
|
+
},
|
|
2323
|
+
{
|
|
2324
|
+
id: 'review2', label: 'Review', x: 690, color: 'var(--pink)', type: 'gate',
|
|
2325
|
+
desc: 'Human review gate: approve plan before coding.',
|
|
2326
|
+
agents: [], skills: [], tools: [],
|
|
2327
|
+
detail: '<span class="dd-gate">Review Gate</span>: You approve the plan before implementation starts.<br>In <strong>auto</strong> mode: auto-approved if score ≥ 9.5',
|
|
2328
|
+
modes: { interactive: true, fast: true, auto: 'auto', parallel: true, code: false }
|
|
2329
|
+
},
|
|
2330
|
+
{
|
|
2331
|
+
id: 'implement', label: 'Implement', x: 800, color: 'var(--green)',
|
|
2332
|
+
desc: 'Writes the actual code, phase by phase.',
|
|
2333
|
+
agents: ['fullstack-developer', 'ui-ux-designer'], skills: ['cook', 'frontend-dev', 'backend-dev'], tools: ['edit', 'create', 'runInTerminal'],
|
|
2334
|
+
detail: 'Copilot writes code following the plan:<br>- <span class="dd-agent">@fullstack-developer</span> executes phases (parallel in parallel mode)<br>- <span class="dd-agent">@ui-ux-designer</span> for UI work<br>- Uses <span class="dd-skill">frontend-dev</span> / <span class="dd-skill">backend-dev</span> skills<br>- <span class="dd-tool">Instructions</span> auto-apply: <code>ck-frontend</code>, <code>ck-backend</code>, <code>ck-development</code>',
|
|
2335
|
+
modes: { interactive: true, fast: true, auto: true, parallel: true, code: true }
|
|
2336
|
+
},
|
|
2337
|
+
{
|
|
2338
|
+
id: 'simplify', label: 'Simplify', x: 920, color: 'var(--accent2)',
|
|
2339
|
+
desc: 'Refines code for clarity and maintainability.',
|
|
2340
|
+
agents: ['code-simplifier'], skills: [], tools: ['edit', 'search/changes'],
|
|
2341
|
+
detail: '<span class="dd-agent">@code-simplifier</span> refines implemented code:<br>- Reduces nesting, adds guard clauses<br>- Improves naming, removes redundancy<br>- Preserves all functionality<br>- Follows <code>code-standards.md</code> conventions',
|
|
2342
|
+
modes: { interactive: true, fast: true, auto: true, parallel: true, code: true }
|
|
2343
|
+
},
|
|
2344
|
+
{
|
|
2345
|
+
id: 'review3', label: 'Review', x: 1030, color: 'var(--pink)', type: 'gate',
|
|
2346
|
+
desc: 'Human review gate: approve code before testing.',
|
|
2347
|
+
agents: ['code-reviewer'], skills: ['code-review'], tools: ['search/codebase', 'read/problems'],
|
|
2348
|
+
detail: '<span class="dd-agent">@code-reviewer</span> scans for quality issues.<br>Uses <span class="dd-skill">code-review</span> skill.<br><span class="dd-gate">Review Gate</span>: You approve code before tests run.',
|
|
2349
|
+
modes: { interactive: true, fast: true, auto: 'auto', parallel: true, code: true }
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
id: 'test', label: 'Test', x: 1150, color: 'var(--accent)',
|
|
2353
|
+
desc: 'Runs tests and validates everything works.',
|
|
2354
|
+
agents: ['tester', 'debugger'], skills: ['debugging'], tools: ['runTests', 'runInTerminal', 'testFailure'],
|
|
2355
|
+
detail: '<span class="dd-agent">@tester</span> runs test suites + analyzes results.<br>If tests fail: <span class="dd-agent">@debugger</span> investigates root cause.<br>Uses <span class="dd-skill">debugging</span> skill + <span class="dd-tool">runTests</span> tool.<br><strong>Requirement:</strong> 100% tests must pass.',
|
|
2356
|
+
modes: { interactive: true, fast: true, auto: true, parallel: true, code: true }
|
|
2357
|
+
},
|
|
2358
|
+
{
|
|
2359
|
+
id: 'finalize', label: 'Finalize', x: 1300, color: 'var(--green)',
|
|
2360
|
+
desc: 'Updates docs, commits code, done!',
|
|
2361
|
+
agents: ['docs-manager', 'git-manager'], skills: [], tools: ['search/changes'],
|
|
2362
|
+
detail: '<span class="dd-agent">@docs-manager</span> updates project docs in <code>./docs/</code><br><span class="dd-agent">@git-manager</span> creates conventional commit + push.<br>Output: clean commit with all changes.',
|
|
2363
|
+
modes: { interactive: true, fast: true, auto: true, parallel: true, code: true }
|
|
2364
|
+
}
|
|
2365
|
+
]
|
|
2366
|
+
},
|
|
2367
|
+
|
|
2368
|
+
fix: {
|
|
2369
|
+
title: '/ck.fix — Intelligent Bug Router',
|
|
2370
|
+
hasModes: false,
|
|
2371
|
+
phases: [
|
|
2372
|
+
{
|
|
2373
|
+
id: 'analyze', label: 'Analyze\nInput', x: 120, color: 'var(--accent2)',
|
|
2374
|
+
desc: 'Reads your issue description and classifies it.',
|
|
2375
|
+
agents: [], skills: [], tools: [],
|
|
2376
|
+
detail: 'Copilot reads your issue description and checks:<br>- Is there an existing plan? → Route to <strong>/ck:code</strong><br>- Keyword matching to classify the issue type<br>- Complexity assessment for routing decision'
|
|
2377
|
+
},
|
|
2378
|
+
{
|
|
2379
|
+
id: 'route', label: 'Route', x: 300, color: 'var(--accent2)',
|
|
2380
|
+
desc: 'Picks the best sub-command for this issue type.',
|
|
2381
|
+
agents: [], skills: [], tools: [],
|
|
2382
|
+
detail: 'Smart routing by issue type:<br>- <strong>Type errors</strong> → <code>/ck:fix:types</code><br>- <strong>UI/UX issues</strong> → <code>/ck:fix:ui</code><br>- <strong>CI/CD issues</strong> → <code>/ck:fix:ci</code><br>- <strong>Test failures</strong> → <code>/ck:fix:test</code><br>- <strong>Log errors</strong> → <code>/ck:fix:logs</code><br>- <strong>Multiple issues</strong> → <code>/ck:fix:parallel</code><br>- <strong>Complex</strong> → <code>/ck:fix:hard</code><br>- <strong>Simple</strong> → <code>/ck:fix:fast</code>'
|
|
2383
|
+
},
|
|
2384
|
+
{
|
|
2385
|
+
id: 'scout', label: 'Scout', x: 480, color: 'var(--accent)',
|
|
2386
|
+
desc: 'Finds files related to the bug.',
|
|
2387
|
+
agents: ['scout'], skills: [], tools: ['search/codebase', 'search/changes'],
|
|
2388
|
+
detail: '<span class="dd-agent">@scout</span> locates all files related to the issue.<br>Searches for error patterns, related functions, and dependencies.'
|
|
2389
|
+
},
|
|
2390
|
+
{
|
|
2391
|
+
id: 'diagnose', label: 'Diagnose', x: 660, color: 'var(--accent)',
|
|
2392
|
+
desc: 'Root cause analysis before fixing.',
|
|
2393
|
+
agents: ['debugger'], skills: ['debugging', 'sequential-thinking'], tools: ['read/problems', 'runInTerminal'],
|
|
2394
|
+
detail: '<span class="dd-agent">@debugger</span> performs root cause analysis:<br>- Read error messages completely<br>- Reproduce the issue<br>- Check recent changes (<code>git diff</code>)<br>- Uses <span class="dd-skill">debugging</span> + <span class="dd-skill">sequential-thinking</span> skills'
|
|
2395
|
+
},
|
|
2396
|
+
{
|
|
2397
|
+
id: 'fix', label: 'Fix', x: 840, color: 'var(--green)',
|
|
2398
|
+
desc: 'Applies the fix at the root cause.',
|
|
2399
|
+
agents: [], skills: ['frontend-dev', 'backend-dev'], tools: ['edit', 'create', 'runInTerminal'],
|
|
2400
|
+
detail: 'Copilot writes the fix:<br>- Targets root cause, not symptoms<br>- Uses <span class="dd-skill">frontend-dev</span> / <span class="dd-skill">backend-dev</span> skills<br>- <span class="dd-tool">Instructions</span> auto-apply: <code>ck-development</code>'
|
|
2401
|
+
},
|
|
2402
|
+
{
|
|
2403
|
+
id: 'verify', label: 'Verify', x: 1020, color: 'var(--accent)',
|
|
2404
|
+
desc: 'Runs tests to confirm the fix works.',
|
|
2405
|
+
agents: ['tester'], skills: [], tools: ['runTests', 'testFailure'],
|
|
2406
|
+
detail: '<span class="dd-agent">@tester</span> verifies the fix:<br>- Runs existing test suite<br>- Confirms issue is resolved<br>- Checks for regressions<br><strong>If tests fail:</strong> loops back to diagnose'
|
|
2407
|
+
}
|
|
2408
|
+
]
|
|
2409
|
+
},
|
|
2410
|
+
|
|
2411
|
+
plan: {
|
|
2412
|
+
title: '/ck.plan — Intelligent Plan Creation',
|
|
2413
|
+
hasModes: false,
|
|
2414
|
+
phases: [
|
|
2415
|
+
{
|
|
2416
|
+
id: 'input', label: 'Analyze\nTask', x: 100, color: 'var(--accent2)',
|
|
2417
|
+
desc: 'Reads task description and checks for existing plans.',
|
|
2418
|
+
agents: [], skills: [], tools: [],
|
|
2419
|
+
detail: 'Pre-creation checks:<br>- Active plan exists? → Ask to continue<br>- Branch-matched plan? → Ask to activate or create new<br>- No plan? → Create new using naming convention<br>- May ask clarifying questions via <span class="dd-tool">AskUserQuestion</span>'
|
|
2420
|
+
},
|
|
2421
|
+
{
|
|
2422
|
+
id: 'research', label: 'Research', x: 320, color: 'var(--accent)',
|
|
2423
|
+
desc: 'Multiple researchers gather context in parallel.',
|
|
2424
|
+
agents: ['researcher'], skills: ['research', 'docs-seeker'], tools: ['web/fetch', 'search/codebase'],
|
|
2425
|
+
detail: 'Multiple <span class="dd-agent">@researcher</span> agents run in parallel:<br>- Search docs, web, and codebase<br>- Uses <span class="dd-skill">docs-seeker</span> (context7) for library docs<br>- Uses <span class="dd-skill">research</span> skill for best practices<br>- Output: research reports (≤150 lines each)'
|
|
2426
|
+
},
|
|
2427
|
+
{
|
|
2428
|
+
id: 'scout', label: 'Scout', x: 540, color: 'var(--accent)',
|
|
2429
|
+
desc: 'Discovers relevant codebase files.',
|
|
2430
|
+
agents: ['scout'], skills: [], tools: ['search/codebase', 'search/changes'],
|
|
2431
|
+
detail: '<span class="dd-agent">@scout</span> maps the codebase:<br>- Finds all files related to the task<br>- Identifies architecture patterns<br>- Output: file list + context for planner'
|
|
2432
|
+
},
|
|
2433
|
+
{
|
|
2434
|
+
id: 'plan', label: 'Create\nPlan', x: 760, color: 'var(--green)',
|
|
2435
|
+
desc: 'Generates detailed implementation plan.',
|
|
2436
|
+
agents: ['planner'], skills: ['planning', 'sequential-thinking'], tools: ['search/codebase'],
|
|
2437
|
+
detail: '<span class="dd-agent">@planner</span> creates the plan:<br>- Analyzes research + scout reports<br>- Uses <span class="dd-skill">planning</span> + <span class="dd-skill">sequential-thinking</span><br>- Output: <code>plan.md</code> overview + <code>phase-XX-*.md</code> files<br>- Saves to <code>plans/</code> directory'
|
|
2438
|
+
},
|
|
2439
|
+
{
|
|
2440
|
+
id: 'output', label: 'Output', x: 980, color: 'var(--accent2)',
|
|
2441
|
+
desc: 'Plan ready for review. Does NOT implement.',
|
|
2442
|
+
agents: [], skills: [], tools: [],
|
|
2443
|
+
detail: 'Plan is saved and presented to user:<br>- Overview: <code>plan.md</code> (under 80 lines)<br>- Detailed phases: <code>phase-XX-name.md</code><br>- Each phase has: requirements, architecture, steps, TODOs<br><strong>Important:</strong> Does NOT start implementing.'
|
|
2444
|
+
}
|
|
2445
|
+
]
|
|
2446
|
+
},
|
|
2447
|
+
|
|
2448
|
+
test: {
|
|
2449
|
+
title: '/ck.test — Test Runner & Analyzer',
|
|
2450
|
+
hasModes: false,
|
|
2451
|
+
phases: [
|
|
2452
|
+
{
|
|
2453
|
+
id: 'detect', label: 'Detect\nFramework', x: 140, color: 'var(--accent2)',
|
|
2454
|
+
desc: 'Identifies the testing framework and config.',
|
|
2455
|
+
agents: [], skills: [], tools: ['search/codebase'],
|
|
2456
|
+
detail: 'Copilot detects your test setup:<br>- Scans <code>package.json</code>, config files<br>- Identifies: Jest, Vitest, Mocha, Playwright, etc.<br>- Finds test scripts and commands'
|
|
2457
|
+
},
|
|
2458
|
+
{
|
|
2459
|
+
id: 'run', label: 'Run\nTests', x: 400, color: 'var(--accent)',
|
|
2460
|
+
desc: 'Executes the test suite.',
|
|
2461
|
+
agents: ['tester'], skills: [], tools: ['runTests', 'runInTerminal', 'getTerminalOutput'],
|
|
2462
|
+
detail: '<span class="dd-agent">@tester</span> runs the test suite:<br>- Uses <span class="dd-tool">runTests</span> for built-in test runner<br>- Or <span class="dd-tool">runInTerminal</span> for custom commands<br>- Captures all output and exit codes'
|
|
2463
|
+
},
|
|
2464
|
+
{
|
|
2465
|
+
id: 'analyze', label: 'Analyze\nResults', x: 660, color: 'var(--accent)',
|
|
2466
|
+
desc: 'Parses output, identifies failures.',
|
|
2467
|
+
agents: ['tester'], skills: [], tools: ['testFailure', 'read/problems'],
|
|
2468
|
+
detail: '<span class="dd-agent">@tester</span> analyzes results:<br>- Parses test output for pass/fail counts<br>- Identifies failing tests with stack traces<br>- Uses <span class="dd-tool">read/problems</span> for IDE diagnostics<br>- Generates summary report'
|
|
2469
|
+
},
|
|
2470
|
+
{
|
|
2471
|
+
id: 'report', label: 'Report', x: 920, color: 'var(--green)',
|
|
2472
|
+
desc: 'Summary with pass/fail counts and recommendations.',
|
|
2473
|
+
agents: [], skills: [], tools: [],
|
|
2474
|
+
detail: 'Test report includes:<br>- Pass/fail/skip counts<br>- Failing test details with root cause hints<br>- Coverage info (if available)<br>- Recommended next: <code>/ck.fix</code> or <code>/ck.review</code>'
|
|
2475
|
+
}
|
|
2476
|
+
]
|
|
2477
|
+
},
|
|
2478
|
+
|
|
2479
|
+
review: {
|
|
2480
|
+
title: '/ck.review — Codebase Scan & Analysis',
|
|
2481
|
+
hasModes: false,
|
|
2482
|
+
phases: [
|
|
2483
|
+
{
|
|
2484
|
+
id: 'research', label: 'Research', x: 100, color: 'var(--accent)',
|
|
2485
|
+
desc: 'Researchers gather best practices in parallel.',
|
|
2486
|
+
agents: ['researcher'], skills: ['research', 'docs-seeker'], tools: ['web/fetch', 'search/codebase'],
|
|
2487
|
+
detail: '2 <span class="dd-agent">@researcher</span> agents run in parallel:<br>- Search up to 5 sources per agent<br>- Uses <span class="dd-skill">docs-seeker</span> + <span class="dd-skill">research</span> skills<br>- Output: concise reports (≤150 lines)'
|
|
2488
|
+
},
|
|
2489
|
+
{
|
|
2490
|
+
id: 'scout', label: 'Scout', x: 300, color: 'var(--accent)',
|
|
2491
|
+
desc: 'Finds all files relevant to review scope.',
|
|
2492
|
+
agents: ['scout'], skills: [], tools: ['search/codebase', 'search/changes'],
|
|
2493
|
+
detail: '<span class="dd-agent">@scout</span> maps the review scope:<br>- Uses <code>/scout:ext</code> (preferred) or <code>/scout</code> fallback<br>- Identifies files needing review<br>- Checks architecture patterns'
|
|
2494
|
+
},
|
|
2495
|
+
{
|
|
2496
|
+
id: 'review', label: 'Code\nReview', x: 530, color: 'var(--accent)',
|
|
2497
|
+
desc: 'Multiple reviewers scan code in parallel.',
|
|
2498
|
+
agents: ['code-reviewer'], skills: ['code-review'], tools: ['search/codebase', 'read/problems'],
|
|
2499
|
+
detail: 'Multiple <span class="dd-agent">@code-reviewer</span> agents in parallel:<br>- Uses <span class="dd-skill">code-review</span> skill<br>- Checks: quality, security, duplication, YAGNI/KISS/DRY<br>- Scans with <span class="dd-tool">read/problems</span> for IDE issues'
|
|
2500
|
+
},
|
|
2501
|
+
{
|
|
2502
|
+
id: 'plan', label: 'Plan', x: 750, color: 'var(--accent)',
|
|
2503
|
+
desc: 'Creates improvement plan from findings.',
|
|
2504
|
+
agents: ['planner'], skills: ['planning'], tools: [],
|
|
2505
|
+
detail: '<span class="dd-agent">@planner</span> creates improvement plan:<br>- Analyzes research + review findings<br>- Creates <code>plan.md</code> + <code>phase-XX-*.md</code> files<br>- Prioritizes issues by severity'
|
|
2506
|
+
},
|
|
2507
|
+
{
|
|
2508
|
+
id: 'report', label: 'Report', x: 970, color: 'var(--green)',
|
|
2509
|
+
desc: 'Summary of findings and next steps.',
|
|
2510
|
+
agents: [], skills: [], tools: [],
|
|
2511
|
+
detail: 'Final report includes:<br>- Summary of all findings<br>- Improvement plan with priorities<br>- Asks: commit and push to git?<br>- Uses <span class="dd-agent">@git-manager</span> if approved'
|
|
2512
|
+
}
|
|
2513
|
+
]
|
|
2514
|
+
},
|
|
2515
|
+
|
|
2516
|
+
debug: {
|
|
2517
|
+
title: '/ck.debug — Systematic Root Cause Analysis',
|
|
2518
|
+
hasModes: false,
|
|
2519
|
+
phases: [
|
|
2520
|
+
{
|
|
2521
|
+
id: 'reproduce', label: 'Reproduce', x: 100, color: 'var(--accent2)',
|
|
2522
|
+
desc: 'Read error messages, reproduce consistently.',
|
|
2523
|
+
agents: [], skills: ['debugging'], tools: ['runInTerminal', 'read/problems'],
|
|
2524
|
+
detail: '<strong>Phase 1: Root Cause Investigation</strong><br>- Read error messages completely<br>- Reproduce the issue consistently<br>- Check recent changes (<code>git diff</code>, <code>git log</code>)<br>- Gather evidence before theorizing'
|
|
2525
|
+
},
|
|
2526
|
+
{
|
|
2527
|
+
id: 'pattern', label: 'Pattern\nAnalysis', x: 340, color: 'var(--accent)',
|
|
2528
|
+
desc: 'Compare working vs broken code.',
|
|
2529
|
+
agents: [], skills: ['sequential-thinking'], tools: ['search/codebase'],
|
|
2530
|
+
detail: '<strong>Phase 2: Pattern Analysis</strong><br>- Find working examples in codebase<br>- Compare working vs broken code<br>- Uses <span class="dd-skill">sequential-thinking</span> skill<br>- Document findings systematically'
|
|
2531
|
+
},
|
|
2532
|
+
{
|
|
2533
|
+
id: 'hypothesis', label: 'Hypothesis', x: 580, color: 'var(--accent)',
|
|
2534
|
+
desc: 'Form theory and test with minimal changes.',
|
|
2535
|
+
agents: [], skills: ['debugging'], tools: ['runInTerminal'],
|
|
2536
|
+
detail: '<strong>Phase 3: Hypothesis & Testing</strong><br>- Form theory based on evidence<br>- Test with minimal changes<br>- Verify hypothesis is correct<br>- Document confirmation<br><span class="dd-gate">Key rule</span>: Complete each phase before proceeding'
|
|
2537
|
+
},
|
|
2538
|
+
{
|
|
2539
|
+
id: 'fix', label: 'Root\nCause Fix', x: 820, color: 'var(--green)',
|
|
2540
|
+
desc: 'Fix at the source, not at the symptom.',
|
|
2541
|
+
agents: [], skills: [], tools: ['edit', 'runInTerminal'],
|
|
2542
|
+
detail: '<strong>Phase 4: Implementation</strong><br>- Create test that catches the bug<br>- Fix at the root cause (not symptom)<br>- Defense-in-depth: validate at every layer<br>- Entry validation → Business logic → Environment guards'
|
|
2543
|
+
},
|
|
2544
|
+
{
|
|
2545
|
+
id: 'verify', label: 'Verify', x: 1020, color: 'var(--accent)',
|
|
2546
|
+
desc: 'Fresh verification with evidence.',
|
|
2547
|
+
agents: ['tester'], skills: [], tools: ['runTests', 'testFailure'],
|
|
2548
|
+
detail: '<strong>Iron Law:</strong> No completion claims without fresh verification.<br>- <span class="dd-agent">@tester</span> runs full test suite<br>- Run the command → Read the output → Then claim result<br>- Output: Debug Report (Issue, Root Cause, Fix, Verification)'
|
|
2549
|
+
}
|
|
2550
|
+
]
|
|
2551
|
+
}
|
|
2552
|
+
};
|
|
2553
|
+
|
|
2554
|
+
// ========== RENDERING ENGINE ==========
|
|
2555
|
+
var PIPE_Y = 100;
|
|
2556
|
+
var NODE_W = 100;
|
|
2557
|
+
var NODE_H = 48;
|
|
2558
|
+
var SUB_Y_START = 200;
|
|
2559
|
+
var NS = 'http://www.w3.org/2000/svg';
|
|
2560
|
+
|
|
2561
|
+
var svg = document.getElementById('ddPipeline');
|
|
2562
|
+
var activePhase = null;
|
|
2563
|
+
var currentMode = 'interactive';
|
|
2564
|
+
var currentCmd = 'cook';
|
|
2565
|
+
var phaseEls = {};
|
|
2566
|
+
var arrowEls = [];
|
|
2567
|
+
var arrowLayer, nodeLayer, subLayer;
|
|
2568
|
+
|
|
2569
|
+
function svgEl(tag, attrs) {
|
|
2570
|
+
var el = document.createElementNS(NS, tag);
|
|
2571
|
+
if (attrs) Object.keys(attrs).forEach(function(k) { el.setAttribute(k, attrs[k]); });
|
|
2572
|
+
return el;
|
|
2573
|
+
}
|
|
2574
|
+
|
|
2575
|
+
function initSvg() {
|
|
2576
|
+
svg.innerHTML = '';
|
|
2577
|
+
var defs = svgEl('defs');
|
|
2578
|
+
var m1 = svgEl('marker', { id: 'dd-arr', viewBox: '0 0 10 10', refX: '10', refY: '5', markerWidth: '5', markerHeight: '5', orient: 'auto', fill: 'var(--text-dim)' });
|
|
2579
|
+
m1.appendChild(svgEl('path', { d: 'M0 0 L10 5 L0 10z' }));
|
|
2580
|
+
defs.appendChild(m1);
|
|
2581
|
+
var m2 = svgEl('marker', { id: 'dd-arr-a', viewBox: '0 0 10 10', refX: '10', refY: '5', markerWidth: '5', markerHeight: '5', orient: 'auto', fill: 'var(--accent2)' });
|
|
2582
|
+
m2.appendChild(svgEl('path', { d: 'M0 0 L10 5 L0 10z' }));
|
|
2583
|
+
defs.appendChild(m2);
|
|
2584
|
+
svg.appendChild(defs);
|
|
2585
|
+
|
|
2586
|
+
arrowLayer = svgEl('g');
|
|
2587
|
+
nodeLayer = svgEl('g');
|
|
2588
|
+
subLayer = svgEl('g');
|
|
2589
|
+
svg.appendChild(arrowLayer);
|
|
2590
|
+
svg.appendChild(nodeLayer);
|
|
2591
|
+
svg.appendChild(subLayer);
|
|
2592
|
+
}
|
|
2593
|
+
|
|
2594
|
+
function renderPipeline(cmdKey) {
|
|
2595
|
+
var cmd = DD_COMMANDS[cmdKey];
|
|
2596
|
+
var phases = cmd.phases;
|
|
2597
|
+
phaseEls = {};
|
|
2598
|
+
arrowEls = [];
|
|
2599
|
+
initSvg();
|
|
2600
|
+
|
|
2601
|
+
// Calculate viewBox width
|
|
2602
|
+
var maxX = 0;
|
|
2603
|
+
phases.forEach(function(p) { if (p.x > maxX) maxX = p.x; });
|
|
2604
|
+
svg.setAttribute('viewBox', '0 0 ' + (maxX + 120) + ' 520');
|
|
2605
|
+
|
|
2606
|
+
// Draw arrows
|
|
2607
|
+
for (var i = 0; i < phases.length - 1; i++) {
|
|
2608
|
+
var p1 = phases[i], p2 = phases[i + 1];
|
|
2609
|
+
var x1 = p1.x + NODE_W / 2 + 2;
|
|
2610
|
+
var x2 = p2.x - NODE_W / 2 - 2;
|
|
2611
|
+
var line = svgEl('line', {
|
|
2612
|
+
x1: x1, y1: PIPE_Y, x2: x2, y2: PIPE_Y,
|
|
2613
|
+
stroke: 'var(--text-dim)', 'stroke-width': '1.5', 'marker-end': 'url(#dd-arr)',
|
|
2614
|
+
class: 'dd-arrow'
|
|
2615
|
+
});
|
|
2616
|
+
arrowLayer.appendChild(line);
|
|
2617
|
+
arrowEls.push(line);
|
|
2618
|
+
}
|
|
2619
|
+
|
|
2620
|
+
// Draw nodes
|
|
2621
|
+
phases.forEach(function(p, idx) {
|
|
2622
|
+
var g = svgEl('g', { class: 'dd-phase', 'data-phase': p.id });
|
|
2623
|
+
var isGate = p.type === 'gate';
|
|
2624
|
+
|
|
2625
|
+
if (isGate) {
|
|
2626
|
+
var s = 30;
|
|
2627
|
+
var poly = svgEl('polygon', {
|
|
2628
|
+
points: p.x + ',' + (PIPE_Y - s) + ' ' + (p.x + s) + ',' + PIPE_Y + ' ' + p.x + ',' + (PIPE_Y + s) + ' ' + (p.x - s) + ',' + PIPE_Y,
|
|
2629
|
+
fill: 'rgba(244,114,182,0.12)', stroke: p.color, 'stroke-width': '2'
|
|
2630
|
+
});
|
|
2631
|
+
g.appendChild(poly);
|
|
2632
|
+
var txt = svgEl('text', {
|
|
2633
|
+
x: p.x, y: PIPE_Y + 1,
|
|
2634
|
+
'text-anchor': 'middle', 'dominant-baseline': 'central',
|
|
2635
|
+
'font-size': '10', 'font-weight': '600', fill: p.color
|
|
2636
|
+
});
|
|
2637
|
+
txt.textContent = p.label;
|
|
2638
|
+
g.appendChild(txt);
|
|
2639
|
+
} else {
|
|
2640
|
+
var rect = svgEl('rect', {
|
|
2641
|
+
x: p.x - NODE_W / 2, y: PIPE_Y - NODE_H / 2,
|
|
2642
|
+
width: NODE_W, height: NODE_H, rx: '8', ry: '8',
|
|
2643
|
+
fill: 'rgba(129,140,248,0.08)', stroke: p.color, 'stroke-width': '2'
|
|
2644
|
+
});
|
|
2645
|
+
g.appendChild(rect);
|
|
2646
|
+
var lines = p.label.split('\n');
|
|
2647
|
+
lines.forEach(function(line, li) {
|
|
2648
|
+
var txt = svgEl('text', {
|
|
2649
|
+
x: p.x, y: PIPE_Y + (li - (lines.length - 1) / 2) * 14,
|
|
2650
|
+
'text-anchor': 'middle', 'dominant-baseline': 'central',
|
|
2651
|
+
'font-size': '12', 'font-weight': '700', fill: p.color
|
|
2652
|
+
});
|
|
2653
|
+
txt.textContent = line;
|
|
2654
|
+
g.appendChild(txt);
|
|
2655
|
+
});
|
|
2656
|
+
}
|
|
2657
|
+
|
|
2658
|
+
// Number badge
|
|
2659
|
+
if (!isGate) {
|
|
2660
|
+
var badge = svgEl('circle', {
|
|
2661
|
+
cx: p.x - NODE_W / 2 + 8, cy: PIPE_Y - NODE_H / 2 - 4,
|
|
2662
|
+
r: '9', fill: 'var(--bg)', stroke: p.color, 'stroke-width': '1.5'
|
|
2663
|
+
});
|
|
2664
|
+
g.appendChild(badge);
|
|
2665
|
+
var bTxt = svgEl('text', {
|
|
2666
|
+
x: p.x - NODE_W / 2 + 8, y: PIPE_Y - NODE_H / 2 - 3,
|
|
2667
|
+
'text-anchor': 'middle', 'dominant-baseline': 'central',
|
|
2668
|
+
'font-size': '9', 'font-weight': '700', fill: p.color
|
|
2669
|
+
});
|
|
2670
|
+
bTxt.textContent = idx + 1;
|
|
2671
|
+
g.appendChild(bTxt);
|
|
2672
|
+
}
|
|
2673
|
+
|
|
2674
|
+
g.addEventListener('click', function(ev) {
|
|
2675
|
+
ev.stopPropagation();
|
|
2676
|
+
selectPhase(p.id);
|
|
2677
|
+
});
|
|
2678
|
+
|
|
2679
|
+
nodeLayer.appendChild(g);
|
|
2680
|
+
phaseEls[p.id] = g;
|
|
2681
|
+
});
|
|
2682
|
+
|
|
2683
|
+
svg.addEventListener('click', clearPhase);
|
|
2684
|
+
applyMode();
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2687
|
+
function drawSubNodes(phaseId) {
|
|
2688
|
+
while (subLayer.firstChild) subLayer.removeChild(subLayer.firstChild);
|
|
2689
|
+
var phases = DD_COMMANDS[currentCmd].phases;
|
|
2690
|
+
var phase = phases.find(function(p) { return p.id === phaseId; });
|
|
2691
|
+
if (!phase) return;
|
|
2692
|
+
|
|
2693
|
+
var items = [];
|
|
2694
|
+
phase.agents.forEach(function(a) { items.push({ label: '@' + a, color: 'var(--accent)' }); });
|
|
2695
|
+
phase.skills.forEach(function(s) { items.push({ label: s, color: 'var(--green)' }); });
|
|
2696
|
+
phase.tools.forEach(function(t) { items.push({ label: t, color: 'var(--orange)' }); });
|
|
2697
|
+
if (items.length === 0) return;
|
|
2698
|
+
|
|
2699
|
+
var startY = SUB_Y_START;
|
|
2700
|
+
var spacing = 36;
|
|
2701
|
+
var centerX = phase.x;
|
|
2702
|
+
|
|
2703
|
+
var conn = svgEl('line', {
|
|
2704
|
+
x1: centerX, y1: PIPE_Y + NODE_H / 2,
|
|
2705
|
+
x2: centerX, y2: startY - 8,
|
|
2706
|
+
stroke: 'var(--border-light)', 'stroke-width': '1', 'stroke-dasharray': '4 3'
|
|
2707
|
+
});
|
|
2708
|
+
subLayer.appendChild(conn);
|
|
2709
|
+
|
|
2710
|
+
items.forEach(function(item, i) {
|
|
2711
|
+
var y = startY + i * spacing;
|
|
2712
|
+
var g = svgEl('g', { class: 'dd-sub-node' });
|
|
2713
|
+
var pill = svgEl('rect', {
|
|
2714
|
+
x: centerX - 55, y: y - 12, width: 110, height: 24, rx: '12',
|
|
2715
|
+
fill: 'rgba(0,0,0,0.3)', stroke: item.color, 'stroke-width': '1'
|
|
2716
|
+
});
|
|
2717
|
+
g.appendChild(pill);
|
|
2718
|
+
var txt = svgEl('text', {
|
|
2719
|
+
x: centerX, y: y,
|
|
2720
|
+
'text-anchor': 'middle', 'dominant-baseline': 'central',
|
|
2721
|
+
'font-size': '10', 'font-weight': '600', fill: item.color
|
|
2722
|
+
});
|
|
2723
|
+
txt.textContent = item.label.length > 14 ? item.label.substring(0, 13) + '…' : item.label;
|
|
2724
|
+
g.appendChild(txt);
|
|
2725
|
+
subLayer.appendChild(g);
|
|
2726
|
+
});
|
|
2727
|
+
}
|
|
2728
|
+
|
|
2729
|
+
function selectPhase(phaseId) {
|
|
2730
|
+
if (activePhase === phaseId) { clearPhase(); return; }
|
|
2731
|
+
activePhase = phaseId;
|
|
2732
|
+
var phases = DD_COMMANDS[currentCmd].phases;
|
|
2733
|
+
var phase = phases.find(function(p) { return p.id === phaseId; });
|
|
2734
|
+
|
|
2735
|
+
Object.keys(phaseEls).forEach(function(id) {
|
|
2736
|
+
phaseEls[id].classList.remove('active', 'faded');
|
|
2737
|
+
if (id === phaseId) phaseEls[id].classList.add('active');
|
|
2738
|
+
else phaseEls[id].classList.add('faded');
|
|
2739
|
+
});
|
|
2740
|
+
arrowEls.forEach(function(el) { el.classList.add('faded'); });
|
|
2741
|
+
|
|
2742
|
+
document.getElementById('ddDetailTitle').innerHTML = phase.label.replace('\n', ' ') + ' — ' + phase.desc;
|
|
2743
|
+
document.getElementById('ddDetailBody').innerHTML = phase.detail;
|
|
2744
|
+
drawSubNodes(phaseId);
|
|
2745
|
+
applyMode();
|
|
2746
|
+
}
|
|
2747
|
+
|
|
2748
|
+
function clearPhase() {
|
|
2749
|
+
activePhase = null;
|
|
2750
|
+
Object.keys(phaseEls).forEach(function(id) { phaseEls[id].classList.remove('active', 'faded'); });
|
|
2751
|
+
arrowEls.forEach(function(el) { el.classList.remove('faded'); });
|
|
2752
|
+
while (subLayer.firstChild) subLayer.removeChild(subLayer.firstChild);
|
|
2753
|
+
document.getElementById('ddDetailTitle').textContent = 'Click a phase to see details';
|
|
2754
|
+
document.getElementById('ddDetailBody').innerHTML = '<div class="dd-detail-placeholder">Each phase triggers specific agents, skills, and VS Code tools. Click any phase node above to explore.</div>';
|
|
2755
|
+
applyMode();
|
|
2756
|
+
}
|
|
2757
|
+
|
|
2758
|
+
function applyMode() {
|
|
2759
|
+
var phases = DD_COMMANDS[currentCmd].phases;
|
|
2760
|
+
phases.forEach(function(p) {
|
|
2761
|
+
var el = phaseEls[p.id];
|
|
2762
|
+
if (!el) return;
|
|
2763
|
+
el.classList.remove('skipped');
|
|
2764
|
+
if (p.modes) {
|
|
2765
|
+
var modeVal = p.modes[currentMode];
|
|
2766
|
+
if (modeVal === false) el.classList.add('skipped');
|
|
2767
|
+
}
|
|
2768
|
+
});
|
|
2769
|
+
}
|
|
2770
|
+
|
|
2771
|
+
// ========== COMMAND SWITCHING ==========
|
|
2772
|
+
window.ddSwitchCmd = function(cmdKey) {
|
|
2773
|
+
currentCmd = cmdKey;
|
|
2774
|
+
currentMode = 'interactive';
|
|
2775
|
+
var cmd = DD_COMMANDS[cmdKey];
|
|
2776
|
+
|
|
2777
|
+
// Update tabs
|
|
2778
|
+
document.querySelectorAll('.dd-tab').forEach(function(t) { t.classList.remove('active'); });
|
|
2779
|
+
document.querySelector('.dd-tab[data-cmd="' + cmdKey + '"]').classList.add('active');
|
|
2780
|
+
|
|
2781
|
+
// Update title
|
|
2782
|
+
document.getElementById('ddPipeTitle').textContent = cmd.title;
|
|
2783
|
+
|
|
2784
|
+
// Show/hide mode bar
|
|
2785
|
+
var modesEl = document.getElementById('ddModes');
|
|
2786
|
+
modesEl.style.display = cmd.hasModes ? 'flex' : 'none';
|
|
2787
|
+
if (cmd.hasModes) {
|
|
2788
|
+
document.querySelectorAll('.dd-mode').forEach(function(b) { b.classList.remove('active'); });
|
|
2789
|
+
document.querySelector('.dd-mode[data-mode="interactive"]').classList.add('active');
|
|
2790
|
+
}
|
|
2791
|
+
|
|
2792
|
+
// Render pipeline
|
|
2793
|
+
renderPipeline(cmdKey);
|
|
2794
|
+
clearPhase();
|
|
2795
|
+
};
|
|
2796
|
+
|
|
2797
|
+
// Mode switching
|
|
2798
|
+
document.querySelectorAll('.dd-mode').forEach(function(btn) {
|
|
2799
|
+
btn.addEventListener('click', function() {
|
|
2800
|
+
document.querySelectorAll('.dd-mode').forEach(function(b) { b.classList.remove('active'); });
|
|
2801
|
+
btn.classList.add('active');
|
|
2802
|
+
currentMode = btn.dataset.mode;
|
|
2803
|
+
clearPhase();
|
|
2804
|
+
});
|
|
2805
|
+
});
|
|
2806
|
+
|
|
2807
|
+
// Initial render
|
|
2808
|
+
renderPipeline('cook');
|
|
2809
|
+
})();
|
|
2810
|
+
</script>
|
|
2811
|
+
|
|
2812
|
+
<div class="divider"></div>
|
|
2813
|
+
|
|
2814
|
+
<!-- ===== RESOURCES ===== -->
|
|
2815
|
+
<section class="section" id="resources">
|
|
2816
|
+
<div class="section-header">
|
|
2817
|
+
<div class="label">Details</div>
|
|
2818
|
+
<h2>What's included</h2>
|
|
2819
|
+
<p>Full list of agents, skills, instructions, and collections.</p>
|
|
2820
|
+
</div>
|
|
2821
|
+
|
|
2822
|
+
<div class="resource-map">
|
|
2823
|
+
<div class="resource-item">
|
|
2824
|
+
<h4 style="color: var(--accent2);">🤖 Agents (12)</h4>
|
|
2825
|
+
<ul>
|
|
2826
|
+
<li><strong>planner</strong> — Makes plans</li>
|
|
2827
|
+
<li><strong>code-reviewer</strong> — Reviews code</li>
|
|
2828
|
+
<li><strong>debugger</strong> — Investigates bugs</li>
|
|
2829
|
+
<li><strong>tester</strong> — Writes & runs tests</li>
|
|
2830
|
+
<li><strong>researcher</strong> — Finds information</li>
|
|
2831
|
+
<li><strong>scout</strong> — Searches files</li>
|
|
2832
|
+
<li><strong>git-manager</strong> — Manages git</li>
|
|
2833
|
+
<li><strong>brainstormer</strong> — Explores ideas</li>
|
|
2834
|
+
<li><strong>docs-manager</strong> — Writes docs</li>
|
|
2835
|
+
<li><strong>ui-ux-designer</strong> — Designs UI/UX</li>
|
|
2836
|
+
<li><strong>code-simplifier</strong> — Simplifies code</li>
|
|
2837
|
+
<li><strong>fullstack-developer</strong> — Implements features</li>
|
|
2838
|
+
</ul>
|
|
2839
|
+
</div>
|
|
2840
|
+
|
|
2841
|
+
<div class="resource-item">
|
|
2842
|
+
<h4 style="color: var(--green);">📚 Skills (top 7)</h4>
|
|
2843
|
+
<ul>
|
|
2844
|
+
<li><strong>debugging</strong> — Root cause analysis</li>
|
|
2845
|
+
<li><strong>code-review</strong> — Review protocols</li>
|
|
2846
|
+
<li><strong>planning</strong> — Research → design</li>
|
|
2847
|
+
<li><strong>problem-solving</strong> — Solve hard problems</li>
|
|
2848
|
+
<li><strong>sequential-thinking</strong> — Step-by-step logic</li>
|
|
2849
|
+
<li><strong>backend-dev</strong> — Node/Python/Go</li>
|
|
2850
|
+
<li><strong>frontend-dev</strong> — React/TypeScript</li>
|
|
2851
|
+
</ul>
|
|
2852
|
+
</div>
|
|
2853
|
+
|
|
2854
|
+
<div class="resource-item">
|
|
2855
|
+
<h4 style="color: var(--orange);">📜 Instructions (5)</h4>
|
|
2856
|
+
<ul>
|
|
2857
|
+
<li><strong>ck-backend</strong> — Backend rules</li>
|
|
2858
|
+
<li><strong>ck-frontend</strong> — Frontend rules</li>
|
|
2859
|
+
<li><strong>ck-testing</strong> — Testing standards</li>
|
|
2860
|
+
<li><strong>ck-development</strong> — YAGNI/KISS/DRY</li>
|
|
2861
|
+
<li><strong>ck-research</strong> — Research methods</li>
|
|
2862
|
+
</ul>
|
|
2863
|
+
</div>
|
|
2864
|
+
|
|
2865
|
+
<div class="resource-item">
|
|
2866
|
+
<h4 style="color: var(--pink);">📦 Collections (5)</h4>
|
|
2867
|
+
<ul>
|
|
2868
|
+
<li><strong>ck-core</strong> — Core workflows</li>
|
|
2869
|
+
<li><strong>ck-dev-rules</strong> — Dev standards</li>
|
|
2870
|
+
<li><strong>ck-documentation</strong> — Doc management</li>
|
|
2871
|
+
<li><strong>ck-git-workflow</strong> — Git workflow</li>
|
|
2872
|
+
<li><strong>ck-orchestration</strong> — Task coordination</li>
|
|
2873
|
+
</ul>
|
|
2874
|
+
</div>
|
|
2875
|
+
</div>
|
|
2876
|
+
</section>
|
|
2877
|
+
|
|
2878
|
+
<div class="divider"></div>
|
|
2879
|
+
|
|
2880
|
+
<!-- ===== INSTALL ===== -->
|
|
2881
|
+
<section class="section" id="install">
|
|
2882
|
+
<div class="section-header">
|
|
2883
|
+
<div class="label">Get Started</div>
|
|
2884
|
+
<h2>Install in 30 seconds</h2>
|
|
2885
|
+
<p>Just one command. No extra setup needed.</p>
|
|
2886
|
+
</div>
|
|
2887
|
+
|
|
2888
|
+
<div class="install-box">
|
|
2889
|
+
<div class="install-header">
|
|
2890
|
+
<div class="install-dot red"></div>
|
|
2891
|
+
<div class="install-dot yellow"></div>
|
|
2892
|
+
<div class="install-dot green"></div>
|
|
2893
|
+
<span>Terminal</span>
|
|
2894
|
+
</div>
|
|
2895
|
+
<div class="install-body">
|
|
2896
|
+
<span class="comment"># Global install (recommended)</span><br>
|
|
2897
|
+
<span class="prompt">$</span> <span class="cmd">npx cokit-cli init -g</span><br><br>
|
|
2898
|
+
<span class="comment"># Or install for both project + personal</span><br>
|
|
2899
|
+
<span class="prompt">$</span> <span class="cmd">npx cokit-cli init -a</span><br><br>
|
|
2900
|
+
<span class="output">🚀 CoKit Setup</span><br>
|
|
2901
|
+
<span class="success">✓ 28 prompts installed</span><br>
|
|
2902
|
+
<span class="success">✓ 12 agents configured</span><br>
|
|
2903
|
+
<span class="success">✓ 23 skills activated</span><br>
|
|
2904
|
+
<span class="success">✓ 5 instructions applied</span><br>
|
|
2905
|
+
<span class="success">✓ 5 collections bundled</span><br><br>
|
|
2906
|
+
<span class="output">🎉 Done! Try /ck.fix in Copilot Chat.</span>
|
|
2907
|
+
</div>
|
|
2908
|
+
</div>
|
|
2909
|
+
|
|
2910
|
+
<div style="max-width: 700px; margin: 24px auto 0;">
|
|
2911
|
+
<table class="compare-table">
|
|
2912
|
+
<tr>
|
|
2913
|
+
<th>CLI Command</th>
|
|
2914
|
+
<th>What it does</th>
|
|
2915
|
+
</tr>
|
|
2916
|
+
<tr>
|
|
2917
|
+
<td><code style="color: var(--green);">npx cokit-cli init</code></td>
|
|
2918
|
+
<td>Interactive setup (asks you questions)</td>
|
|
2919
|
+
</tr>
|
|
2920
|
+
<tr>
|
|
2921
|
+
<td><code style="color: var(--green);">npx cokit-cli init -g</code></td>
|
|
2922
|
+
<td>Global install (no questions)</td>
|
|
2923
|
+
</tr>
|
|
2924
|
+
<tr>
|
|
2925
|
+
<td><code style="color: var(--green);">npx cokit-cli init -a</code></td>
|
|
2926
|
+
<td>Install both global + project</td>
|
|
2927
|
+
</tr>
|
|
2928
|
+
<tr>
|
|
2929
|
+
<td><code style="color: var(--green);">npx cokit-cli list</code></td>
|
|
2930
|
+
<td>See what's installed</td>
|
|
2931
|
+
</tr>
|
|
2932
|
+
<tr>
|
|
2933
|
+
<td><code style="color: var(--green);">npx cokit-cli doctor</code></td>
|
|
2934
|
+
<td>Check for setup problems</td>
|
|
2935
|
+
</tr>
|
|
2936
|
+
<tr>
|
|
2937
|
+
<td><code style="color: var(--green);">npx cokit-cli update</code></td>
|
|
2938
|
+
<td>Update to latest version</td>
|
|
2939
|
+
</tr>
|
|
2940
|
+
</table>
|
|
2941
|
+
|
|
2942
|
+
<div class="warning-box" style="margin-top: 16px;">
|
|
2943
|
+
<strong>⚠ Requirements:</strong> Node.js >= 18 and VS Code with GitHub Copilot installed.
|
|
2944
|
+
</div>
|
|
2945
|
+
</div>
|
|
2946
|
+
</section>
|
|
2947
|
+
|
|
2948
|
+
<!-- ===== FOOTER ===== -->
|
|
2949
|
+
<footer class="footer">
|
|
2950
|
+
<p>CoKit v1.1.0 — <a href="https://github.com/camping89/cokit" target="_blank">GitHub</a> — License: CC BY-NC 4.0</p>
|
|
2951
|
+
<p style="margin-top: 8px;">Made with ❤️ for developers who want smarter AI assistance.</p>
|
|
2952
|
+
</footer>
|
|
2953
|
+
|
|
2954
|
+
<!-- ===== SCRIPTS ===== -->
|
|
2955
|
+
<script>
|
|
2956
|
+
function switchTab(e, tabId) {
|
|
2957
|
+
document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
|
|
2958
|
+
document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));
|
|
2959
|
+
e.target.classList.add('active');
|
|
2960
|
+
document.getElementById(tabId).classList.add('active');
|
|
2961
|
+
}
|
|
2962
|
+
|
|
2963
|
+
function toggleDecision(node) {
|
|
2964
|
+
const answer = node.nextElementSibling;
|
|
2965
|
+
const isOpen = node.classList.contains('expanded');
|
|
2966
|
+
document.querySelectorAll('.decision-node').forEach(n => n.classList.remove('expanded'));
|
|
2967
|
+
document.querySelectorAll('.decision-answer').forEach(a => a.classList.remove('show'));
|
|
2968
|
+
if (!isOpen) {
|
|
2969
|
+
node.classList.add('expanded');
|
|
2970
|
+
answer.classList.add('show');
|
|
2971
|
+
}
|
|
2972
|
+
}
|
|
2973
|
+
|
|
2974
|
+
function copyInstall() {
|
|
2975
|
+
navigator.clipboard.writeText('npx cokit-cli init -g').then(() => {
|
|
2976
|
+
const icon = document.getElementById('copyIcon');
|
|
2977
|
+
icon.textContent = '\u2713 copied!';
|
|
2978
|
+
icon.style.color = 'var(--green)';
|
|
2979
|
+
setTimeout(() => {
|
|
2980
|
+
icon.textContent = '\ud83d\udccb copy';
|
|
2981
|
+
icon.style.color = '';
|
|
2982
|
+
}, 2000);
|
|
2983
|
+
});
|
|
2984
|
+
}
|
|
2985
|
+
|
|
2986
|
+
const sections = document.querySelectorAll('section[id]');
|
|
2987
|
+
const navLinks = document.querySelectorAll('.nav-links a');
|
|
2988
|
+
window.addEventListener('scroll', () => {
|
|
2989
|
+
const scrollY = window.scrollY + 100;
|
|
2990
|
+
sections.forEach(section => {
|
|
2991
|
+
const top = section.offsetTop;
|
|
2992
|
+
const height = section.offsetHeight;
|
|
2993
|
+
const id = section.getAttribute('id');
|
|
2994
|
+
if (scrollY >= top && scrollY < top + height) {
|
|
2995
|
+
navLinks.forEach(link => {
|
|
2996
|
+
link.classList.remove('active');
|
|
2997
|
+
if (link.getAttribute('href') === `#${id}`) link.classList.add('active');
|
|
2998
|
+
});
|
|
2999
|
+
}
|
|
3000
|
+
});
|
|
3001
|
+
});
|
|
3002
|
+
</script>
|
|
3003
|
+
</body>
|
|
3004
|
+
</html>
|