@mytechtoday/augment-extensions 0.1.2 → 0.4.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 +614 -39
- package/augment-extensions/coding-standards/bash/README.md +196 -0
- package/augment-extensions/coding-standards/bash/module.json +163 -0
- package/augment-extensions/coding-standards/bash/rules/naming-conventions.md +336 -0
- package/augment-extensions/coding-standards/bash/rules/universal-standards.md +289 -0
- package/augment-extensions/coding-standards/css/README.md +40 -0
- package/augment-extensions/coding-standards/css/examples/css-examples.css +550 -0
- package/augment-extensions/coding-standards/css/module.json +44 -0
- package/augment-extensions/coding-standards/css/rules/css-modern-features.md +448 -0
- package/augment-extensions/coding-standards/css/rules/css-standards.md +492 -0
- package/augment-extensions/coding-standards/html/README.md +40 -0
- package/augment-extensions/coding-standards/html/examples/html-examples.html +267 -0
- package/augment-extensions/coding-standards/html/examples/responsive-layout.html +505 -0
- package/augment-extensions/coding-standards/html/module.json +44 -0
- package/augment-extensions/coding-standards/html/rules/html-standards.md +349 -0
- package/augment-extensions/coding-standards/html-css-js/README.md +194 -0
- package/augment-extensions/coding-standards/html-css-js/examples/async-examples.js +487 -0
- package/augment-extensions/coding-standards/html-css-js/examples/css-examples.css +550 -0
- package/augment-extensions/coding-standards/html-css-js/examples/dom-examples.js +667 -0
- package/augment-extensions/coding-standards/html-css-js/examples/html-examples.html +267 -0
- package/augment-extensions/coding-standards/html-css-js/examples/javascript-examples.js +612 -0
- package/augment-extensions/coding-standards/html-css-js/examples/responsive-layout.html +505 -0
- package/augment-extensions/coding-standards/html-css-js/module.json +48 -0
- package/augment-extensions/coding-standards/html-css-js/rules/async-patterns.md +515 -0
- package/augment-extensions/coding-standards/html-css-js/rules/css-modern-features.md +448 -0
- package/augment-extensions/coding-standards/html-css-js/rules/css-standards.md +492 -0
- package/augment-extensions/coding-standards/html-css-js/rules/dom-manipulation.md +439 -0
- package/augment-extensions/coding-standards/html-css-js/rules/html-standards.md +349 -0
- package/augment-extensions/coding-standards/html-css-js/rules/javascript-standards.md +486 -0
- package/augment-extensions/coding-standards/html-css-js/rules/performance.md +463 -0
- package/augment-extensions/coding-standards/html-css-js/rules/tooling.md +543 -0
- package/augment-extensions/coding-standards/js/README.md +46 -0
- package/augment-extensions/coding-standards/js/examples/async-examples.js +487 -0
- package/augment-extensions/coding-standards/js/examples/dom-examples.js +667 -0
- package/augment-extensions/coding-standards/js/examples/javascript-examples.js +612 -0
- package/augment-extensions/coding-standards/js/module.json +49 -0
- package/augment-extensions/coding-standards/js/rules/async-patterns.md +515 -0
- package/augment-extensions/coding-standards/js/rules/dom-manipulation.md +439 -0
- package/augment-extensions/coding-standards/js/rules/javascript-standards.md +486 -0
- package/augment-extensions/coding-standards/js/rules/performance.md +463 -0
- package/augment-extensions/coding-standards/js/rules/tooling.md +543 -0
- package/augment-extensions/coding-standards/php/README.md +248 -0
- package/augment-extensions/coding-standards/php/examples/api-endpoint-example.php +204 -0
- package/augment-extensions/coding-standards/php/examples/cli-command-example.php +206 -0
- package/augment-extensions/coding-standards/php/examples/legacy-refactoring-example.php +234 -0
- package/augment-extensions/coding-standards/php/examples/web-application-example.php +211 -0
- package/augment-extensions/coding-standards/php/examples/woocommerce-extension-example.php +215 -0
- package/augment-extensions/coding-standards/php/examples/wordpress-plugin-example.php +189 -0
- package/augment-extensions/coding-standards/php/module.json +166 -0
- package/augment-extensions/coding-standards/php/rules/api-development.md +480 -0
- package/augment-extensions/coding-standards/php/rules/category-configuration.md +332 -0
- package/augment-extensions/coding-standards/php/rules/cli-tools.md +472 -0
- package/augment-extensions/coding-standards/php/rules/cms-integration.md +561 -0
- package/augment-extensions/coding-standards/php/rules/code-quality.md +402 -0
- package/augment-extensions/coding-standards/php/rules/documentation.md +425 -0
- package/augment-extensions/coding-standards/php/rules/ecommerce.md +627 -0
- package/augment-extensions/coding-standards/php/rules/error-handling.md +336 -0
- package/augment-extensions/coding-standards/php/rules/legacy-migration.md +677 -0
- package/augment-extensions/coding-standards/php/rules/naming-conventions.md +279 -0
- package/augment-extensions/coding-standards/php/rules/performance.md +392 -0
- package/augment-extensions/coding-standards/php/rules/psr-standards.md +186 -0
- package/augment-extensions/coding-standards/php/rules/security.md +358 -0
- package/augment-extensions/coding-standards/php/rules/testing.md +403 -0
- package/augment-extensions/coding-standards/php/rules/type-declarations.md +331 -0
- package/augment-extensions/coding-standards/php/rules/web-applications.md +426 -0
- package/augment-extensions/coding-standards/powershell/README.md +154 -0
- package/augment-extensions/coding-standards/powershell/examples/admin-example.ps1 +272 -0
- package/augment-extensions/coding-standards/powershell/examples/automation-example.ps1 +173 -0
- package/augment-extensions/coding-standards/powershell/examples/cloud-example.ps1 +243 -0
- package/augment-extensions/coding-standards/powershell/examples/cross-platform-example.ps1 +297 -0
- package/augment-extensions/coding-standards/powershell/examples/dsc-example.ps1 +224 -0
- package/augment-extensions/coding-standards/powershell/examples/legacy-migration-example.ps1 +340 -0
- package/augment-extensions/coding-standards/powershell/examples/module-example.psm1 +255 -0
- package/augment-extensions/coding-standards/powershell/module.json +165 -0
- package/augment-extensions/coding-standards/powershell/rules/administrative-tools.md +439 -0
- package/augment-extensions/coding-standards/powershell/rules/automation-scripts.md +240 -0
- package/augment-extensions/coding-standards/powershell/rules/cloud-orchestration.md +384 -0
- package/augment-extensions/coding-standards/powershell/rules/configuration-schema.md +383 -0
- package/augment-extensions/coding-standards/powershell/rules/cross-platform-scripts.md +482 -0
- package/augment-extensions/coding-standards/powershell/rules/dsc-configurations.md +296 -0
- package/augment-extensions/coding-standards/powershell/rules/error-handling.md +314 -0
- package/augment-extensions/coding-standards/powershell/rules/legacy-migrations.md +466 -0
- package/augment-extensions/coding-standards/powershell/rules/modules-functions.md +244 -0
- package/augment-extensions/coding-standards/powershell/rules/naming-conventions.md +266 -0
- package/augment-extensions/coding-standards/powershell/rules/performance-optimization.md +209 -0
- package/augment-extensions/coding-standards/powershell/rules/security-practices.md +314 -0
- package/augment-extensions/coding-standards/powershell/rules/testing-guidelines.md +268 -0
- package/augment-extensions/coding-standards/powershell/rules/universal-standards.md +197 -0
- package/augment-extensions/coding-standards/python/README.md +12 -8
- package/augment-extensions/coding-standards/python/examples/best-practices.py +373 -0
- package/augment-extensions/coding-standards/python/module.json +8 -4
- package/augment-extensions/coding-standards/python/rules/async-patterns.md +884 -0
- package/augment-extensions/coding-standards/python/rules/documentation.md +831 -0
- package/augment-extensions/coding-standards/python/rules/error-handling.md +855 -68
- package/augment-extensions/coding-standards/python/rules/testing.md +409 -0
- package/augment-extensions/coding-standards/python/rules/tooling.md +446 -0
- package/augment-extensions/coding-standards/python/rules/type-hints.md +115 -50
- package/augment-extensions/collections/html-css-js/README.md +82 -0
- package/augment-extensions/collections/html-css-js/collection.json +41 -0
- package/augment-extensions/domain-rules/database/README.md +161 -0
- package/augment-extensions/domain-rules/database/examples/flat-database-example.md +793 -0
- package/augment-extensions/domain-rules/database/examples/hybrid-database-example.md +1132 -0
- package/augment-extensions/domain-rules/database/examples/nosql-document-example.md +868 -0
- package/augment-extensions/domain-rules/database/examples/nosql-graph-example.md +805 -0
- package/augment-extensions/domain-rules/database/examples/relational-schema-example.md +621 -0
- package/augment-extensions/domain-rules/database/examples/vector-database-example.md +965 -0
- package/augment-extensions/domain-rules/database/module.json +28 -0
- package/augment-extensions/domain-rules/database/rules/flat-databases.md +624 -0
- package/augment-extensions/domain-rules/database/rules/nosql-databases.md +588 -0
- package/augment-extensions/domain-rules/database/rules/nosql-document-stores.md +856 -0
- package/augment-extensions/domain-rules/database/rules/nosql-graph-databases.md +778 -0
- package/augment-extensions/domain-rules/database/rules/nosql-key-value-stores.md +963 -0
- package/augment-extensions/domain-rules/database/rules/performance-optimization.md +1076 -0
- package/augment-extensions/domain-rules/database/rules/relational-databases.md +697 -0
- package/augment-extensions/domain-rules/database/rules/relational-indexing.md +671 -0
- package/augment-extensions/domain-rules/database/rules/relational-query-optimization.md +607 -0
- package/augment-extensions/domain-rules/database/rules/relational-schema-design.md +907 -0
- package/augment-extensions/domain-rules/database/rules/relational-transactions.md +783 -0
- package/augment-extensions/domain-rules/database/rules/security-standards.md +980 -0
- package/augment-extensions/domain-rules/database/rules/universal-best-practices.md +485 -0
- package/augment-extensions/domain-rules/database/rules/vector-databases.md +521 -0
- package/augment-extensions/domain-rules/database/rules/vector-embeddings.md +858 -0
- package/augment-extensions/domain-rules/database/rules/vector-indexing.md +934 -0
- package/augment-extensions/domain-rules/mcp/README.md +150 -0
- package/augment-extensions/domain-rules/mcp/examples/compressed-example.md +522 -0
- package/augment-extensions/domain-rules/mcp/examples/graph-augmented-example.md +520 -0
- package/augment-extensions/domain-rules/mcp/examples/hybrid-example.md +570 -0
- package/augment-extensions/domain-rules/mcp/examples/state-based-example.md +427 -0
- package/augment-extensions/domain-rules/mcp/examples/token-based-example.md +435 -0
- package/augment-extensions/domain-rules/mcp/examples/vector-based-example.md +502 -0
- package/augment-extensions/domain-rules/mcp/module.json +49 -0
- package/augment-extensions/domain-rules/mcp/rules/compressed-mcp.md +595 -0
- package/augment-extensions/domain-rules/mcp/rules/configuration.md +345 -0
- package/augment-extensions/domain-rules/mcp/rules/graph-augmented-mcp.md +687 -0
- package/augment-extensions/domain-rules/mcp/rules/hybrid-mcp.md +636 -0
- package/augment-extensions/domain-rules/mcp/rules/state-based-mcp.md +484 -0
- package/augment-extensions/domain-rules/mcp/rules/testing-validation.md +360 -0
- package/augment-extensions/domain-rules/mcp/rules/token-based-mcp.md +393 -0
- package/augment-extensions/domain-rules/mcp/rules/universal-rules.md +194 -0
- package/augment-extensions/domain-rules/mcp/rules/vector-based-mcp.md +625 -0
- package/augment-extensions/domain-rules/wordpress/README.md +163 -0
- package/augment-extensions/domain-rules/wordpress/module.json +32 -0
- package/augment-extensions/domain-rules/wordpress/rules/coding-standards.md +617 -0
- package/augment-extensions/domain-rules/wordpress/rules/directory-structure.md +270 -0
- package/augment-extensions/domain-rules/wordpress/rules/file-patterns.md +423 -0
- package/augment-extensions/domain-rules/wordpress/rules/gutenberg-blocks.md +493 -0
- package/augment-extensions/domain-rules/wordpress/rules/performance.md +568 -0
- package/augment-extensions/domain-rules/wordpress/rules/plugin-development.md +510 -0
- package/augment-extensions/domain-rules/wordpress/rules/project-detection.md +251 -0
- package/augment-extensions/domain-rules/wordpress/rules/rest-api.md +501 -0
- package/augment-extensions/domain-rules/wordpress/rules/security.md +564 -0
- package/augment-extensions/domain-rules/wordpress/rules/theme-development.md +388 -0
- package/augment-extensions/domain-rules/wordpress/rules/woocommerce.md +441 -0
- package/augment-extensions/domain-rules/wordpress-plugin/README.md +139 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/ajax-plugin.md +1599 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/custom-post-type-plugin.md +1727 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block-plugin.md +428 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block.md +422 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/mvc-plugin.md +1623 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/object-oriented-plugin.md +1343 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/rest-endpoint.md +734 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/settings-page-plugin.md +1350 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/simple-procedural-plugin.md +503 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/singleton-plugin.md +971 -0
- package/augment-extensions/domain-rules/wordpress-plugin/module.json +53 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/activation-hooks.md +770 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/admin-interface.md +874 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/ajax-handlers.md +629 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/asset-management.md +559 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/context-providers.md +709 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/cron-jobs.md +736 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/database-management.md +1057 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/documentation-standards.md +463 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/frontend-functionality.md +478 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/gutenberg-blocks.md +818 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/internationalization.md +416 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/migration.md +667 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/performance-optimization.md +878 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-architecture.md +693 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-structure.md +352 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/rest-api.md +818 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/scaffolding-workflow.md +624 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/security-best-practices.md +866 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/testing-patterns.md +1165 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/testing.md +414 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/vscode-integration.md +751 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/woocommerce-integration.md +949 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/wordpress-org-submission.md +458 -0
- package/augment-extensions/examples/gutenberg-block-plugin/README.md +101 -0
- package/augment-extensions/examples/gutenberg-block-plugin/examples/testimonial-block.md +428 -0
- package/augment-extensions/examples/gutenberg-block-plugin/module.json +40 -0
- package/augment-extensions/examples/rest-api-plugin/README.md +98 -0
- package/augment-extensions/examples/rest-api-plugin/examples/task-manager-api.md +1299 -0
- package/augment-extensions/examples/rest-api-plugin/module.json +40 -0
- package/augment-extensions/examples/woocommerce-extension/README.md +98 -0
- package/augment-extensions/examples/woocommerce-extension/examples/product-customizer.md +763 -0
- package/augment-extensions/examples/woocommerce-extension/module.json +40 -0
- package/augment-extensions/workflows/beads/module.json +4 -3
- package/augment-extensions/workflows/database/README.md +195 -0
- package/augment-extensions/workflows/database/ai-prompt-testing.md +295 -0
- package/augment-extensions/workflows/database/examples/migration-example.md +498 -0
- package/augment-extensions/workflows/database/examples/optimization-example.md +496 -0
- package/augment-extensions/workflows/database/examples/schema-design-example.md +444 -0
- package/augment-extensions/workflows/database/module.json +42 -0
- package/augment-extensions/workflows/database/rules/data-migration.md +249 -0
- package/augment-extensions/workflows/database/rules/documentation-standards.md +339 -0
- package/augment-extensions/workflows/database/rules/migration-workflow.md +352 -0
- package/augment-extensions/workflows/database/rules/optimization-workflow.md +435 -0
- package/augment-extensions/workflows/database/rules/schema-design-workflow.md +535 -0
- package/augment-extensions/workflows/database/rules/testing-patterns.md +305 -0
- package/augment-extensions/workflows/database/rules/workflow.md +458 -0
- package/augment-extensions/workflows/openspec/module.json +4 -3
- package/augment-extensions/workflows/wordpress-plugin/README.md +232 -0
- package/augment-extensions/workflows/wordpress-plugin/ai-prompts.md +839 -0
- package/augment-extensions/workflows/wordpress-plugin/bead-decomposition-patterns.md +854 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/complete-plugin-example.md +540 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/custom-post-type-example.md +1083 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/feature-addition-workflow.md +669 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/plugin-creation-workflow.md +597 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/secure-form-handler-example.md +925 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/security-audit-workflow.md +752 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/wordpress-org-submission-workflow.md +773 -0
- package/augment-extensions/workflows/wordpress-plugin/module.json +49 -0
- package/augment-extensions/workflows/wordpress-plugin/rules/best-practices.md +942 -0
- package/augment-extensions/workflows/wordpress-plugin/rules/development-workflow.md +702 -0
- package/augment-extensions/workflows/wordpress-plugin/rules/submission-workflow.md +728 -0
- package/augment-extensions/workflows/wordpress-plugin/rules/testing-workflow.md +775 -0
- package/augment-extensions/writing-standards/screenplay/README.md +171 -0
- package/augment-extensions/writing-standards/screenplay/examples/aaa-hollywood-scene.fountain +164 -0
- package/augment-extensions/writing-standards/screenplay/module.json +124 -0
- package/augment-extensions/writing-standards/screenplay/rules/universal-formatting.md +339 -0
- package/cli/MODULES.md +302 -0
- package/cli/dist/cli.js +142 -9
- package/cli/dist/cli.js.map +1 -1
- package/cli/dist/commands/catalog.d.ts +13 -0
- package/cli/dist/commands/catalog.d.ts.map +1 -0
- package/cli/dist/commands/catalog.js +104 -0
- package/cli/dist/commands/catalog.js.map +1 -0
- package/cli/dist/commands/gui.d.ts +6 -0
- package/cli/dist/commands/gui.d.ts.map +1 -0
- package/cli/dist/commands/gui.js +211 -0
- package/cli/dist/commands/gui.js.map +1 -0
- package/cli/dist/commands/init.d.ts.map +1 -1
- package/cli/dist/commands/init.js +12 -0
- package/cli/dist/commands/init.js.map +1 -1
- package/cli/dist/commands/install-rules.d.ts +14 -0
- package/cli/dist/commands/install-rules.d.ts.map +1 -0
- package/cli/dist/commands/install-rules.js +127 -0
- package/cli/dist/commands/install-rules.js.map +1 -0
- package/cli/dist/commands/link.d.ts.map +1 -1
- package/cli/dist/commands/link.js +9 -11
- package/cli/dist/commands/link.js.map +1 -1
- package/cli/dist/commands/list.d.ts.map +1 -1
- package/cli/dist/commands/list.js +11 -28
- package/cli/dist/commands/list.js.map +1 -1
- package/cli/dist/commands/mcp.d.ts +48 -0
- package/cli/dist/commands/mcp.d.ts.map +1 -0
- package/cli/dist/commands/mcp.js +229 -0
- package/cli/dist/commands/mcp.js.map +1 -0
- package/cli/dist/commands/self-remove.d.ts +7 -0
- package/cli/dist/commands/self-remove.d.ts.map +1 -0
- package/cli/dist/commands/self-remove.js +179 -0
- package/cli/dist/commands/self-remove.js.map +1 -0
- package/cli/dist/commands/show.d.ts.map +1 -1
- package/cli/dist/commands/show.js +42 -71
- package/cli/dist/commands/show.js.map +1 -1
- package/cli/dist/commands/skill.d.ts +67 -0
- package/cli/dist/commands/skill.d.ts.map +1 -0
- package/cli/dist/commands/skill.js +513 -0
- package/cli/dist/commands/skill.js.map +1 -0
- package/cli/dist/commands/unlink.d.ts +6 -0
- package/cli/dist/commands/unlink.d.ts.map +1 -0
- package/cli/dist/commands/unlink.js +115 -0
- package/cli/dist/commands/unlink.js.map +1 -0
- package/cli/dist/commands/validate.d.ts +6 -0
- package/cli/dist/commands/validate.d.ts.map +1 -0
- package/cli/dist/commands/validate.js +159 -0
- package/cli/dist/commands/validate.js.map +1 -0
- package/cli/dist/utils/catalog-sync.d.ts +22 -0
- package/cli/dist/utils/catalog-sync.d.ts.map +1 -0
- package/cli/dist/utils/catalog-sync.js +157 -0
- package/cli/dist/utils/catalog-sync.js.map +1 -0
- package/cli/dist/utils/character-count.d.ts +56 -0
- package/cli/dist/utils/character-count.d.ts.map +1 -0
- package/cli/dist/utils/character-count.js +190 -0
- package/cli/dist/utils/character-count.js.map +1 -0
- package/cli/dist/utils/documentation-validator.d.ts +18 -0
- package/cli/dist/utils/documentation-validator.d.ts.map +1 -0
- package/cli/dist/utils/documentation-validator.js +233 -0
- package/cli/dist/utils/documentation-validator.js.map +1 -0
- package/cli/dist/utils/install-rules.d.ts +32 -0
- package/cli/dist/utils/install-rules.d.ts.map +1 -0
- package/cli/dist/utils/install-rules.js +375 -0
- package/cli/dist/utils/install-rules.js.map +1 -0
- package/cli/dist/utils/mcp-integration.d.ts +70 -0
- package/cli/dist/utils/mcp-integration.d.ts.map +1 -0
- package/cli/dist/utils/mcp-integration.js +292 -0
- package/cli/dist/utils/mcp-integration.js.map +1 -0
- package/cli/dist/utils/module-system.d.ts +153 -0
- package/cli/dist/utils/module-system.d.ts.map +1 -0
- package/cli/dist/utils/module-system.js +528 -0
- package/cli/dist/utils/module-system.js.map +1 -0
- package/cli/dist/utils/modules-catalog.d.ts +33 -0
- package/cli/dist/utils/modules-catalog.d.ts.map +1 -0
- package/cli/dist/utils/modules-catalog.js +163 -0
- package/cli/dist/utils/modules-catalog.js.map +1 -0
- package/cli/dist/utils/rule-install-hooks.d.ts +19 -0
- package/cli/dist/utils/rule-install-hooks.d.ts.map +1 -0
- package/cli/dist/utils/rule-install-hooks.js +224 -0
- package/cli/dist/utils/rule-install-hooks.js.map +1 -0
- package/cli/dist/utils/skill-system.d.ts +95 -0
- package/cli/dist/utils/skill-system.d.ts.map +1 -0
- package/cli/dist/utils/skill-system.js +313 -0
- package/cli/dist/utils/skill-system.js.map +1 -0
- package/modules.md +534 -70
- package/package.json +12 -3
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
# Migration Workflow
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Provide structured guidance for safely planning, executing, and managing database migrations with minimal downtime and risk.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Core Principles
|
|
10
|
+
|
|
11
|
+
1. **Safety First**: Always have a tested rollback plan
|
|
12
|
+
2. **Zero Downtime**: Design migrations to run without service interruption
|
|
13
|
+
3. **Backward Compatibility**: Ensure old code works during migration
|
|
14
|
+
4. **Incremental Changes**: Break large migrations into smaller, safer steps
|
|
15
|
+
5. **Test Thoroughly**: Test migrations on production-like data volumes
|
|
16
|
+
6. **Monitor Closely**: Watch for issues during and after migration execution
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Migration Workflow
|
|
21
|
+
|
|
22
|
+
### Step 1: Plan the Migration
|
|
23
|
+
|
|
24
|
+
**Purpose**: Understand the change, assess impact, and plan execution strategy
|
|
25
|
+
|
|
26
|
+
**Questions to Answer**:
|
|
27
|
+
- What is changing? (schema, data, indexes, constraints)
|
|
28
|
+
- What is the impact? (downtime, performance, data loss risk)
|
|
29
|
+
- What is the rollback strategy?
|
|
30
|
+
- What are the dependencies? (code changes, other migrations)
|
|
31
|
+
- What is the timeline? (when to execute, estimated duration)
|
|
32
|
+
- What is the data volume? (affects execution time and strategy)
|
|
33
|
+
|
|
34
|
+
**Output**: Migration plan document with strategy and timeline
|
|
35
|
+
|
|
36
|
+
**AI Prompt Template**:
|
|
37
|
+
```
|
|
38
|
+
Plan a database migration for [describe change].
|
|
39
|
+
|
|
40
|
+
Current schema:
|
|
41
|
+
[paste current schema]
|
|
42
|
+
|
|
43
|
+
Desired schema:
|
|
44
|
+
[paste desired schema or describe changes]
|
|
45
|
+
|
|
46
|
+
Constraints:
|
|
47
|
+
- Zero downtime required: [yes/no]
|
|
48
|
+
- Backward compatibility needed: [yes/no]
|
|
49
|
+
- Data volume: [number of rows]
|
|
50
|
+
- Database: [type and version]
|
|
51
|
+
|
|
52
|
+
Please create a migration plan with:
|
|
53
|
+
1. Step-by-step migration strategy
|
|
54
|
+
2. Impact analysis
|
|
55
|
+
3. Rollback plan
|
|
56
|
+
4. Testing checklist
|
|
57
|
+
5. Estimated execution time
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Step 2: Create Migration Scripts
|
|
61
|
+
|
|
62
|
+
**Purpose**: Write executable migration scripts with rollback capability
|
|
63
|
+
|
|
64
|
+
**Up Migration** (apply changes):
|
|
65
|
+
```sql
|
|
66
|
+
-- Migration: Add email verification
|
|
67
|
+
-- Date: 2024-01-28
|
|
68
|
+
-- Author: AI Agent
|
|
69
|
+
-- Issue: bd-dbmod.32
|
|
70
|
+
--
|
|
71
|
+
-- Purpose: Add email_verified column to track email verification status
|
|
72
|
+
-- Breaking Changes: None (column is nullable with default value)
|
|
73
|
+
-- Rollback: Safe to rollback; column will be dropped
|
|
74
|
+
-- Estimated Execution Time: < 1 second (table has ~10k rows)
|
|
75
|
+
|
|
76
|
+
-- UP Migration
|
|
77
|
+
ALTER TABLE users
|
|
78
|
+
ADD COLUMN email_verified BOOLEAN DEFAULT FALSE;
|
|
79
|
+
|
|
80
|
+
CREATE INDEX idx_users_email_verified ON users(email_verified)
|
|
81
|
+
WHERE email_verified = FALSE;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Down Migration** (rollback):
|
|
85
|
+
```sql
|
|
86
|
+
-- DOWN Migration
|
|
87
|
+
DROP INDEX IF EXISTS idx_users_email_verified;
|
|
88
|
+
ALTER TABLE users DROP COLUMN email_verified;
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Best Practices**:
|
|
92
|
+
- Make scripts idempotent (safe to run multiple times)
|
|
93
|
+
- Add comprehensive comments
|
|
94
|
+
- Include rollback scripts
|
|
95
|
+
- Estimate execution time
|
|
96
|
+
- Use transactions where appropriate
|
|
97
|
+
|
|
98
|
+
**AI Prompt Template**:
|
|
99
|
+
```
|
|
100
|
+
Create migration scripts for [describe change].
|
|
101
|
+
|
|
102
|
+
Database: [PostgreSQL/MySQL/MongoDB/etc.]
|
|
103
|
+
Current schema: [paste schema]
|
|
104
|
+
Desired change: [describe change]
|
|
105
|
+
|
|
106
|
+
Requirements:
|
|
107
|
+
- Idempotent (safe to run multiple times)
|
|
108
|
+
- Include rollback script
|
|
109
|
+
- Add detailed comments
|
|
110
|
+
- Estimate execution time
|
|
111
|
+
- Use appropriate indexes
|
|
112
|
+
|
|
113
|
+
Please generate up and down migration scripts.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Step 3: Test the Migration
|
|
117
|
+
|
|
118
|
+
**Purpose**: Validate migration works correctly and safely
|
|
119
|
+
|
|
120
|
+
**Testing Checklist**:
|
|
121
|
+
- [ ] Test on local development database
|
|
122
|
+
- [ ] Test on staging with production-like data volume
|
|
123
|
+
- [ ] Test rollback script works correctly
|
|
124
|
+
- [ ] Verify data integrity after migration
|
|
125
|
+
- [ ] Check application still works during migration
|
|
126
|
+
- [ ] Measure actual execution time
|
|
127
|
+
- [ ] Test edge cases (NULL values, duplicates, etc.)
|
|
128
|
+
|
|
129
|
+
**Test Environments**:
|
|
130
|
+
1. **Local**: Quick validation of syntax and logic
|
|
131
|
+
2. **Staging**: Production-like data volume and configuration
|
|
132
|
+
3. **Canary**: Small subset of production (if available)
|
|
133
|
+
|
|
134
|
+
**Output**: Validated migration scripts ready for production
|
|
135
|
+
|
|
136
|
+
### Step 4: Execute the Migration
|
|
137
|
+
|
|
138
|
+
**Purpose**: Apply migration to production database safely
|
|
139
|
+
|
|
140
|
+
**Pre-Migration Checklist**:
|
|
141
|
+
- [ ] Backup database (full backup or snapshot)
|
|
142
|
+
- [ ] Verify rollback plan is tested
|
|
143
|
+
- [ ] Schedule maintenance window (if downtime needed)
|
|
144
|
+
- [ ] Notify stakeholders of migration
|
|
145
|
+
- [ ] Prepare monitoring dashboards
|
|
146
|
+
- [ ] Review execution plan one final time
|
|
147
|
+
|
|
148
|
+
**Execution Steps**:
|
|
149
|
+
1. Start monitoring (database metrics, application metrics, error logs)
|
|
150
|
+
2. Begin migration execution
|
|
151
|
+
3. Monitor progress (for long-running migrations)
|
|
152
|
+
4. Verify migration success (check schema, data, indexes)
|
|
153
|
+
5. Monitor application behavior
|
|
154
|
+
6. If issues detected: execute rollback plan immediately
|
|
155
|
+
7. If success: mark migration as complete
|
|
156
|
+
|
|
157
|
+
**Post-Migration**:
|
|
158
|
+
- Verify data integrity (row counts, checksums)
|
|
159
|
+
- Check application logs for errors
|
|
160
|
+
- Monitor performance metrics (query times, resource usage)
|
|
161
|
+
- Document any issues encountered
|
|
162
|
+
- Update migration status in tracking system
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Zero-Downtime Migration Strategies
|
|
167
|
+
|
|
168
|
+
### Expand-Contract Pattern
|
|
169
|
+
|
|
170
|
+
**Best for**: Schema changes that need backward compatibility
|
|
171
|
+
|
|
172
|
+
**Phase 1: Expand** (add new schema elements)
|
|
173
|
+
1. Add new columns/tables alongside old ones
|
|
174
|
+
2. Deploy code that writes to both old and new schema
|
|
175
|
+
3. Backfill data to new schema (in batches)
|
|
176
|
+
4. Verify data consistency
|
|
177
|
+
|
|
178
|
+
**Phase 2: Contract** (remove old schema elements)
|
|
179
|
+
1. Deploy code that reads from new schema only
|
|
180
|
+
2. Stop writing to old schema
|
|
181
|
+
3. Remove old columns/tables
|
|
182
|
+
4. Clean up migration code
|
|
183
|
+
|
|
184
|
+
**Example**: Renaming a column
|
|
185
|
+
- Expand: Add `email_address` column, write to both `email` and `email_address`
|
|
186
|
+
- Contract: Remove `email` column after all code uses `email_address`
|
|
187
|
+
|
|
188
|
+
### Online Schema Change Tools
|
|
189
|
+
|
|
190
|
+
**PostgreSQL**:
|
|
191
|
+
- `CREATE INDEX CONCURRENTLY` - Non-blocking index creation
|
|
192
|
+
- `pg_repack` - Online table reorganization
|
|
193
|
+
- `pgslice` - Partition management
|
|
194
|
+
|
|
195
|
+
**MySQL**:
|
|
196
|
+
- `pt-online-schema-change` (Percona Toolkit)
|
|
197
|
+
- `gh-ost` (GitHub's online schema migration)
|
|
198
|
+
- `ALTER TABLE ... ALGORITHM=INPLACE`
|
|
199
|
+
|
|
200
|
+
**MongoDB**:
|
|
201
|
+
- Built-in online schema changes
|
|
202
|
+
- Background index creation
|
|
203
|
+
|
|
204
|
+
### Batched Data Migrations
|
|
205
|
+
|
|
206
|
+
**Best for**: Large data updates or backfills
|
|
207
|
+
|
|
208
|
+
**Strategy**:
|
|
209
|
+
```sql
|
|
210
|
+
-- Process in batches to avoid long locks
|
|
211
|
+
DO $$
|
|
212
|
+
DECLARE
|
|
213
|
+
batch_size INT := 1000;
|
|
214
|
+
processed INT := 0;
|
|
215
|
+
BEGIN
|
|
216
|
+
LOOP
|
|
217
|
+
UPDATE users
|
|
218
|
+
SET email_verified = FALSE
|
|
219
|
+
WHERE email_verified IS NULL
|
|
220
|
+
AND id IN (
|
|
221
|
+
SELECT id FROM users
|
|
222
|
+
WHERE email_verified IS NULL
|
|
223
|
+
LIMIT batch_size
|
|
224
|
+
);
|
|
225
|
+
|
|
226
|
+
GET DIAGNOSTICS processed = ROW_COUNT;
|
|
227
|
+
EXIT WHEN processed = 0;
|
|
228
|
+
|
|
229
|
+
-- Small delay between batches
|
|
230
|
+
PERFORM pg_sleep(0.1);
|
|
231
|
+
END LOOP;
|
|
232
|
+
END $$;
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Common Migration Patterns
|
|
238
|
+
|
|
239
|
+
### Adding a Column
|
|
240
|
+
|
|
241
|
+
**Safe Pattern**:
|
|
242
|
+
```sql
|
|
243
|
+
-- 1. Add column as nullable with default
|
|
244
|
+
ALTER TABLE users ADD COLUMN status VARCHAR(20) DEFAULT 'active';
|
|
245
|
+
|
|
246
|
+
-- 2. Backfill existing rows (if needed)
|
|
247
|
+
UPDATE users SET status = 'active' WHERE status IS NULL;
|
|
248
|
+
|
|
249
|
+
-- 3. Add NOT NULL constraint (optional, after backfill)
|
|
250
|
+
ALTER TABLE users ALTER COLUMN status SET NOT NULL;
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Renaming a Column
|
|
254
|
+
|
|
255
|
+
**Safe Pattern** (Expand-Contract):
|
|
256
|
+
```sql
|
|
257
|
+
-- Phase 1: Expand
|
|
258
|
+
ALTER TABLE users ADD COLUMN email_address VARCHAR(255);
|
|
259
|
+
UPDATE users SET email_address = email;
|
|
260
|
+
-- Deploy code that writes to both columns
|
|
261
|
+
|
|
262
|
+
-- Phase 2: Contract (after code deployment)
|
|
263
|
+
ALTER TABLE users DROP COLUMN email;
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Adding an Index
|
|
267
|
+
|
|
268
|
+
**Safe Pattern**:
|
|
269
|
+
```sql
|
|
270
|
+
-- PostgreSQL: Non-blocking index creation
|
|
271
|
+
CREATE INDEX CONCURRENTLY idx_users_email ON users(email);
|
|
272
|
+
|
|
273
|
+
-- MySQL: Online DDL
|
|
274
|
+
ALTER TABLE users ADD INDEX idx_users_email (email), ALGORITHM=INPLACE, LOCK=NONE;
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Changing Column Type
|
|
278
|
+
|
|
279
|
+
**Safe Pattern**:
|
|
280
|
+
```sql
|
|
281
|
+
-- 1. Add new column with new type
|
|
282
|
+
ALTER TABLE users ADD COLUMN age_new INTEGER;
|
|
283
|
+
|
|
284
|
+
-- 2. Backfill data with conversion
|
|
285
|
+
UPDATE users SET age_new = CAST(age AS INTEGER);
|
|
286
|
+
|
|
287
|
+
-- 3. Verify data integrity
|
|
288
|
+
SELECT COUNT(*) FROM users WHERE age_new IS NULL AND age IS NOT NULL;
|
|
289
|
+
|
|
290
|
+
-- 4. Drop old column, rename new column
|
|
291
|
+
ALTER TABLE users DROP COLUMN age;
|
|
292
|
+
ALTER TABLE users RENAME COLUMN age_new TO age;
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Common Pitfalls
|
|
298
|
+
|
|
299
|
+
❌ **Running long migrations without batching**: Locks tables, causes downtime
|
|
300
|
+
✅ **Solution**: Process in small batches with delays between batches
|
|
301
|
+
|
|
302
|
+
❌ **Not testing rollback**: Rollback fails when needed in production
|
|
303
|
+
✅ **Solution**: Test rollback in staging environment before production
|
|
304
|
+
|
|
305
|
+
❌ **Deploying code and migration together**: Code expects new schema before migration runs
|
|
306
|
+
✅ **Solution**: Deploy backward-compatible code first, then migrate schema
|
|
307
|
+
|
|
308
|
+
❌ **Not monitoring during migration**: Issues go unnoticed until too late
|
|
309
|
+
✅ **Solution**: Set up alerts and watch dashboards during execution
|
|
310
|
+
|
|
311
|
+
❌ **Forgetting to backfill data**: New column has NULL values for existing rows
|
|
312
|
+
✅ **Solution**: Plan backfill as separate step after adding column
|
|
313
|
+
|
|
314
|
+
❌ **Adding NOT NULL constraint immediately**: Fails if any NULL values exist
|
|
315
|
+
✅ **Solution**: Add column as nullable, backfill, then add constraint
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Best Practices
|
|
320
|
+
|
|
321
|
+
### DO
|
|
322
|
+
|
|
323
|
+
✅ Always create rollback scripts
|
|
324
|
+
✅ Test migrations on production-like data volumes
|
|
325
|
+
✅ Use transactions for atomic changes
|
|
326
|
+
✅ Monitor database metrics during migration
|
|
327
|
+
✅ Document migration purpose and impact
|
|
328
|
+
✅ Version control all migration scripts
|
|
329
|
+
✅ Use idempotent scripts (safe to re-run)
|
|
330
|
+
✅ Estimate execution time before running
|
|
331
|
+
|
|
332
|
+
### DON'T
|
|
333
|
+
|
|
334
|
+
❌ Make schema changes directly in production
|
|
335
|
+
❌ Skip testing rollback procedures
|
|
336
|
+
❌ Deploy code and schema changes simultaneously
|
|
337
|
+
❌ Run migrations without backups
|
|
338
|
+
❌ Ignore database locks and blocking
|
|
339
|
+
❌ Forget to communicate with stakeholders
|
|
340
|
+
❌ Use production as testing environment
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## Next Steps
|
|
345
|
+
|
|
346
|
+
- See `data-migration.md` for detailed data migration strategies
|
|
347
|
+
- See `optimization-workflow.md` for post-migration optimization
|
|
348
|
+
- See `testing-patterns.md` for migration testing approaches
|
|
349
|
+
- See `documentation-standards.md` for documenting migrations
|
|
350
|
+
- See `../examples/migration-example.md` for complete migration example
|
|
351
|
+
|
|
352
|
+
|