@caddis/cli 0.1.0 → 0.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.md +29 -16
- package/bundles/antigravity-plugin-extras/plugin.json +5 -0
- package/bundles/antigravity-plugin-extras/skills/_registry.md +154 -0
- package/bundles/antigravity-plugin-extras/skills/agent-md-refactor/SKILL.md +356 -0
- package/bundles/antigravity-plugin-extras/skills/agent-orchestration/SKILL.md +517 -0
- package/bundles/antigravity-plugin-extras/skills/algorithmic-art/SKILL.md +293 -0
- package/bundles/antigravity-plugin-extras/skills/anchor-review/SKILL.md +135 -0
- package/bundles/antigravity-plugin-extras/skills/api-client-patterns/SKILL.md +367 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-design/SKILL.md +244 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-diagram/SKILL.md +156 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-document/SKILL.md +321 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/SKILL.md +74 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/bundles/antigravity-plugin-extras/skills/ascii-art/SKILL.md +144 -0
- package/bundles/antigravity-plugin-extras/skills/asking-questions/SKILL.md +81 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/SKILL.md +118 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/cross-service/credential-management.md +450 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/browser/README.md +363 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/code-interpreter/README.md +232 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/README.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deploy-template.sh +117 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deployment-strategies.md +416 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/troubleshooting-guide.md +384 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/validate-deployment.sh +186 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/identity/README.md +186 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/memory/README.md +253 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/observability/README.md +517 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/runtime/README.md +215 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/SKILL.md +279 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/references/cdk-patterns.md +431 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/scripts/validate-stack.sh +240 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/SKILL.md +318 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/cloudwatch-alarms.md +567 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/operations-patterns.md +394 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/SKILL.md +758 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/deployment-best-practices.md +830 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/eda-patterns.md +1002 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/observability-best-practices.md +770 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/performance-optimization.md +671 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/security-best-practices.md +625 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/serverless-patterns.md +838 -0
- package/bundles/antigravity-plugin-extras/skills/backend-to-frontend-handoff/SKILL.md +139 -0
- package/bundles/antigravity-plugin-extras/skills/banner-design/SKILL.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/brand-design/SKILL.md +298 -0
- package/bundles/antigravity-plugin-extras/skills/brand-guidelines/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/brand-guidelines/SKILL.md +118 -0
- package/bundles/antigravity-plugin-extras/skills/brand-voice/SKILL.md +93 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/SKILL.md +392 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/agent-patterns.md +461 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/examples.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/state-patterns.md +360 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/troubleshooting.md +362 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/SKILL.md +266 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/examples.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +338 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +317 -0
- package/bundles/antigravity-plugin-extras/skills/caching-patterns/SKILL.md +385 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/SKILL.md +91 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/changelog-generator/SKILL.md +105 -0
- package/bundles/antigravity-plugin-extras/skills/code-explainer/SKILL.md +91 -0
- package/bundles/antigravity-plugin-extras/skills/competitive-ads-extractor/SKILL.md +294 -0
- package/bundles/antigravity-plugin-extras/skills/component-testing/SKILL.md +310 -0
- package/bundles/antigravity-plugin-extras/skills/content-research-writer/SKILL.md +539 -0
- package/bundles/antigravity-plugin-extras/skills/cross-review/SKILL.md +51 -0
- package/bundles/antigravity-plugin-extras/skills/data-analysis/SKILL.md +111 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/README.md +248 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/SKILL.md +203 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/adapter.py.template +44 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/api-router.py.template +43 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/contract-test.py.template +384 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/display-dto.py.template +39 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-service.ts.template +46 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-types.ts.template +38 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/ingestion-model.py.template +42 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/mapping-doc.md.template +46 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/normalizer.py.template +48 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_requirements.md +36 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_ui_demand.md +35 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/reconcile_mapping.md +66 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/query-catalog.md.template +62 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/consumer-driven-contracts.md +131 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/drift-check-catalog.md +305 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/layer-responsibilities.md +333 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_connections.py +170 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_sources.py +161 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/drift_check.py +171 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/extract_schema.py +1363 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_gap_report.py +81 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_mapping_doc.py +294 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/ts_dto_compare.py +214 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/validate_lineage.py +51 -0
- package/bundles/antigravity-plugin-extras/skills/data-loader/SKILL.md +753 -0
- package/bundles/antigravity-plugin-extras/skills/data-validation/SKILL.md +220 -0
- package/bundles/antigravity-plugin-extras/skills/db-testing/SKILL.md +117 -0
- package/bundles/antigravity-plugin-extras/skills/deploy-local/SKILL.md +259 -0
- package/bundles/antigravity-plugin-extras/skills/design-md/SKILL.md +167 -0
- package/bundles/antigravity-plugin-extras/skills/design-system-tokens/SKILL.md +240 -0
- package/bundles/antigravity-plugin-extras/skills/design-system-tokens/references/DESIGN-SYSTEM-TEMPLATE.md +577 -0
- package/bundles/antigravity-plugin-extras/skills/developer-growth-analysis/SKILL.md +323 -0
- package/bundles/antigravity-plugin-extras/skills/doc-coauthoring/SKILL.md +378 -0
- package/bundles/antigravity-plugin-extras/skills/documentation-analyzer/SKILL.md +78 -0
- package/bundles/antigravity-plugin-extras/skills/domain-name-brainstormer/SKILL.md +213 -0
- package/bundles/antigravity-plugin-extras/skills/enterprise-dashboard-aesthetic-system/SKILL.md +120 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/SKILL.md +193 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/element-types.md +497 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/excalidraw-schema.md +356 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/reliable-diagrams.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/README.md +60 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-arrow.py +354 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-icon-to-diagram.py +412 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/split-excalidraw-library.py +183 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/business-flow-swimlane-template.excalidraw +334 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/class-diagram-template.excalidraw +558 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/data-flow-diagram-template.excalidraw +279 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/er-diagram-template.excalidraw +662 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/flowchart-template.excalidraw +179 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/mindmap-template.excalidraw +244 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/relationship-template.excalidraw +145 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/reliable-flowchart.excalidraw +1 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/sequence-diagram-template.excalidraw +509 -0
- package/bundles/antigravity-plugin-extras/skills/file-organizer/SKILL.md +434 -0
- package/bundles/antigravity-plugin-extras/skills/game-changing-features/README.md +221 -0
- package/bundles/antigravity-plugin-extras/skills/game-changing-features/SKILL.md +265 -0
- package/bundles/antigravity-plugin-extras/skills/github-issues/SKILL.md +359 -0
- package/bundles/antigravity-plugin-extras/skills/github-issues/references/templates.md +90 -0
- package/bundles/antigravity-plugin-extras/skills/golden-nuggets/SKILL.md +192 -0
- package/bundles/antigravity-plugin-extras/skills/humanizer/SKILL.md +194 -0
- package/bundles/antigravity-plugin-extras/skills/image-enhancer/SKILL.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/intent-writer/SKILL.md +201 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/SKILL.md +124 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/3p-updates.md +47 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/company-newsletter.md +65 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/faq-answers.md +30 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/general-comms.md +16 -0
- package/bundles/antigravity-plugin-extras/skills/invoice-organizer/SKILL.md +447 -0
- package/bundles/antigravity-plugin-extras/skills/jira-issues/SKILL.md +182 -0
- package/bundles/antigravity-plugin-extras/skills/job-application/SKILL.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/lead-research-assistant/SKILL.md +200 -0
- package/bundles/antigravity-plugin-extras/skills/llm-application-dev/SKILL.md +217 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/SKILL.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/evaluation.md +602 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/mcp_best_practices.md +915 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/node_mcp_server.md +916 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/python_mcp_server.md +752 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/connections.py +151 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/bundles/antigravity-plugin-extras/skills/meeting-insights-analyzer/SKILL.md +328 -0
- package/bundles/antigravity-plugin-extras/skills/monorepo/SKILL.md +267 -0
- package/bundles/antigravity-plugin-extras/skills/naming-analyzer/SKILL.md +376 -0
- package/bundles/antigravity-plugin-extras/skills/nextjs-app-router/SKILL.md +271 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/AUTHENTICATION.md +154 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/SKILL.md +270 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/api_reference.md +309 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/troubleshooting.md +376 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/usage_patterns.md +338 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/__init__.py +81 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/ask_question.py +256 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/auth_manager.py +358 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_session.py +255 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_utils.py +107 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/cleanup_manager.py +302 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/config.py +44 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/notebook_manager.py +410 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/run.py +102 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/setup_environment.py +204 -0
- package/bundles/antigravity-plugin-extras/skills/observability/SKILL.md +371 -0
- package/bundles/antigravity-plugin-extras/skills/onboard-project/SKILL.md +192 -0
- package/bundles/antigravity-plugin-extras/skills/performance-testing/SKILL.md +226 -0
- package/bundles/antigravity-plugin-extras/skills/pipeline-state/SKILL.md +208 -0
- package/bundles/antigravity-plugin-extras/skills/plantuml/SKILL.md +228 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/SKILL.md +142 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/linear.app.md +196 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/stripe.md +214 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/vercel.md +218 -0
- package/bundles/antigravity-plugin-extras/skills/prd-to-code/SKILL.md +127 -0
- package/bundles/antigravity-plugin-extras/skills/raffle-winner-picker/SKILL.md +159 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/README.md +320 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/SKILL.md +53 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/alternatives.md +258 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/anti-patterns.md +290 -0
- package/bundles/antigravity-plugin-extras/skills/receiving-code-review/SKILL.md +213 -0
- package/bundles/antigravity-plugin-extras/skills/relay/SKILL.md +246 -0
- package/bundles/antigravity-plugin-extras/skills/requesting-code-review/SKILL.md +105 -0
- package/bundles/antigravity-plugin-extras/skills/requesting-code-review/code-reviewer.md +146 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/SKILL.md +350 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/pwa-checklist.md +226 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/touch-and-interaction.md +265 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/transformation-catalogue.md +326 -0
- package/bundles/antigravity-plugin-extras/skills/schema-migration/SKILL.md +275 -0
- package/bundles/antigravity-plugin-extras/skills/setup-project-ai/SKILL.md +120 -0
- package/bundles/antigravity-plugin-extras/skills/shadcn-radix/SKILL.md +330 -0
- package/bundles/antigravity-plugin-extras/skills/sketch/SKILL.md +104 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/SKILL.md +646 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/color_palettes.py +302 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/easing.py +230 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/frame_composer.py +469 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/gif_builder.py +246 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/typography.py +357 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/validators.py +264 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/visual_effects.py +494 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/requirements.txt +4 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/bounce.py +106 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/explode.py +331 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/fade.py +329 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/flip.py +291 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/morph.py +329 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/move.py +293 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/pulse.py +268 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/shake.py +127 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/slide.py +291 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/spin.py +269 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/wiggle.py +300 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/zoom.py +312 -0
- package/bundles/antigravity-plugin-extras/skills/slides/SKILL.md +38 -0
- package/bundles/antigravity-plugin-extras/skills/state-tracking/SKILL.md +131 -0
- package/bundles/antigravity-plugin-extras/skills/streamlit-dev/SKILL.md +268 -0
- package/bundles/antigravity-plugin-extras/skills/svg-create/SKILL.md +251 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/SKILL.md +59 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/theme-showcase.pdf +0 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/desert-rose.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/golden-hour.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/SKILL.md +320 -0
- package/bundles/antigravity-plugin-extras/skills/ui-testing/SKILL.md +660 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/SKILL.md +660 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/_sync_all.py +414 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/app-interface.csv +31 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/charts.csv +26 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/colors.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/design.csv +1776 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/draft.csv +1779 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/google-fonts.csv +1924 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/icons.csv +106 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/landing.csv +35 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/products.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/react-performance.csv +45 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/styles.csv +85 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/typography.csv +74 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ui-reasoning.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ux-guidelines.csv +100 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/core.py +247 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/design_system.py +1067 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/search.py +114 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/SKILL.md +140 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/commands.md +252 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/graph-schema.md +116 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/pipeline.md +331 -0
- package/bundles/antigravity-plugin-extras/skills/update-readme/SKILL.md +74 -0
- package/bundles/antigravity-plugin-extras/skills/verification-loop/SKILL.md +209 -0
- package/bundles/antigravity-plugin-extras/skills/video-downloader/SKILL.md +107 -0
- package/bundles/antigravity-plugin-extras/skills/webapp-development/SKILL.md +288 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/SKILL.md +339 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/agents/agent-interface.md +175 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/html.md +384 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/nlp-keywords.md +127 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/palettes.md +149 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/python.md +249 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/react.md +427 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/shapes.md +135 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/stopwords.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/youtube-transcript/SKILL.md +416 -0
- package/bundles/manifest.json +2 -1
- package/dist/cli.js +166 -37
- package/package.json +1 -1
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: schema-migration
|
|
3
|
+
context: fork
|
|
4
|
+
description: Migrate an application's data access layer from one database schema to another. Use when tables are renamed, consolidated, split, or columns change — and the app's queries, mappings, and abstraction layer must be updated without data loss. Read-only against the database.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Schema Migration Skill
|
|
8
|
+
|
|
9
|
+
Systematically migrate an application from a legacy database schema to a new schema with zero data loss and full functional parity.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Tables are being renamed, consolidated, or split
|
|
14
|
+
- Columns are renamed, retyped, or moved between tables
|
|
15
|
+
- The DB team has restructured tables and the app must follow
|
|
16
|
+
- Data previously in file storage has been migrated into database tables
|
|
17
|
+
- Query files, column mappings, or config need updating after a schema change
|
|
18
|
+
- User says "migrate to new tables", "schema changed", or "tables restructured"
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Constraints (Read Before Starting)
|
|
23
|
+
|
|
24
|
+
1. **Read-Only** — Never execute DDL or DML (`CREATE`, `ALTER`, `INSERT`, `UPDATE`, `DELETE`) against the database. All analysis is SELECT-only.
|
|
25
|
+
2. **No SQL Aliases** — Proposed queries must use direct `Table.Column` notation. Aliases obscure the mapping and make future changes harder to trace.
|
|
26
|
+
3. **No Assumptions** — Every column mapping must be verified against the actual schema DDL. If a mapping is ambiguous or a source column has no clear target, flag it as a **GAP** rather than guessing.
|
|
27
|
+
4. **Scratchpad Protocol** — If context becomes large, save intermediate findings to `.github/plans/temp_migration_scratchpad.md` to preserve state across reasoning steps.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Phase 1: Schema Forensics
|
|
32
|
+
|
|
33
|
+
### Objective
|
|
34
|
+
Build a complete picture of old and new schemas. Produce the **Schema Manifest** — the single source of truth for the migration.
|
|
35
|
+
|
|
36
|
+
### Actions
|
|
37
|
+
|
|
38
|
+
1. **Collect Legacy Schema DDL**
|
|
39
|
+
- Extract `CREATE TABLE` statements for all legacy tables (from schema files, INFORMATION_SCHEMA, or DDL scripts)
|
|
40
|
+
- Note all columns, data types, nullability, defaults, and foreign keys
|
|
41
|
+
- Document the table-to-variable mapping (e.g., `.env` entries, config files)
|
|
42
|
+
|
|
43
|
+
2. **Collect Target Schema DDL**
|
|
44
|
+
- Extract `CREATE TABLE` statements for all new/consolidated tables
|
|
45
|
+
- Note structural differences: merged tables, renamed columns, new columns, removed columns, type changes
|
|
46
|
+
|
|
47
|
+
3. **Audit the Abstraction Layer**
|
|
48
|
+
- Read the app's current mapping files (e.g., `column_mappings.yaml`, `.env`, config modules)
|
|
49
|
+
- Read the current query files (e.g., `queries.yaml`, `.sql` files)
|
|
50
|
+
- Identify every table and column the app references
|
|
51
|
+
|
|
52
|
+
4. **Produce the Mapping Manifest**
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
## Schema Mapping Manifest
|
|
56
|
+
|
|
57
|
+
### Table Mapping
|
|
58
|
+
| Legacy Table | Target Table | Notes |
|
|
59
|
+
|-------------|-------------|-------|
|
|
60
|
+
| OldTableA | NewTable1 | Merged with OldTableB |
|
|
61
|
+
|
|
62
|
+
### Column Mapping
|
|
63
|
+
| Legacy Table | Legacy Column | Type | Target Table | Target Column | Type | Transform |
|
|
64
|
+
|-------------|--------------|------|-------------|--------------|------|-----------|
|
|
65
|
+
| OldTableA | user_name | NVARCHAR(100) | NewTable1 | UserFullName | NVARCHAR(200) | Direct |
|
|
66
|
+
| OldTableA | status_code | INT | NewTable1 | Status | VARCHAR(20) | Map: 1='Active', 2='Inactive' |
|
|
67
|
+
|
|
68
|
+
### Gaps (Unmapped)
|
|
69
|
+
| Source | Column | Issue |
|
|
70
|
+
|--------|--------|-------|
|
|
71
|
+
| OldTableC | legacy_flag | No equivalent in target schema |
|
|
72
|
+
| File: results/*.json | summary_json | Verify if present in CallTranscript table |
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Output**: Schema Mapping Manifest (table in the migration report)
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Phase 2: Query Translation
|
|
80
|
+
|
|
81
|
+
### Objective
|
|
82
|
+
Rewrite every application query against the new schema. No aliases — direct `Table.Column` references only.
|
|
83
|
+
|
|
84
|
+
### Actions
|
|
85
|
+
|
|
86
|
+
1. **Inventory Current Queries**
|
|
87
|
+
- List every query from query files, repository classes, and inline SQL
|
|
88
|
+
- Tag each query with its page/feature (e.g., homepage, search, analytics)
|
|
89
|
+
|
|
90
|
+
2. **Translate Each Query**
|
|
91
|
+
- Apply the column mapping from Phase 1
|
|
92
|
+
- Rewrite JOINs to reflect the new table structure
|
|
93
|
+
- Handle type conversions inline (e.g., `CAST`, `CASE WHEN`) where the new schema uses a different data type
|
|
94
|
+
|
|
95
|
+
3. **Document Translation**
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
### Query: [query_name]
|
|
99
|
+
|
|
100
|
+
**Old Query:**
|
|
101
|
+
```sql
|
|
102
|
+
SELECT col_a, col_b FROM OldTable WHERE col_c = ?
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**New Query:**
|
|
106
|
+
```sql
|
|
107
|
+
SELECT NewTable.ColA, NewTable.ColB FROM NewTable WHERE NewTable.ColC = ?
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Changes:**
|
|
111
|
+
- `OldTable` → `NewTable`
|
|
112
|
+
- `col_a` → `ColA` (renamed)
|
|
113
|
+
- No type changes
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
4. **File Architecture Decision** (if applicable)
|
|
117
|
+
- If the app uses a monolithic query file, evaluate splitting into per-page/per-feature files
|
|
118
|
+
- Compare `.yaml` vs `.sql` for query storage:
|
|
119
|
+
|
|
120
|
+
| Format | Pros | Cons |
|
|
121
|
+
|--------|------|------|
|
|
122
|
+
| `.yaml` | Structured metadata (tags, descriptions), easy Python parsing | No SQL syntax highlighting, IDE support limited |
|
|
123
|
+
| `.sql` | Full IDE support, syntax checking, execution in DB tools | Needs a loader; metadata requires naming conventions or comments |
|
|
124
|
+
|
|
125
|
+
- Recommend based on the project's existing patterns and tooling
|
|
126
|
+
|
|
127
|
+
**Output**: Translated Query Library + File Architecture Recommendation
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Phase 3: Parity Testing
|
|
132
|
+
|
|
133
|
+
### Objective
|
|
134
|
+
Prove that the new queries return the same data as the old queries. Evidence-based — not theoretical.
|
|
135
|
+
|
|
136
|
+
### Actions
|
|
137
|
+
|
|
138
|
+
1. **Run Old Queries** — Execute each legacy query and capture:
|
|
139
|
+
- Row count
|
|
140
|
+
- Column names and types
|
|
141
|
+
- Sample rows (5–10 representative rows)
|
|
142
|
+
- Aggregates where applicable (SUM, COUNT, DISTINCT)
|
|
143
|
+
|
|
144
|
+
2. **Run New Queries** — Execute each translated query against the new schema and capture the same metrics
|
|
145
|
+
|
|
146
|
+
3. **Compare Results**
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
### Parity Report: [query_name]
|
|
150
|
+
|
|
151
|
+
| Metric | Old Query | New Query | Match |
|
|
152
|
+
|--------|-----------|-----------|-------|
|
|
153
|
+
| Row count | 1,247 | 1,247 | ✅ |
|
|
154
|
+
| Columns | 8 | 8 | ✅ |
|
|
155
|
+
| Sample hash | abc123 | abc123 | ✅ |
|
|
156
|
+
|
|
157
|
+
**Data Type Check:**
|
|
158
|
+
| Column | Old Type | New Type | Compatible |
|
|
159
|
+
|--------|---------|---------|------------|
|
|
160
|
+
| created_at | DATETIME | DATETIMEOFFSET | ⚠️ App must handle offset |
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
4. **Flag Discrepancies**
|
|
164
|
+
- Row count mismatch → possible fan-out from JOINs or missing WHERE filters
|
|
165
|
+
- Type mismatch → document required CAST/conversion in the app layer
|
|
166
|
+
- NULL differences → document new nullable columns or default changes
|
|
167
|
+
- Missing data → flag as GAP with severity
|
|
168
|
+
|
|
169
|
+
**Output**: Parity Report per query (pass/fail with evidence)
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Phase 4: Abstraction Layer Update
|
|
174
|
+
|
|
175
|
+
### Objective
|
|
176
|
+
Update the application's configuration and mapping layer to reflect the new schema.
|
|
177
|
+
|
|
178
|
+
### Actions
|
|
179
|
+
|
|
180
|
+
1. **Update Column Mappings** — Produce the new version of `column_mappings.yaml` (or equivalent) reflecting target table/column names
|
|
181
|
+
|
|
182
|
+
2. **Update Environment Config** — Produce the new `.env` variable values (table names, schema names)
|
|
183
|
+
|
|
184
|
+
3. **Update Query Files** — Produce the new query file(s) using the translated queries from Phase 2
|
|
185
|
+
|
|
186
|
+
4. **Trace Application Code Impact**
|
|
187
|
+
- Identify every file that reads from the mapping/config layer
|
|
188
|
+
- List files that will need code changes (e.g., new column names in data models, display logic, filters)
|
|
189
|
+
- Categorize impact: `no change needed` | `config-only change` | `code change required`
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
### Impact Analysis
|
|
193
|
+
|
|
194
|
+
| File | Current Reference | Change Type | Details |
|
|
195
|
+
|------|------------------|-------------|---------|
|
|
196
|
+
| services/data_loader.py | OldTable via .env | Config-only | Update .env mapping |
|
|
197
|
+
| pages/home.py | col_a in display | Code change | Rename to ColA |
|
|
198
|
+
| models/complaint.py | OldTable.status_code (INT) | Code change | Now VARCHAR, update parsing |
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Output**: Updated config files + application impact matrix
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Phase 5: Migration Report
|
|
206
|
+
|
|
207
|
+
### Objective
|
|
208
|
+
Produce a single, comprehensive document suitable for use as an **Implementation Plan**. This document must be complete enough that a developer can execute the migration with zero ambiguity.
|
|
209
|
+
|
|
210
|
+
### Report Structure
|
|
211
|
+
|
|
212
|
+
```markdown
|
|
213
|
+
# Schema Migration Report
|
|
214
|
+
|
|
215
|
+
## Executive Summary
|
|
216
|
+
- Source: [N] legacy tables → Target: [M] consolidated tables
|
|
217
|
+
- Total queries migrated: [count]
|
|
218
|
+
- Parity status: [all pass / N failures]
|
|
219
|
+
- Gaps identified: [count]
|
|
220
|
+
|
|
221
|
+
## 1. Schema Mapping Manifest
|
|
222
|
+
[From Phase 1]
|
|
223
|
+
|
|
224
|
+
## 2. Translated Query Library
|
|
225
|
+
[From Phase 2, grouped by page/feature]
|
|
226
|
+
|
|
227
|
+
## 3. Parity Test Results
|
|
228
|
+
[From Phase 3, pass/fail per query with evidence]
|
|
229
|
+
|
|
230
|
+
## 4. Abstraction Layer Changes
|
|
231
|
+
[From Phase 4 — updated YAML, .env, config diffs]
|
|
232
|
+
|
|
233
|
+
## 5. Application Impact Matrix
|
|
234
|
+
[From Phase 4 — file-by-file change list]
|
|
235
|
+
|
|
236
|
+
## 6. File Architecture Recommendation
|
|
237
|
+
[From Phase 2 — split strategy and format decision]
|
|
238
|
+
|
|
239
|
+
## 7. Edge-Case Registry
|
|
240
|
+
[Every risk identified during analysis]
|
|
241
|
+
|
|
242
|
+
| # | Risk | Severity | Mitigation |
|
|
243
|
+
|---|------|----------|------------|
|
|
244
|
+
| 1 | DATETIME → DATETIMEOFFSET | Medium | Add .replace(tzinfo=None) in Python |
|
|
245
|
+
| 2 | Nullable column X now NOT NULL | High | Add default value in query |
|
|
246
|
+
|
|
247
|
+
## 8. Migration Execution Checklist
|
|
248
|
+
- [ ] Column mappings updated
|
|
249
|
+
- [ ] Environment config updated
|
|
250
|
+
- [ ] Query files updated and tested
|
|
251
|
+
- [ ] Application code changes identified and assigned
|
|
252
|
+
- [ ] All parity tests passing
|
|
253
|
+
- [ ] Edge cases mitigated
|
|
254
|
+
- [ ] Rollback plan documented
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Output Location
|
|
258
|
+
Place the final report at the path specified by the user (default: `.github/plans/backlog/migration_report.md`).
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Checklist
|
|
263
|
+
|
|
264
|
+
- [ ] Legacy schema DDL collected (all tables)
|
|
265
|
+
- [ ] Target schema DDL collected (all tables)
|
|
266
|
+
- [ ] Every legacy column mapped to target (or flagged as GAP)
|
|
267
|
+
- [ ] Every app query translated to new schema
|
|
268
|
+
- [ ] Parity tests executed (old vs new query results compared)
|
|
269
|
+
- [ ] No row count mismatches unexplained
|
|
270
|
+
- [ ] Data type changes documented with app-level mitigation
|
|
271
|
+
- [ ] Abstraction layer (mappings, config) updated
|
|
272
|
+
- [ ] Application code impact traced (file-by-file)
|
|
273
|
+
- [ ] Edge-case registry complete (no known risks undocumented)
|
|
274
|
+
- [ ] File architecture decision documented (split strategy, format)
|
|
275
|
+
- [ ] Report placed at specified output path
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-project-ai
|
|
3
|
+
description: "Install or refresh the agent-agnostic development harness in a project — an AGENTS.md-canonical rules hierarchy (root + per-folder) with a CLAUDE.md @import shim beside each, lean subagents, slash commands, settings.json, and the frontend/python test env. USE THIS SKILL when setting up AI resources on a new or existing project, bootstrapping the rules files (AGENTS.md/CLAUDE.md), adding subagents/commands, or when the user says 'set up the harness', 'setup-project-ai', 'generate CLAUDE.md', 'onboard this project to Claude Code / Codex / agy', or runs /setup-project-ai. Combines a deterministic generator (scripts/setup_project_ai.py) for the must-not-vary mechanics with an AI enrichment step that curates project-specific AGENTS.md content."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# setup-project-ai
|
|
7
|
+
|
|
8
|
+
Produce a working, TDD-first, context-rot-resistant dev harness for any project. Two layers:
|
|
9
|
+
**deterministic** (a Python generator — mechanics that must not vary) + **generative** (you — curating
|
|
10
|
+
project-specific AGENTS.md content and verifying). Proven in the Phase 0 spike.
|
|
11
|
+
|
|
12
|
+
## When to use
|
|
13
|
+
- New project (e.g. freshly bootstrapped from a template) needs its Claude Code harness.
|
|
14
|
+
- Existing project moving to Claude Code / Codex.
|
|
15
|
+
- Refreshing the harness after the canonical templates improved (`--force`).
|
|
16
|
+
|
|
17
|
+
## What it produces
|
|
18
|
+
```
|
|
19
|
+
AGENTS.md canonical root rules (identity + harness loop + laws + pointers) — every agent reads it
|
|
20
|
+
CLAUDE.md root @AGENTS.md import shim + a small Claude-native block (subagents/skills/commands)
|
|
21
|
+
src/AGENTS.md backend conventions (when a Python/FastAPI backend is detected) + src/CLAUDE.md shim
|
|
22
|
+
frontend/AGENTS.md frontend conventions (when React/Vite is detected) + frontend/CLAUDE.md shim
|
|
23
|
+
tests/AGENTS.md test/TDD conventions (when pytest/tests are detected) + tests/CLAUDE.md shim
|
|
24
|
+
.claude/agents/* lean subagents: tester, code-reviewer, preflight
|
|
25
|
+
.claude/commands/* feature-plan, tdd, prd, handoff, setup-project-ai
|
|
26
|
+
.claude/settings.json stack-tuned permissions (pipeline MCP off by default)
|
|
27
|
+
```
|
|
28
|
+
Each `CLAUDE.md` is a thin `@AGENTS.md` import shim — Claude Code inlines the sibling AGENTS.md at load,
|
|
29
|
+
so the rules are single-sourced. Codex and Antigravity (`agy`) read the `AGENTS.md` files directly.
|
|
30
|
+
|
|
31
|
+
## Procedure
|
|
32
|
+
|
|
33
|
+
### Step 1 — Run the deterministic generator
|
|
34
|
+
**Resolve `<harness-root>` first** — the generator ships in two places and finds its own templates:
|
|
35
|
+
- **Installed as the caddis plugin (the common case):** `<harness-root>` = `${CLAUDE_PLUGIN_ROOT}`,
|
|
36
|
+
so the script is `${CLAUDE_PLUGIN_ROOT}/scripts/setup_project_ai.py`. Templates (`claude-md/`,
|
|
37
|
+
`settings.template.json`, `stack-map.json`) sit at the plugin root and are auto-located.
|
|
38
|
+
- **harness dev checkout:** `<harness-root>` = the caddis repo root; the script is
|
|
39
|
+
`scripts/setup_project_ai.py` with templates in the sibling `claude-harness/`.
|
|
40
|
+
|
|
41
|
+
Run a dry-run first to see stack detection and unresolved placeholders:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
python <harness-root>/scripts/setup_project_ai.py <target-project-dir> \
|
|
45
|
+
--name "<Display Name>" --desc "<one-line description>" --dry-run
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Read the output. It reports the detected stack, the AGENTS.md rules hierarchy (+ CLAUDE.md shims) it will write, the subagents/
|
|
49
|
+
commands it will deploy, and — critically — **unresolved `{{PLACEHOLDER}}` tokens** grouped by file
|
|
50
|
+
(Phase 0 friction #1: these break runtime if left, e.g. ports in `settings.py`/`vite.config.ts`).
|
|
51
|
+
|
|
52
|
+
### Step 2 — Run for real (and substitute only for fresh template copies)
|
|
53
|
+
**Existing project (the common case):** placeholder substitution is OFF by default — the generator
|
|
54
|
+
reports `{{TOKENS}}` it finds (informational; usually just example text in docs) but **never rewrites
|
|
55
|
+
repo files**. Just run without `--dry-run`:
|
|
56
|
+
```
|
|
57
|
+
python <harness-root>/scripts/setup_project_ai.py <target-project-dir> \
|
|
58
|
+
--name "<Display Name>" --desc "<one-line description>"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Fresh-from-template project only:** the copy has real `{{API_PORT_DEV}}` etc. that break runtime
|
|
62
|
+
(Phase 0 friction #1). Resolve them from the platform port registry / `project-config.md` and pass
|
|
63
|
+
`--substitute` plus each `--set`:
|
|
64
|
+
```
|
|
65
|
+
python <harness-root>/scripts/setup_project_ai.py <target-project-dir> \
|
|
66
|
+
--name "<Display Name>" --desc "<one-line description>" --substitute \
|
|
67
|
+
--set PROJECT_NAME=<slug> --set API_PORT_DEV=<n> --set FE_PORT_DEV=<n> --set PROJECT_SHORT=<short> ...
|
|
68
|
+
```
|
|
69
|
+
> ⚠ **Never pass `--substitute` on an existing repo** — it would rewrite docs/code containing `{{...}}`
|
|
70
|
+
> as literal examples (dogfood learning from a live incident on an existing project). Substitution is a
|
|
71
|
+
> template-bootstrap step.
|
|
72
|
+
|
|
73
|
+
Add `--force` only when intentionally overwriting an existing CLAUDE.md/AGENTS.md/harness file.
|
|
74
|
+
Confirm zero runtime placeholders remain: the runtime files (`settings.py`, `vite.config.ts`,
|
|
75
|
+
`main.py`) must compile / parse. Quick check: `python -m py_compile src/config/settings.py`.
|
|
76
|
+
|
|
77
|
+
### Step 3 — Enrich the AGENTS.md hierarchy (the AI step — this is the value-add)
|
|
78
|
+
The generator writes **generic** fragments and pre-extracts real facts into
|
|
79
|
+
`.caddis/PROJECT-FACTS.md` (run/test/build commands, env-var names, CI/deploy workflows, entry
|
|
80
|
+
points). **Start there** — fold each fact into the *right* `AGENTS.md` (root vs `src/` vs
|
|
81
|
+
`frontend/` vs `tests/`) — the **canonical** rules file, never the `CLAUDE.md` shim — then delete
|
|
82
|
+
`PROJECT-FACTS.md`. Then read `STACK.md` (if present), `project-config.md`, and skim the actual code to
|
|
83
|
+
add the project-specific truth the generic fragments can't know:
|
|
84
|
+
- Real shared-library import paths, the actual data-access layer, domain terms/glossary.
|
|
85
|
+
- The project's **actual** run/test/build commands (from `package.json`/`pyproject.toml`/scripts).
|
|
86
|
+
- Concrete patterns to mirror (name a real exemplar file: "follow `src/services/<x>_store.py`").
|
|
87
|
+
- Anything load-bearing and non-obvious (auth model, env files, DB topology).
|
|
88
|
+
Keep the root **lean** — push depth into the folder `AGENTS.md` files and into skills. Do not duplicate
|
|
89
|
+
the generic laws/harness (already in the root AGENTS.md). The goal is the best-of-best AGENTS.md per
|
|
90
|
+
repo. Leave every `CLAUDE.md` as the generated shim — enriching it would fork the rules for Claude only.
|
|
91
|
+
|
|
92
|
+
### Step 4 — Ensure the test environment (Phase 0 frictions #3/#4)
|
|
93
|
+
- **Python:** if `.venv` missing, create it and install dev deps:
|
|
94
|
+
`python -m venv .venv` then `.venv/Scripts/pip install -e .[dev]` (Windows) / `.venv/bin/pip ...`.
|
|
95
|
+
- **Frontend:** if the generator scaffolded the Vitest/jsdom harness, run `npm install` in the frontend
|
|
96
|
+
so `jsdom` + `@testing-library/jest-dom` actually install, and confirm `vite.config` has a `test`
|
|
97
|
+
block (the generator emits the exact snippet to add if missing).
|
|
98
|
+
|
|
99
|
+
### Step 5 — Smoke-test the harness (verify, don't assume — Law 4)
|
|
100
|
+
Prove the harness is live before declaring done:
|
|
101
|
+
- Run the existing suite (`pytest -q`, `npm test`) — or write one trivial passing test — and show output.
|
|
102
|
+
- Optionally dispatch the `preflight` subagent on any existing plan to confirm subagent dispatch works.
|
|
103
|
+
|
|
104
|
+
### Step 6 — Report + relay
|
|
105
|
+
Summarize what was created, the detected stack, any deferred placeholders, and the smoke-test result.
|
|
106
|
+
If this is a multi-session effort, run `/handoff` to write `relay.md`.
|
|
107
|
+
|
|
108
|
+
## Notes
|
|
109
|
+
- **Idempotent.** Re-running preserves existing AGENTS.md/CLAUDE.md/settings unless `--force`; settings
|
|
110
|
+
allow-lists are always merged (union). Safe to re-run.
|
|
111
|
+
- **Pipeline is off by default.** The lightweight loop (plan file + relay) is the default. Enable the
|
|
112
|
+
optional MCP pipeline power-mode only for large multi-week features (add `mcpServers.junai` +
|
|
113
|
+
`.github/pipeline-state.json`).
|
|
114
|
+
- **Agent-agnostic.** `AGENTS.md` is the canonical rules file; `CLAUDE.md` is a thin `@AGENTS.md` import
|
|
115
|
+
shim (Claude Code inlines it). subagents/commands/skills are plain markdown Codex/agy can also read.
|
|
116
|
+
The same harness serves Claude Code, Codex CLI, and Antigravity (`agy`).
|
|
117
|
+
- **Packaging:** the generator ships **inside the caddis plugin** (`scripts/setup_project_ai.py`
|
|
118
|
+
with the templates at the plugin root), so `/setup-project-ai` runs from a plain plugin install with
|
|
119
|
+
no harness checkout. The same script also runs from the harness repo for harness development.
|
|
120
|
+
Resolve its path via `<harness-root>` as described in Step 1.
|