cokit-cli 1.0.9 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +32 -32
- package/README.FLOW.md +237 -237
- package/README.md +142 -92
- package/agents/brainstormer.agent.md +71 -71
- package/agents/code-reviewer.agent.md +136 -136
- package/agents/code-simplifier.agent.md +43 -0
- package/agents/debugger.agent.md +128 -128
- package/agents/docs-manager.agent.md +121 -121
- package/agents/fullstack-developer.agent.md +52 -0
- package/agents/git-manager.agent.md +390 -390
- package/agents/planner.agent.md +94 -94
- package/agents/researcher.agent.md +31 -32
- package/agents/scout.agent.md +107 -107
- package/agents/tester.agent.md +117 -117
- package/agents/ui-ux-designer.agent.md +57 -0
- package/bin/cokit.js +4 -4
- package/collections/ck-core.collection.yml +28 -28
- package/collections/ck-development-rules.collection.yml +18 -18
- package/collections/ck-documentation.collection.yml +14 -14
- package/collections/ck-git-workflow.collection.yml +12 -12
- package/collections/ck-orchestration.collection.yml +16 -16
- package/docs/README.md +75 -108
- package/docs/code-standards.md +68 -0
- package/docs/codebase-summary.md +263 -0
- package/docs/cokit-commands-usage-guide.md +138 -0
- package/docs/cokit-comprehensive-mapping-guide.md +361 -374
- package/docs/cokit-slides.md +212 -222
- package/docs/cokit-sync-and-maintenance-guide.md +414 -0
- package/docs/cokit-team-presentation.md +356 -378
- package/docs/copilot-processing-flow.md +215 -212
- package/docs/guide-next-steps-speckit-cokit-implementation.md +187 -0
- package/docs/migration-guide.md +133 -133
- package/docs/project-overview-pdr.md +45 -0
- package/docs/project-roadmap.md +308 -280
- package/docs/system-architecture.md +81 -0
- package/instructions/ck-backend.instructions.md +48 -48
- package/instructions/ck-development.instructions.md +54 -54
- package/instructions/ck-frontend.instructions.md +44 -44
- package/instructions/ck-research.instructions.md +167 -167
- package/instructions/ck-testing.instructions.md +36 -36
- package/package.json +71 -42
- package/prompts/ck-ask.prompt.md +67 -57
- package/prompts/ck-bootstrap.prompt.md +141 -136
- package/prompts/ck-brainstorm.prompt.md +87 -105
- package/prompts/ck-cook.prompt.md +96 -97
- package/prompts/ck-debug.prompt.md +115 -14
- package/prompts/ck-docs.prompt.md +102 -51
- package/prompts/ck-fix-ci.prompt.md +46 -0
- package/prompts/ck-fix-fast.prompt.md +44 -0
- package/prompts/ck-fix-hard.prompt.md +60 -0
- package/prompts/ck-fix-logs.prompt.md +53 -0
- package/prompts/ck-fix-test.prompt.md +47 -0
- package/prompts/ck-fix-types.prompt.md +29 -0
- package/prompts/ck-fix-ui.prompt.md +50 -0
- package/prompts/ck-fix.prompt.md +50 -44
- package/prompts/ck-git.prompt.md +104 -79
- package/{templates/repo/.github/prompts/ck-ck-help.prompt.md → prompts/ck-help.prompt.md} +142 -112
- package/prompts/ck-journal.prompt.md +19 -0
- package/prompts/ck-plan-fast.prompt.md +106 -0
- package/prompts/ck-plan-hard.prompt.md +133 -0
- package/prompts/ck-plan-validate.prompt.md +209 -0
- package/prompts/ck-plan.prompt.md +75 -80
- package/prompts/ck-preview.prompt.md +77 -0
- package/{templates/repo/.github/prompts/ck-review-codebase.prompt.md → prompts/ck-review.prompt.md} +58 -44
- package/prompts/ck-scout.prompt.md +85 -25
- package/prompts/ck-simplify.prompt.md +46 -0
- package/prompts/ck-spec-analyze.prompt.md +201 -0
- package/prompts/ck-spec-checklist.prompt.md +308 -0
- package/prompts/ck-spec-clarify.prompt.md +190 -0
- package/prompts/ck-spec-constitution.prompt.md +92 -0
- package/prompts/ck-spec-implement.prompt.md +157 -0
- package/prompts/ck-spec-plan.prompt.md +95 -0
- package/prompts/ck-spec-specify.prompt.md +260 -0
- package/prompts/ck-spec-tasks.prompt.md +181 -0
- package/prompts/ck-test.prompt.md +21 -10
- package/prompts/ck-watzup.prompt.md +21 -0
- package/skills/INSTALLATION.md +311 -0
- package/skills/README.md +112 -0
- package/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/skills/agent-browser/SKILL.md +291 -0
- package/skills/agent-browser/references/.gitkeep +0 -0
- package/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/skills/agent_skills_spec.md +55 -0
- package/skills/{ck-backend-development → backend-development}/SKILL.md +94 -96
- package/skills/{ck-backend-development → backend-development}/references/backend-api-design.md +697 -495
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-architecture.md +454 -454
- package/skills/{ck-backend-development → backend-development}/references/backend-authentication.md +433 -338
- package/skills/{ck-backend-development → backend-development}/references/backend-code-quality.md +659 -659
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-debugging.md +904 -904
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-devops.md +494 -494
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-mindset.md +387 -387
- package/skills/{ck-backend-development → backend-development}/references/backend-performance.md +397 -397
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-security.md +340 -290
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-technologies.md +300 -290
- package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-testing.md +484 -561
- package/skills/brainstorm/SKILL.md +74 -0
- package/skills/{ck-code-review → code-review}/SKILL.md +143 -143
- package/skills/{ck-code-review → code-review}/references/code-review-reception.md +1 -1
- package/skills/{ck-code-review → code-review}/references/requesting-code-review.md +7 -7
- 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 +106 -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 +93 -0
- package/skills/cook/references/agent-patterns.md +75 -0
- package/skills/cook/references/intent-detection.md +101 -0
- package/skills/cook/references/review-cycle.md +75 -0
- package/skills/cook/references/workflow-steps.md +140 -0
- package/skills/databases/SKILL.md +111 -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/databases/references/mongodb-aggregation.md +447 -0
- package/skills/databases/references/mongodb-atlas.md +465 -0
- package/skills/databases/references/mongodb-crud.md +408 -0
- package/skills/databases/references/mongodb-indexing.md +442 -0
- package/skills/databases/references/postgresql-administration.md +594 -0
- package/skills/databases/references/postgresql-performance.md +527 -0
- package/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/skills/databases/references/postgresql-queries.md +475 -0
- package/skills/databases/scripts/db_backup.py +502 -0
- package/skills/databases/scripts/db_migrate.py +426 -0
- package/skills/databases/scripts/db_performance_check.py +457 -0
- package/skills/databases/scripts/requirements.txt +20 -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/{templates/repo/.github/skills/ck-debugging → skills/debug}/SKILL.md +83 -82
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/references/defense-in-depth.md +124 -124
- package/skills/{ck-debugging → debug}/references/root-cause-tracing.md +122 -122
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/references/systematic-debugging.md +102 -102
- package/skills/{ck-debugging → debug}/references/verification.md +123 -123
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/scripts/find-polluter.sh +63 -63
- package/{templates/repo/.github/skills/ck-debugging → skills/debug}/scripts/find-polluter.test.md +102 -102
- package/skills/devops/.env.example +76 -0
- package/skills/devops/SKILL.md +102 -0
- package/skills/devops/references/browser-rendering.md +305 -0
- package/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/devops/references/cloudflare-platform.md +271 -0
- package/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/devops/references/docker-basics.md +297 -0
- package/skills/devops/references/docker-compose.md +292 -0
- package/skills/devops/references/gcloud-platform.md +297 -0
- package/skills/devops/references/gcloud-services.md +304 -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/devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/devops/scripts/docker_optimize.py +332 -0
- package/skills/devops/scripts/requirements.txt +20 -0
- package/skills/docs-seeker/.env.example +15 -0
- package/skills/docs-seeker/SKILL.md +96 -0
- package/skills/docs-seeker/package.json +25 -0
- package/skills/docs-seeker/references/advanced.md +79 -0
- package/skills/docs-seeker/references/context7-patterns.md +64 -0
- package/skills/docs-seeker/references/errors.md +68 -0
- package/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/skills/docs-seeker/scripts/detect-topic.js +172 -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/docs-seeker/workflows/repo-analysis.md +91 -0
- package/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/skills/fix/SKILL.md +100 -0
- package/skills/fix/references/complexity-assessment.md +61 -0
- package/skills/fix/references/mode-selection.md +30 -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 +74 -0
- package/skills/frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/frontend-design/references/analysis-prompts.md +141 -0
- package/skills/frontend-design/references/analysis-techniques.md +118 -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/design-extraction-overview.md +71 -0
- package/skills/frontend-design/references/extraction-best-practices.md +141 -0
- package/skills/frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/frontend-design/references/extraction-prompts.md +127 -0
- package/skills/frontend-design/references/technical-accessibility.md +119 -0
- package/skills/frontend-design/references/technical-best-practices.md +97 -0
- package/skills/frontend-design/references/technical-optimization.md +44 -0
- package/skills/frontend-design/references/technical-overview.md +90 -0
- package/skills/frontend-design/references/technical-workflows.md +150 -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 +99 -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/assets/tools.json +3146 -0
- package/skills/mcp-management/references/configuration.md +114 -0
- package/skills/mcp-management/references/gemini-cli-integration.md +221 -0
- package/skills/mcp-management/references/mcp-protocol.md +116 -0
- package/skills/mcp-management/scripts/.env.example +10 -0
- package/skills/mcp-management/scripts/cli.ts +195 -0
- package/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/mcp-management/scripts/dist/cli.js +160 -0
- package/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/mcp-management/scripts/package.json +20 -0
- package/skills/mcp-management/scripts/tsconfig.json +15 -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/{ck-planning → planning}/SKILL.md +131 -112
- package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/codebase-understanding.md +62 -62
- package/skills/{ck-planning → planning}/references/output-standards.md +141 -127
- package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/plan-organization.md +160 -150
- package/skills/{ck-planning → planning}/references/research-phase.md +49 -49
- package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/solution-design.md +63 -63
- package/skills/{ck-problem-solving → problem-solving}/SKILL.md +95 -95
- package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/attribution.md +69 -69
- package/skills/{ck-problem-solving → problem-solving}/references/collision-zone-thinking.md +79 -79
- package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/inversion-exercise.md +91 -91
- package/skills/{ck-problem-solving → problem-solving}/references/meta-pattern-recognition.md +87 -87
- package/skills/{ck-problem-solving → problem-solving}/references/scale-game.md +95 -95
- package/skills/{ck-problem-solving → problem-solving}/references/simplification-cascades.md +80 -80
- package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/when-stuck.md +72 -72
- package/skills/repomix/SKILL.md +247 -0
- package/skills/repomix/references/configuration.md +211 -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/repomix/scripts/repos.example.json +15 -0
- package/skills/repomix/scripts/requirements.txt +15 -0
- package/skills/research/SKILL.md +169 -0
- package/skills/scout/SKILL.md +78 -0
- package/skills/scout/references/external-scouting.md +140 -0
- package/skills/scout/references/internal-scouting.md +119 -0
- package/skills/{ck-sequential-thinking → sequential-thinking}/.env.example +8 -8
- package/skills/{ck-sequential-thinking → sequential-thinking}/README.md +183 -183
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/SKILL.md +92 -92
- package/skills/{ck-sequential-thinking → sequential-thinking}/package.json +31 -31
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/advanced-strategies.md +79 -79
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/advanced-techniques.md +76 -76
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/core-patterns.md +95 -95
- package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-api.md +88 -88
- package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-architecture.md +94 -94
- package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-debug.md +90 -90
- package/skills/{ck-sequential-thinking → sequential-thinking}/scripts/format-thought.js +159 -159
- package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/scripts/process-thought.js +236 -236
- package/skills/ui-styling/LICENSE.txt +202 -0
- package/skills/ui-styling/SKILL.md +319 -0
- package/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/ui-styling/references/shadcn-components.md +424 -0
- package/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/ui-styling/scripts/requirements.txt +17 -0
- package/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/web-testing/SKILL.md +94 -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/add.js +93 -93
- package/src/commands/doctor.js +117 -117
- package/src/commands/init.js +183 -183
- package/src/commands/list.js +91 -91
- package/src/commands/update.js +22 -22
- package/src/index.js +35 -35
- package/src/utils/colors.js +14 -14
- package/src/utils/copy.js +122 -122
- package/src/utils/paths.js +66 -66
- package/src/utils/update-checker.js +126 -126
- package/templates/repo/.github/AGENTS.md +103 -55
- package/templates/repo/.github/agents/brainstormer.agent.md +71 -71
- package/templates/repo/.github/agents/code-reviewer.agent.md +136 -136
- package/templates/repo/.github/agents/code-simplifier.agent.md +43 -0
- package/templates/repo/.github/agents/debugger.agent.md +128 -128
- package/templates/repo/.github/agents/docs-manager.agent.md +121 -121
- package/templates/repo/.github/agents/fullstack-developer.agent.md +52 -0
- package/templates/repo/.github/agents/git-manager.agent.md +390 -390
- package/templates/repo/.github/agents/planner.agent.md +94 -94
- package/templates/repo/.github/agents/researcher.agent.md +31 -32
- package/templates/repo/.github/agents/scout.agent.md +107 -107
- package/templates/repo/.github/agents/tester.agent.md +117 -117
- package/templates/repo/.github/agents/ui-ux-designer.agent.md +57 -0
- package/templates/repo/.github/collections/ck-core.collection.yml +28 -28
- package/templates/repo/.github/collections/ck-development-rules.collection.yml +18 -18
- package/templates/repo/.github/collections/ck-documentation.collection.yml +14 -14
- package/templates/repo/.github/collections/ck-git-workflow.collection.yml +12 -12
- package/templates/repo/.github/collections/ck-orchestration.collection.yml +16 -16
- package/templates/repo/.github/instructions/ck-backend.instructions.md +48 -48
- package/templates/repo/.github/instructions/ck-development.instructions.md +54 -54
- package/templates/repo/.github/instructions/ck-frontend.instructions.md +44 -44
- package/templates/repo/.github/instructions/ck-research.instructions.md +167 -167
- package/templates/repo/.github/instructions/ck-testing.instructions.md +36 -36
- package/templates/repo/.github/prompts/ck-ask.prompt.md +67 -57
- package/templates/repo/.github/prompts/ck-bootstrap.prompt.md +141 -136
- package/templates/repo/.github/prompts/ck-brainstorm.prompt.md +87 -105
- package/templates/repo/.github/prompts/ck-cook.prompt.md +96 -97
- package/templates/repo/.github/prompts/ck-debug.prompt.md +115 -14
- package/templates/repo/.github/prompts/ck-docs.prompt.md +102 -51
- package/templates/repo/.github/prompts/ck-fix-ci.prompt.md +46 -0
- package/templates/repo/.github/prompts/ck-fix-fast.prompt.md +44 -0
- package/templates/repo/.github/prompts/ck-fix-hard.prompt.md +60 -0
- package/templates/repo/.github/prompts/ck-fix-logs.prompt.md +53 -0
- package/templates/repo/.github/prompts/ck-fix-test.prompt.md +47 -0
- package/templates/repo/.github/prompts/ck-fix-types.prompt.md +29 -0
- package/templates/repo/.github/prompts/ck-fix-ui.prompt.md +50 -0
- package/templates/repo/.github/prompts/ck-fix.prompt.md +50 -44
- package/templates/repo/.github/prompts/ck-git.prompt.md +104 -79
- package/{prompts/ck-ck-help.prompt.md → templates/repo/.github/prompts/ck-help.prompt.md} +142 -112
- package/templates/repo/.github/prompts/ck-journal.prompt.md +19 -0
- package/templates/repo/.github/prompts/ck-plan-fast.prompt.md +106 -0
- package/templates/repo/.github/prompts/ck-plan-hard.prompt.md +133 -0
- package/templates/repo/.github/prompts/ck-plan-validate.prompt.md +209 -0
- package/templates/repo/.github/prompts/ck-plan.prompt.md +75 -80
- package/templates/repo/.github/prompts/ck-preview.prompt.md +77 -0
- package/{prompts/ck-review-codebase.prompt.md → templates/repo/.github/prompts/ck-review.prompt.md} +58 -44
- package/templates/repo/.github/prompts/ck-scout.prompt.md +85 -25
- package/templates/repo/.github/prompts/ck-simplify.prompt.md +46 -0
- package/templates/repo/.github/prompts/ck-spec-analyze.prompt.md +201 -0
- package/templates/repo/.github/prompts/ck-spec-checklist.prompt.md +308 -0
- package/templates/repo/.github/prompts/ck-spec-clarify.prompt.md +190 -0
- package/templates/repo/.github/prompts/ck-spec-constitution.prompt.md +92 -0
- package/templates/repo/.github/prompts/ck-spec-implement.prompt.md +157 -0
- package/templates/repo/.github/prompts/ck-spec-plan.prompt.md +95 -0
- package/templates/repo/.github/prompts/ck-spec-specify.prompt.md +260 -0
- package/templates/repo/.github/prompts/ck-spec-tasks.prompt.md +181 -0
- package/templates/repo/.github/prompts/ck-test.prompt.md +21 -10
- package/templates/repo/.github/prompts/ck-watzup.prompt.md +21 -0
- package/templates/repo/.github/skills/INSTALLATION.md +311 -0
- package/templates/repo/.github/skills/README.md +112 -0
- package/templates/repo/.github/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/templates/repo/.github/skills/agent-browser/SKILL.md +291 -0
- package/templates/repo/.github/skills/agent-browser/references/.gitkeep +0 -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/{ck-backend-development → backend-development}/SKILL.md +94 -96
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-api-design.md +697 -495
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-architecture.md +454 -454
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-authentication.md +433 -338
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-code-quality.md +659 -659
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-debugging.md +904 -904
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-devops.md +494 -494
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-mindset.md +387 -387
- package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-performance.md +397 -397
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-security.md +340 -290
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-technologies.md +300 -290
- package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-testing.md +484 -561
- package/templates/repo/.github/skills/brainstorm/SKILL.md +74 -0
- package/templates/repo/.github/skills/{ck-code-review → code-review}/SKILL.md +143 -143
- package/templates/repo/.github/skills/{ck-code-review → code-review}/references/code-review-reception.md +208 -208
- package/templates/repo/.github/skills/{ck-code-review → code-review}/references/requesting-code-review.md +104 -104
- package/templates/repo/.github/skills/{ck-code-review → code-review}/references/verification-before-completion.md +138 -138
- 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 +106 -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 +93 -0
- package/templates/repo/.github/skills/cook/references/agent-patterns.md +75 -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/workflow-steps.md +140 -0
- package/templates/repo/.github/skills/databases/SKILL.md +111 -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/references/mongodb-aggregation.md +447 -0
- package/templates/repo/.github/skills/databases/references/mongodb-atlas.md +465 -0
- package/templates/repo/.github/skills/databases/references/mongodb-crud.md +408 -0
- package/templates/repo/.github/skills/databases/references/mongodb-indexing.md +442 -0
- package/templates/repo/.github/skills/databases/references/postgresql-administration.md +594 -0
- package/templates/repo/.github/skills/databases/references/postgresql-performance.md +527 -0
- package/templates/repo/.github/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/templates/repo/.github/skills/databases/references/postgresql-queries.md +475 -0
- package/templates/repo/.github/skills/databases/scripts/db_backup.py +502 -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/scripts/requirements.txt +20 -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/{skills/ck-debugging → templates/repo/.github/skills/debug}/SKILL.md +83 -82
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/references/defense-in-depth.md +124 -124
- package/templates/repo/.github/skills/{ck-debugging → debug}/references/root-cause-tracing.md +122 -122
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/references/systematic-debugging.md +102 -102
- package/templates/repo/.github/skills/{ck-debugging → debug}/references/verification.md +123 -123
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/scripts/find-polluter.sh +63 -63
- package/{skills/ck-debugging → templates/repo/.github/skills/debug}/scripts/find-polluter.test.md +102 -102
- package/templates/repo/.github/skills/devops/.env.example +76 -0
- package/templates/repo/.github/skills/devops/SKILL.md +102 -0
- package/templates/repo/.github/skills/devops/references/browser-rendering.md +305 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-platform.md +271 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/templates/repo/.github/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/templates/repo/.github/skills/devops/references/docker-basics.md +297 -0
- package/templates/repo/.github/skills/devops/references/docker-compose.md +292 -0
- package/templates/repo/.github/skills/devops/references/gcloud-platform.md +297 -0
- package/templates/repo/.github/skills/devops/references/gcloud-services.md +304 -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/cloudflare_deploy.py +269 -0
- package/templates/repo/.github/skills/devops/scripts/docker_optimize.py +332 -0
- package/templates/repo/.github/skills/devops/scripts/requirements.txt +20 -0
- package/templates/repo/.github/skills/docs-seeker/.env.example +15 -0
- package/templates/repo/.github/skills/docs-seeker/SKILL.md +96 -0
- package/templates/repo/.github/skills/docs-seeker/package.json +25 -0
- package/templates/repo/.github/skills/docs-seeker/references/advanced.md +79 -0
- package/templates/repo/.github/skills/docs-seeker/references/context7-patterns.md +64 -0
- package/templates/repo/.github/skills/docs-seeker/references/errors.md +68 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/detect-topic.js +172 -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/docs-seeker/workflows/repo-analysis.md +91 -0
- package/templates/repo/.github/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/templates/repo/.github/skills/fix/SKILL.md +100 -0
- package/templates/repo/.github/skills/fix/references/complexity-assessment.md +61 -0
- package/templates/repo/.github/skills/fix/references/mode-selection.md +30 -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 +74 -0
- package/templates/repo/.github/skills/frontend-design/references/analysis-best-practices.md +80 -0
- package/templates/repo/.github/skills/frontend-design/references/analysis-prompts.md +141 -0
- package/templates/repo/.github/skills/frontend-design/references/analysis-techniques.md +118 -0
- package/templates/repo/.github/skills/frontend-design/references/animejs.md +396 -0
- package/templates/repo/.github/skills/frontend-design/references/asset-generation.md +161 -0
- package/templates/repo/.github/skills/frontend-design/references/design-extraction-overview.md +71 -0
- package/templates/repo/.github/skills/frontend-design/references/extraction-best-practices.md +141 -0
- package/templates/repo/.github/skills/frontend-design/references/extraction-output-templates.md +162 -0
- package/templates/repo/.github/skills/frontend-design/references/extraction-prompts.md +127 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-accessibility.md +119 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-best-practices.md +97 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-optimization.md +44 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-overview.md +90 -0
- package/templates/repo/.github/skills/frontend-design/references/technical-workflows.md +150 -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 +99 -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/assets/tools.json +3146 -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/references/mcp-protocol.md +116 -0
- package/templates/repo/.github/skills/mcp-management/scripts/.env.example +10 -0
- package/templates/repo/.github/skills/mcp-management/scripts/cli.ts +195 -0
- package/templates/repo/.github/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/templates/repo/.github/skills/mcp-management/scripts/dist/cli.js +160 -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/mcp-management/scripts/package.json +20 -0
- package/templates/repo/.github/skills/mcp-management/scripts/tsconfig.json +15 -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/{ck-planning → planning}/SKILL.md +131 -112
- package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/codebase-understanding.md +62 -62
- package/templates/repo/.github/skills/{ck-planning → planning}/references/output-standards.md +141 -127
- package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/plan-organization.md +160 -150
- package/templates/repo/.github/skills/{ck-planning → planning}/references/research-phase.md +49 -49
- package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/solution-design.md +63 -63
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/SKILL.md +95 -95
- package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/attribution.md +69 -69
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/collision-zone-thinking.md +79 -79
- package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/inversion-exercise.md +91 -91
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/meta-pattern-recognition.md +87 -87
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/scale-game.md +95 -95
- package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/simplification-cascades.md +80 -80
- package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/when-stuck.md +72 -72
- package/templates/repo/.github/skills/repomix/SKILL.md +247 -0
- package/templates/repo/.github/skills/repomix/references/configuration.md +211 -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/repomix/scripts/repos.example.json +15 -0
- package/templates/repo/.github/skills/repomix/scripts/requirements.txt +15 -0
- package/templates/repo/.github/skills/research/SKILL.md +169 -0
- package/templates/repo/.github/skills/scout/SKILL.md +78 -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/{ck-sequential-thinking → sequential-thinking}/.env.example +8 -8
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/README.md +183 -183
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/SKILL.md +92 -92
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/package.json +31 -31
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/advanced-strategies.md +79 -79
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/advanced-techniques.md +76 -76
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/core-patterns.md +95 -95
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-api.md +88 -88
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-architecture.md +94 -94
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-debug.md +90 -90
- package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/scripts/format-thought.js +159 -159
- package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/scripts/process-thought.js +236 -236
- package/templates/repo/.github/skills/ui-styling/LICENSE.txt +202 -0
- package/templates/repo/.github/skills/ui-styling/SKILL.md +319 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/templates/repo/.github/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/templates/repo/.github/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/templates/repo/.github/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/templates/repo/.github/skills/ui-styling/references/shadcn-components.md +424 -0
- package/templates/repo/.github/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/templates/repo/.github/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/templates/repo/.github/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/templates/repo/.github/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/templates/repo/.github/skills/ui-styling/scripts/requirements.txt +17 -0
- package/templates/repo/.github/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/templates/repo/.github/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/templates/repo/.github/skills/web-testing/SKILL.md +94 -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/templates/repo/.vscode/settings.json +70 -70
- package/.vscode/settings.json +0 -70
- package/AGENTS.md +0 -103
- package/FAQ.md +0 -101
- package/INIT.md +0 -154
- package/QUICK-START.md +0 -37
- package/changelogs/1.0.8.md +0 -77
- package/changelogs/1.0.9.md +0 -173
- package/plans/reports/docs-manager-260120-0854-documentation-update.md +0 -323
- package/prompts/ck-code.prompt.md +0 -178
- package/repomix-output.xml +0 -40725
- 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-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-sequential-thinking/tests/format-thought.test.js +0 -133
- package/skills/ck-sequential-thinking/tests/process-thought.test.js +0 -215
- package/templates/repo/.github/.cokit-version +0 -4
- package/templates/repo/.github/copilot-instructions.md +0 -45
- package/templates/repo/.github/prompts/ck-code.prompt.md +0 -178
- 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-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/skills/{ck-code-review → code-review}/references/verification-before-completion.md +0 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# Analytics (OLAP) Rules
|
|
2
|
+
|
|
3
|
+
> **Note:** Core naming conventions, workflow, and checklist are in `SKILL.md` or `db-design.md` (always loaded).
|
|
4
|
+
|
|
5
|
+
Guidelines for designing schemas for statistics and reporting tables.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## General Principles
|
|
10
|
+
|
|
11
|
+
- **Separate** from transactional tables - don't mix analytics logic into business tables
|
|
12
|
+
- When heavy analytics queries/aggregations repeat → create separate tables
|
|
13
|
+
- Use **Star Schema**: Fact tables at center, Dimension tables around
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Design Process
|
|
18
|
+
|
|
19
|
+
### 1. Analyze Statistics Requirements
|
|
20
|
+
|
|
21
|
+
Ask user to clarify:
|
|
22
|
+
- **Analysis dimensions**: by date, by customer, by product, by channel, by region?
|
|
23
|
+
- **Granularity**: per order, per item, per day, per month?
|
|
24
|
+
- **Metrics**: order_count, revenue, margin, conversion_rate, avg_order_value?
|
|
25
|
+
|
|
26
|
+
### 2. Define Fact Granularity
|
|
27
|
+
|
|
28
|
+
**Important**: What does 1 row in fact table represent?
|
|
29
|
+
|
|
30
|
+
| Fact Table | Granularity | Use case |
|
|
31
|
+
|------------|-------------|----------|
|
|
32
|
+
| `fact_orders` | 1 row = 1 order | Statistics by order |
|
|
33
|
+
| `fact_order_items` | 1 row = 1 order item | Statistics by product |
|
|
34
|
+
| `fact_daily_sales` | 1 row = 1 day + store | Daily summary |
|
|
35
|
+
|
|
36
|
+
### 3. Identify Required Dimensions
|
|
37
|
+
|
|
38
|
+
Create separate dim table when:
|
|
39
|
+
- Reused in multiple places
|
|
40
|
+
- Has many descriptive attributes
|
|
41
|
+
- Subject to slow changes (Slowly Changing Dimension)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Fact Tables
|
|
46
|
+
|
|
47
|
+
### Fact table structure
|
|
48
|
+
|
|
49
|
+
```sql
|
|
50
|
+
CREATE TABLE fact_orders (
|
|
51
|
+
fact_id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
52
|
+
-- Dimension keys
|
|
53
|
+
date_key INT NOT NULL, -- FK to dim_date
|
|
54
|
+
customer_key BIGINT NOT NULL, -- FK to dim_customer
|
|
55
|
+
store_key INT,
|
|
56
|
+
channel_key INT,
|
|
57
|
+
-- Degenerate dimensions (no separate dim needed)
|
|
58
|
+
order_id BIGINT NOT NULL,
|
|
59
|
+
order_number VARCHAR(50),
|
|
60
|
+
-- Measures
|
|
61
|
+
item_count INT NOT NULL,
|
|
62
|
+
gross_amount DECIMAL(18,2) NOT NULL,
|
|
63
|
+
discount_amount DECIMAL(18,2) DEFAULT 0,
|
|
64
|
+
net_amount DECIMAL(18,2) NOT NULL,
|
|
65
|
+
|
|
66
|
+
INDEX idx_fact_orders_date (date_key),
|
|
67
|
+
INDEX idx_fact_orders_customer (customer_key),
|
|
68
|
+
INDEX idx_fact_orders_date_store (date_key, store_key)
|
|
69
|
+
);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Dimension Tables
|
|
75
|
+
|
|
76
|
+
### dim_date (required for every analytics schema)
|
|
77
|
+
|
|
78
|
+
```sql
|
|
79
|
+
CREATE TABLE dim_date (
|
|
80
|
+
date_key INT PRIMARY KEY, -- Format: YYYYMMDD (20241215)
|
|
81
|
+
full_date DATE NOT NULL,
|
|
82
|
+
year INT NOT NULL,
|
|
83
|
+
quarter INT NOT NULL, -- 1-4
|
|
84
|
+
month INT NOT NULL, -- 1-12
|
|
85
|
+
month_name VARCHAR(20), -- 'January', 'February'
|
|
86
|
+
week_of_year INT NOT NULL,
|
|
87
|
+
day_of_month INT NOT NULL,
|
|
88
|
+
day_of_week INT NOT NULL, -- 1=Monday, 7=Sunday
|
|
89
|
+
day_name VARCHAR(20),
|
|
90
|
+
is_weekend BOOLEAN NOT NULL,
|
|
91
|
+
is_holiday BOOLEAN DEFAULT FALSE,
|
|
92
|
+
|
|
93
|
+
UNIQUE (full_date)
|
|
94
|
+
);
|
|
95
|
+
-- Pre-populate for multiple years (2020-2030)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### dim_customer
|
|
99
|
+
|
|
100
|
+
```sql
|
|
101
|
+
CREATE TABLE dim_customer (
|
|
102
|
+
customer_key BIGINT PRIMARY KEY AUTO_INCREMENT, -- Surrogate key
|
|
103
|
+
customer_id BIGINT NOT NULL, -- Natural key from users
|
|
104
|
+
customer_name VARCHAR(255),
|
|
105
|
+
email VARCHAR(255),
|
|
106
|
+
segment VARCHAR(50), -- 'VIP', 'Regular', 'New'
|
|
107
|
+
city VARCHAR(100),
|
|
108
|
+
region VARCHAR(100),
|
|
109
|
+
first_order_date DATE,
|
|
110
|
+
-- SCD Type 2 columns (if history needed)
|
|
111
|
+
effective_from DATE NOT NULL,
|
|
112
|
+
effective_to DATE,
|
|
113
|
+
is_current BOOLEAN DEFAULT TRUE,
|
|
114
|
+
|
|
115
|
+
INDEX idx_dim_customer_id (customer_id),
|
|
116
|
+
INDEX idx_dim_customer_current (is_current, customer_id)
|
|
117
|
+
);
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Summary Tables (Pre-aggregated)
|
|
123
|
+
|
|
124
|
+
When pre-aggregation needed for dashboard performance:
|
|
125
|
+
|
|
126
|
+
```sql
|
|
127
|
+
CREATE TABLE summary_daily_sales (
|
|
128
|
+
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
129
|
+
date_key INT NOT NULL,
|
|
130
|
+
store_key INT,
|
|
131
|
+
channel_key INT,
|
|
132
|
+
-- Pre-aggregated measures
|
|
133
|
+
order_count INT NOT NULL,
|
|
134
|
+
item_count INT NOT NULL,
|
|
135
|
+
gross_revenue DECIMAL(18,2) NOT NULL,
|
|
136
|
+
net_revenue DECIMAL(18,2) NOT NULL,
|
|
137
|
+
unique_customers INT NOT NULL,
|
|
138
|
+
avg_order_value DECIMAL(18,2),
|
|
139
|
+
|
|
140
|
+
UNIQUE (date_key, store_key, channel_key),
|
|
141
|
+
INDEX idx_summary_date (date_key)
|
|
142
|
+
);
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Slowly Changing Dimensions (SCD)
|
|
148
|
+
|
|
149
|
+
### Type 1 - Overwrite
|
|
150
|
+
Overwrite old value, no history kept:
|
|
151
|
+
```sql
|
|
152
|
+
UPDATE dim_customer SET segment = 'VIP' WHERE customer_id = 123;
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Type 2 - Add new row (Recommended when history needed)
|
|
156
|
+
```sql
|
|
157
|
+
-- 1. Close old row
|
|
158
|
+
UPDATE dim_customer
|
|
159
|
+
SET effective_to = CURRENT_DATE - 1, is_current = FALSE
|
|
160
|
+
WHERE customer_id = 123 AND is_current = TRUE;
|
|
161
|
+
|
|
162
|
+
-- 2. Add new row
|
|
163
|
+
INSERT INTO dim_customer (customer_id, segment, effective_from, is_current)
|
|
164
|
+
VALUES (123, 'VIP', CURRENT_DATE, TRUE);
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Indexing for Analytics
|
|
170
|
+
|
|
171
|
+
### Fact tables
|
|
172
|
+
- Index FKs to dimensions: `date_key`, `customer_key`, `product_key`
|
|
173
|
+
- Composite index based on query patterns: `INDEX (date_key, store_key)`
|
|
174
|
+
|
|
175
|
+
### Dimension tables
|
|
176
|
+
- PK: surrogate key
|
|
177
|
+
- Index natural key: `customer_id`, `product_id`
|
|
178
|
+
- Index for SCD: `(is_current, customer_id)`
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Naming Convention
|
|
183
|
+
|
|
184
|
+
- Fact tables: `fact_*` or `fct_*`
|
|
185
|
+
- Dimension tables: `dim_*`
|
|
186
|
+
- Summary tables: `summary_*` or `agg_*`
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Checklist
|
|
191
|
+
|
|
192
|
+
- [ ] Granularity defined for each fact table
|
|
193
|
+
- [ ] dim_date exists or created (pre-populate multiple years)
|
|
194
|
+
- [ ] Surrogate keys for dimensions
|
|
195
|
+
- [ ] Index FKs in fact tables
|
|
196
|
+
- [ ] SCD strategy for changing dimensions (Type 1 or Type 2)
|
|
197
|
+
- [ ] Naming: `fact_*`, `dim_*`, `summary_*`
|
|
198
|
+
- [ ] Refresh strategy: see [incremental-etl.md](incremental-etl.md)
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: db-design
|
|
3
|
+
description: "Activate when user requests: Database/table design for transactional (OLTP), analytics (OLAP), create or extend schema, design fact/dimension tables, analyze/review CSV/JSON/SQL files to create tables, or need advice on data storage structure."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SKILL: Database Schema Design
|
|
7
|
+
|
|
8
|
+
## Execution Process
|
|
9
|
+
|
|
10
|
+
### Step 1: Analyze Context (MANDATORY)
|
|
11
|
+
|
|
12
|
+
Before ANY design work, AI MUST check:
|
|
13
|
+
|
|
14
|
+
- [ ] Database stack identified? (MySQL / PostgreSQL / BigQuery / SQLite / D1)
|
|
15
|
+
- [ ] Existing schema explored via tools/MCP?
|
|
16
|
+
- [ ] Use case clear? (transactional vs analytics vs ETL)
|
|
17
|
+
|
|
18
|
+
**If ANY checkbox is unclear → STOP and ask user before proceeding.**
|
|
19
|
+
|
|
20
|
+
### Step 2: Gather Requirements
|
|
21
|
+
|
|
22
|
+
**MUST ask if missing:**
|
|
23
|
+
|
|
24
|
+
| Missing Info | Required Question |
|
|
25
|
+
|--------------|-------------------|
|
|
26
|
+
| Entities unclear | "What are the main entities involved in this feature?" |
|
|
27
|
+
| Query patterns unknown | "What queries/reports will run most often?" |
|
|
28
|
+
| Granularity unclear | "What level of detail needed? (per order, per item, per day)" |
|
|
29
|
+
| Constraints unknown | "Any uniqueness, retention, or multi-tenant requirements?" |
|
|
30
|
+
| Relationships unclear | "How do these entities relate to each other?" |
|
|
31
|
+
|
|
32
|
+
**DO NOT assume or proceed without answers. DO NOT design schema without understanding the business context.**
|
|
33
|
+
|
|
34
|
+
### Step 3: Load Documentation by Intent
|
|
35
|
+
|
|
36
|
+
| Intent | Keywords | Load file |
|
|
37
|
+
|--------|----------|-----------|
|
|
38
|
+
| **OLTP** | "business tables", "transactional", "CRUD", "orders", "users" | [transactional.md](transactional.md) |
|
|
39
|
+
| **OLAP** | "analytics", "statistics", "reports", "fact", "dimension" | [analytics.md](analytics.md) |
|
|
40
|
+
| **ETL** | "incremental", "load", "sync", "watermark", "etl" | [incremental-etl.md](incremental-etl.md) |
|
|
41
|
+
|
|
42
|
+
**Database stacks:** [MySQL](stacks/mysql.md) · [PostgreSQL](stacks/postgres.md) · [BigQuery](stacks/bigquery.md) · [SQLite](stacks/sqlite.md) · [D1 Cloudflare](stacks/d1_cloudflare.md)
|
|
43
|
+
|
|
44
|
+
### Step 4: Design & Propose
|
|
45
|
+
|
|
46
|
+
Only after Steps 1-3 complete:
|
|
47
|
+
- Propose DDL with reasoning
|
|
48
|
+
- **Wait for user approval before execution**
|
|
49
|
+
- Never auto-execute DDL
|
|
50
|
+
|
|
51
|
+
### Step 5: Verify Checklist
|
|
52
|
+
|
|
53
|
+
Before delivering final DDL, verify the **Final Checklist** at the end of this file.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Scope & Objectives
|
|
58
|
+
|
|
59
|
+
Design or extend database schemas ensuring:
|
|
60
|
+
|
|
61
|
+
- Consistent, understandable, maintainable data structures
|
|
62
|
+
- Good performance with appropriate indexes
|
|
63
|
+
- Design that fits existing tables (avoid duplication, avoid breaking logic)
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Naming Conventions
|
|
68
|
+
|
|
69
|
+
### Table naming
|
|
70
|
+
|
|
71
|
+
- Use **snake_case**, English, plural for main entities:
|
|
72
|
+
- `users`, `orders`, `order_items`, `product_variants`
|
|
73
|
+
- Junction/mapping tables:
|
|
74
|
+
- `role_permissions`, `user_roles`, `product_categories`
|
|
75
|
+
- Fact & dimension tables (analytics):
|
|
76
|
+
- Fact: `fact_orders`, `fact_order_items`, `fact_pageviews`
|
|
77
|
+
- Dimension: `dim_date`, `dim_customer`, `dim_product`, `dim_store`
|
|
78
|
+
- Avoid unclear abbreviations:
|
|
79
|
+
- ❌ `usr`, `ord`, `inv_tx`
|
|
80
|
+
- ✅ `users`, `orders`, `inventory_transactions`
|
|
81
|
+
|
|
82
|
+
### Column naming
|
|
83
|
+
|
|
84
|
+
- Use **snake_case**, clear meaning, consistent across tables
|
|
85
|
+
- **Primary key**: `id` (main PK of table)
|
|
86
|
+
- **Foreign key**: `xxx_id` pointing to table `xxx`:
|
|
87
|
+
- `user_id` → `users.id`
|
|
88
|
+
- `order_id` → `orders.id`
|
|
89
|
+
- **Audit & lifecycle**:
|
|
90
|
+
- `created_at`, `updated_at`, `deleted_at` (soft delete)
|
|
91
|
+
- **Boolean flags**:
|
|
92
|
+
- `is_active`, `is_deleted`, `is_primary`, `is_verified`
|
|
93
|
+
- **Quantities & prices**:
|
|
94
|
+
- `quantity`, `unit_price`, `total_price`, `discount_amount`, `tax_amount`
|
|
95
|
+
- **Time ranges**:
|
|
96
|
+
- `start_at`, `end_at` or `valid_from`, `valid_to` (pick one convention and use consistently)
|
|
97
|
+
- **Enum/state**:
|
|
98
|
+
- `status` (combine with ENUM / CHECK constraint)
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Workflow
|
|
103
|
+
|
|
104
|
+
### 1. Understand business requirements
|
|
105
|
+
|
|
106
|
+
- Summarize requirements in your own words
|
|
107
|
+
- If missing context, ask:
|
|
108
|
+
- What entities are involved?
|
|
109
|
+
- What is the main business flow?
|
|
110
|
+
- What queries/reports are commonly used?
|
|
111
|
+
|
|
112
|
+
### 2. Explore existing schema (MANDATORY before proposing)
|
|
113
|
+
|
|
114
|
+
- Use tools/MCP to list tables and describe structure
|
|
115
|
+
- For DBs with comments (MySQL/PostgreSQL/BigQuery): read comments directly
|
|
116
|
+
- For SQLite/D1: query `metadata_tables` and `metadata_columns` tables
|
|
117
|
+
|
|
118
|
+
### 3. Analyze and propose draft
|
|
119
|
+
|
|
120
|
+
- Which tables already partially cover requirements?
|
|
121
|
+
- Which tables need additional columns/indexes?
|
|
122
|
+
- Which tables are completely missing (need to create)?
|
|
123
|
+
|
|
124
|
+
### 4. Confirm with user before finalizing design
|
|
125
|
+
|
|
126
|
+
- Required granularity
|
|
127
|
+
- Metrics to calculate
|
|
128
|
+
- Important business constraints (uniqueness, retention, privacy)
|
|
129
|
+
|
|
130
|
+
### 5. Design detailed schema
|
|
131
|
+
|
|
132
|
+
- Provide proposed DDL - **do NOT auto-execute**
|
|
133
|
+
- Wait for user approval before execution
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Processing Data Files (CSV/JSON/SQL)
|
|
138
|
+
|
|
139
|
+
When user provides files:
|
|
140
|
+
|
|
141
|
+
1. **Read and identify structure**: headers, data types, relationships
|
|
142
|
+
2. **Large files**: write Python script to parse and analyze
|
|
143
|
+
3. **SQL files**: review naming, indexes, constraints, propose improvements
|
|
144
|
+
4. **Output**: Proposed DDL with reasoning
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Output Format
|
|
149
|
+
|
|
150
|
+
When delivering design results:
|
|
151
|
+
|
|
152
|
+
1. **Summary**: list of new tables / tables to modify
|
|
153
|
+
2. **Complete DDL SQL**: columns, types, PK, FK, indexes, comments
|
|
154
|
+
3. **Reasoning**: explain why this structure/index was chosen, tied to actual queries
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Final Checklist
|
|
159
|
+
|
|
160
|
+
Before delivering final DDL:
|
|
161
|
+
|
|
162
|
+
- [ ] Explored existing schema via tools/MCP
|
|
163
|
+
- [ ] No duplicate tables with existing schema
|
|
164
|
+
- [ ] All FKs have indexes
|
|
165
|
+
- [ ] Composite indexes match main query patterns
|
|
166
|
+
- [ ] Naming convention consistent with existing schema
|
|
167
|
+
- [ ] Added comments/descriptions for tables and columns
|
|
168
|
+
- [ ] For SQLite/D1: prepared INSERTs for metadata tables
|
|
169
|
+
- [ ] Explained reasoning for important design decisions
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## File Structure
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
$HOME/.copilot/skills/databases/
|
|
177
|
+
├── SKILL.md # Skill description (entry + execution process + checklist)
|
|
178
|
+
├── db-design.md # This file
|
|
179
|
+
├── transactional.md # OLTP design rules
|
|
180
|
+
├── analytics.md # OLAP / Star Schema rules
|
|
181
|
+
├── incremental-etl.md # ETL & watermark patterns
|
|
182
|
+
└── stacks/
|
|
183
|
+
├── mysql.md # MySQL-specific rules
|
|
184
|
+
├── postgres.md # PostgreSQL-specific rules
|
|
185
|
+
├── bigquery.md # BigQuery-specific rules
|
|
186
|
+
├── sqlite.md # SQLite-specific rules
|
|
187
|
+
└── d1_cloudflare.md # D1 Cloudflare-specific rules
|
|
188
|
+
```
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Incremental Loading & ETL Logs
|
|
2
|
+
|
|
3
|
+
> **Note:** Core naming conventions, workflow, and checklist are in `SKILL.md` or `db-design.md` (always loaded).
|
|
4
|
+
|
|
5
|
+
Guidelines for designing schemas to support periodic data loading with tracking and control.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Source Tables Requirements
|
|
10
|
+
|
|
11
|
+
All source tables that need to support incremental loading must have:
|
|
12
|
+
|
|
13
|
+
```sql
|
|
14
|
+
-- Required audit columns
|
|
15
|
+
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
16
|
+
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
17
|
+
|
|
18
|
+
-- Index for incremental query
|
|
19
|
+
CREATE INDEX idx_tablename_updated_at ON tablename(updated_at);
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Soft delete support
|
|
23
|
+
|
|
24
|
+
If source has soft delete, need to track deleted records too:
|
|
25
|
+
|
|
26
|
+
```sql
|
|
27
|
+
deleted_at TIMESTAMP NULL
|
|
28
|
+
|
|
29
|
+
-- Index to get all modified records (update or delete)
|
|
30
|
+
CREATE INDEX idx_tablename_modified ON tablename(updated_at);
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. ETL Control Tables
|
|
36
|
+
|
|
37
|
+
### etl_jobs - Job definitions
|
|
38
|
+
|
|
39
|
+
```sql
|
|
40
|
+
CREATE TABLE etl_jobs (
|
|
41
|
+
job_id VARCHAR(100) PRIMARY KEY,
|
|
42
|
+
job_name VARCHAR(255) NOT NULL,
|
|
43
|
+
description TEXT,
|
|
44
|
+
source_table VARCHAR(255),
|
|
45
|
+
target_table VARCHAR(255),
|
|
46
|
+
load_type VARCHAR(50) NOT NULL, -- 'full', 'incremental', 'cdc'
|
|
47
|
+
schedule VARCHAR(100), -- Cron: '0 */1 * * *'
|
|
48
|
+
is_active BOOLEAN DEFAULT TRUE,
|
|
49
|
+
timeout_seconds INT DEFAULT 3600,
|
|
50
|
+
retry_count INT DEFAULT 3,
|
|
51
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
52
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
53
|
+
|
|
54
|
+
INDEX idx_etl_jobs_active (is_active)
|
|
55
|
+
);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### etl_job_runs - Execution tracking
|
|
59
|
+
|
|
60
|
+
```sql
|
|
61
|
+
CREATE TABLE etl_job_runs (
|
|
62
|
+
run_id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
63
|
+
job_id VARCHAR(100) NOT NULL,
|
|
64
|
+
run_status VARCHAR(50) NOT NULL, -- 'running', 'success', 'failed', 'cancelled'
|
|
65
|
+
started_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
66
|
+
finished_at TIMESTAMP NULL,
|
|
67
|
+
duration_seconds INT,
|
|
68
|
+
-- Metrics
|
|
69
|
+
rows_read BIGINT DEFAULT 0,
|
|
70
|
+
rows_written BIGINT DEFAULT 0,
|
|
71
|
+
rows_updated BIGINT DEFAULT 0,
|
|
72
|
+
rows_deleted BIGINT DEFAULT 0,
|
|
73
|
+
-- Watermarks
|
|
74
|
+
watermark_start TIMESTAMP NULL,
|
|
75
|
+
watermark_end TIMESTAMP NULL,
|
|
76
|
+
-- Error info
|
|
77
|
+
error_message TEXT,
|
|
78
|
+
error_details JSON,
|
|
79
|
+
-- Metadata
|
|
80
|
+
triggered_by VARCHAR(100), -- 'scheduler', 'manual', 'api'
|
|
81
|
+
|
|
82
|
+
INDEX idx_etl_runs_job (job_id, started_at DESC),
|
|
83
|
+
INDEX idx_etl_runs_status (run_status, started_at),
|
|
84
|
+
FOREIGN KEY (job_id) REFERENCES etl_jobs(job_id)
|
|
85
|
+
);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### etl_watermarks - Checkpoint tracking
|
|
89
|
+
|
|
90
|
+
```sql
|
|
91
|
+
CREATE TABLE etl_watermarks (
|
|
92
|
+
job_id VARCHAR(100) NOT NULL,
|
|
93
|
+
source_table VARCHAR(255) NOT NULL,
|
|
94
|
+
watermark_column VARCHAR(100) NOT NULL, -- 'updated_at', 'id'
|
|
95
|
+
watermark_type VARCHAR(50) NOT NULL, -- 'timestamp', 'integer'
|
|
96
|
+
last_value_timestamp TIMESTAMP NULL,
|
|
97
|
+
last_value_integer BIGINT NULL,
|
|
98
|
+
last_successful_run_id BIGINT,
|
|
99
|
+
last_updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
100
|
+
|
|
101
|
+
PRIMARY KEY (job_id, source_table),
|
|
102
|
+
FOREIGN KEY (job_id) REFERENCES etl_jobs(job_id)
|
|
103
|
+
);
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 3. Incremental Load Patterns
|
|
109
|
+
|
|
110
|
+
### Timestamp-based (most common)
|
|
111
|
+
|
|
112
|
+
```sql
|
|
113
|
+
-- Query incremental data from source
|
|
114
|
+
SELECT * FROM orders
|
|
115
|
+
WHERE updated_at > :last_watermark
|
|
116
|
+
AND updated_at <= :current_watermark
|
|
117
|
+
ORDER BY updated_at;
|
|
118
|
+
|
|
119
|
+
-- Update watermark AFTER successful load
|
|
120
|
+
UPDATE etl_watermarks
|
|
121
|
+
SET last_value_timestamp = :current_watermark,
|
|
122
|
+
last_successful_run_id = :run_id,
|
|
123
|
+
last_updated_at = CURRENT_TIMESTAMP
|
|
124
|
+
WHERE job_id = :job_id AND source_table = 'orders';
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### ID-based (for append-only tables)
|
|
128
|
+
|
|
129
|
+
```sql
|
|
130
|
+
-- Query incremental data
|
|
131
|
+
SELECT * FROM events
|
|
132
|
+
WHERE id > :last_id
|
|
133
|
+
ORDER BY id
|
|
134
|
+
LIMIT 10000;
|
|
135
|
+
|
|
136
|
+
-- Update watermark
|
|
137
|
+
UPDATE etl_watermarks
|
|
138
|
+
SET last_value_integer = :max_id_loaded,
|
|
139
|
+
last_successful_run_id = :run_id
|
|
140
|
+
WHERE job_id = :job_id;
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Combined (timestamp + ID)
|
|
144
|
+
|
|
145
|
+
```sql
|
|
146
|
+
SELECT * FROM orders
|
|
147
|
+
WHERE (updated_at > :last_timestamp)
|
|
148
|
+
OR (updated_at = :last_timestamp AND id > :last_id)
|
|
149
|
+
ORDER BY updated_at, id
|
|
150
|
+
LIMIT 10000;
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 4. Example Queries
|
|
156
|
+
|
|
157
|
+
### Get latest job status
|
|
158
|
+
|
|
159
|
+
```sql
|
|
160
|
+
SELECT
|
|
161
|
+
j.job_id, j.job_name, j.load_type,
|
|
162
|
+
r.run_status, r.started_at, r.finished_at,
|
|
163
|
+
r.rows_written, r.error_message
|
|
164
|
+
FROM etl_jobs j
|
|
165
|
+
LEFT JOIN (
|
|
166
|
+
SELECT * FROM etl_job_runs r1
|
|
167
|
+
WHERE started_at = (
|
|
168
|
+
SELECT MAX(started_at) FROM etl_job_runs r2
|
|
169
|
+
WHERE r2.job_id = r1.job_id
|
|
170
|
+
)
|
|
171
|
+
) r ON j.job_id = r.job_id
|
|
172
|
+
WHERE j.is_active = TRUE;
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Jobs failed in last 24 hours
|
|
176
|
+
|
|
177
|
+
```sql
|
|
178
|
+
SELECT j.job_name, r.run_id, r.started_at, r.error_message
|
|
179
|
+
FROM etl_job_runs r
|
|
180
|
+
JOIN etl_jobs j ON r.job_id = j.job_id
|
|
181
|
+
WHERE r.run_status = 'failed'
|
|
182
|
+
AND r.started_at >= NOW() - INTERVAL 24 HOUR;
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 5. Best Practices
|
|
188
|
+
|
|
189
|
+
### Watermark management
|
|
190
|
+
- Commit watermark **AFTER** data has been successfully loaded
|
|
191
|
+
- Use transactions to ensure consistency
|
|
192
|
+
- Store both watermark_start and watermark_end for each run
|
|
193
|
+
|
|
194
|
+
### Error handling
|
|
195
|
+
- Log enough context for debugging: source_record_id, source_data, error_stack
|
|
196
|
+
- Classify errors: retryable vs non-retryable
|
|
197
|
+
- Set up alerts for critical failures
|
|
198
|
+
|
|
199
|
+
### Retention policy
|
|
200
|
+
- Keep detailed logs: 30-90 days
|
|
201
|
+
- Keep summary: 1-2 years
|
|
202
|
+
- Keep watermarks: indefinitely
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Checklist
|
|
207
|
+
|
|
208
|
+
- [ ] Source tables have `updated_at` with index
|
|
209
|
+
- [ ] ETL control tables created
|
|
210
|
+
- [ ] Watermark committed AFTER successful load
|
|
211
|
+
- [ ] Sufficient logging for debugging: rows, timestamps, errors
|
|
212
|
+
- [ ] Retention policy for ETL logs (30-90 days)
|
|
213
|
+
- [ ] Alerts for failed jobs
|