@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,463 @@
|
|
|
1
|
+
# Performance Optimization
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This guide provides performance optimization techniques for JavaScript, CSS, and HTML to create fast, responsive web applications.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## JavaScript Performance
|
|
10
|
+
|
|
11
|
+
### Debounce and Throttle
|
|
12
|
+
|
|
13
|
+
**RECOMMENDED**: Use debounce/throttle for frequent events:
|
|
14
|
+
|
|
15
|
+
```javascript
|
|
16
|
+
// ✅ GOOD: Debounce (wait for pause)
|
|
17
|
+
function debounce(func, wait) {
|
|
18
|
+
let timeout;
|
|
19
|
+
return function executedFunction(...args) {
|
|
20
|
+
clearTimeout(timeout);
|
|
21
|
+
timeout = setTimeout(() => func(...args), wait);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Usage: Search input
|
|
26
|
+
const handleSearch = debounce((query) => {
|
|
27
|
+
searchAPI(query);
|
|
28
|
+
}, 300);
|
|
29
|
+
|
|
30
|
+
searchInput.addEventListener('input', (e) => {
|
|
31
|
+
handleSearch(e.target.value);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// ✅ GOOD: Throttle (limit frequency)
|
|
35
|
+
function throttle(func, limit) {
|
|
36
|
+
let inThrottle;
|
|
37
|
+
return function executedFunction(...args) {
|
|
38
|
+
if (!inThrottle) {
|
|
39
|
+
func(...args);
|
|
40
|
+
inThrottle = true;
|
|
41
|
+
setTimeout(() => inThrottle = false, limit);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Usage: Scroll event
|
|
47
|
+
const handleScroll = throttle(() => {
|
|
48
|
+
updateScrollPosition();
|
|
49
|
+
}, 100);
|
|
50
|
+
|
|
51
|
+
window.addEventListener('scroll', handleScroll);
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**WHEN TO USE**:
|
|
55
|
+
- **Debounce**: Search input, window resize, form validation
|
|
56
|
+
- **Throttle**: Scroll events, mouse movement, animation frames
|
|
57
|
+
|
|
58
|
+
### requestAnimationFrame for Animations
|
|
59
|
+
|
|
60
|
+
**RECOMMENDED**: Use `requestAnimationFrame` for smooth animations:
|
|
61
|
+
|
|
62
|
+
```javascript
|
|
63
|
+
// ✅ GOOD: requestAnimationFrame
|
|
64
|
+
function animate() {
|
|
65
|
+
// Update animation
|
|
66
|
+
element.style.transform = `translateX(${position}px)`;
|
|
67
|
+
position += 1;
|
|
68
|
+
|
|
69
|
+
if (position < 100) {
|
|
70
|
+
requestAnimationFrame(animate);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
requestAnimationFrame(animate);
|
|
75
|
+
|
|
76
|
+
// ❌ BAD: setTimeout/setInterval
|
|
77
|
+
setInterval(() => {
|
|
78
|
+
element.style.transform = `translateX(${position}px)`;
|
|
79
|
+
position += 1;
|
|
80
|
+
}, 16); // Tries to match 60fps but not synchronized
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**REASON**: `requestAnimationFrame` synchronizes with browser repaint for smoother animations.
|
|
84
|
+
|
|
85
|
+
### Web Workers for Heavy Computations
|
|
86
|
+
|
|
87
|
+
**RECOMMENDED**: Use Web Workers for CPU-intensive tasks:
|
|
88
|
+
|
|
89
|
+
```javascript
|
|
90
|
+
// ✅ GOOD: Web Worker for heavy computation
|
|
91
|
+
// worker.js
|
|
92
|
+
self.addEventListener('message', (e) => {
|
|
93
|
+
const result = performHeavyCalculation(e.data);
|
|
94
|
+
self.postMessage(result);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
function performHeavyCalculation(data) {
|
|
98
|
+
// CPU-intensive work
|
|
99
|
+
return processedData;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// main.js
|
|
103
|
+
const worker = new Worker('worker.js');
|
|
104
|
+
|
|
105
|
+
worker.addEventListener('message', (e) => {
|
|
106
|
+
displayResults(e.data);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
worker.postMessage(largeDataset);
|
|
110
|
+
|
|
111
|
+
// ❌ BAD: Heavy computation on main thread
|
|
112
|
+
const result = performHeavyCalculation(largeDataset); // Blocks UI
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**USE CASES**: Data processing, image manipulation, complex calculations
|
|
116
|
+
|
|
117
|
+
### Code Splitting
|
|
118
|
+
|
|
119
|
+
**RECOMMENDED**: Split code for faster initial load:
|
|
120
|
+
|
|
121
|
+
```javascript
|
|
122
|
+
// ✅ GOOD: Dynamic import (code splitting)
|
|
123
|
+
button.addEventListener('click', async () => {
|
|
124
|
+
const module = await import('./heavy-feature.js');
|
|
125
|
+
module.initializeFeature();
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
// ✅ GOOD: Lazy load components
|
|
129
|
+
async function loadChart() {
|
|
130
|
+
const { Chart } = await import('./chart-library.js');
|
|
131
|
+
return new Chart(data);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// ❌ BAD: Load everything upfront
|
|
135
|
+
import { Chart } from './chart-library.js'; // Large library loaded immediately
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## CSS Performance
|
|
141
|
+
|
|
142
|
+
### Minify CSS for Production
|
|
143
|
+
|
|
144
|
+
**REQUIRED**: Minify CSS for production:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Use build tools (PostCSS, cssnano, etc.)
|
|
148
|
+
npm run build # Minifies CSS automatically
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**BENEFITS**: Reduces file size by 20-40%
|
|
152
|
+
|
|
153
|
+
### Critical CSS
|
|
154
|
+
|
|
155
|
+
**RECOMMENDED**: Inline critical CSS for above-the-fold content:
|
|
156
|
+
|
|
157
|
+
```html
|
|
158
|
+
<!-- ✅ GOOD: Inline critical CSS -->
|
|
159
|
+
<head>
|
|
160
|
+
<style>
|
|
161
|
+
/* Critical CSS for above-the-fold content */
|
|
162
|
+
.header { display: flex; }
|
|
163
|
+
.hero { min-height: 100vh; }
|
|
164
|
+
</style>
|
|
165
|
+
|
|
166
|
+
<!-- Load full CSS asynchronously -->
|
|
167
|
+
<link rel="preload" href="styles.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
|
168
|
+
<noscript><link rel="stylesheet" href="styles.css"></noscript>
|
|
169
|
+
</head>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**TOOLS**: Critical, Penthouse, or build tool plugins
|
|
173
|
+
|
|
174
|
+
### Remove Unused CSS
|
|
175
|
+
|
|
176
|
+
**RECOMMENDED**: Remove unused CSS:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Use PurgeCSS or similar tools
|
|
180
|
+
npx purgecss --css styles.css --content index.html --output dist/
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**BENEFITS**: Can reduce CSS by 50-90% in large projects
|
|
184
|
+
|
|
185
|
+
### Use will-change Sparingly
|
|
186
|
+
|
|
187
|
+
**USE SPARINGLY**: `will-change` creates new layers (memory cost):
|
|
188
|
+
|
|
189
|
+
```css
|
|
190
|
+
/* ✅ GOOD: Use for specific animations */
|
|
191
|
+
.modal {
|
|
192
|
+
will-change: transform, opacity;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.modal.open {
|
|
196
|
+
transform: translateY(0);
|
|
197
|
+
opacity: 1;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/* Remove after animation */
|
|
201
|
+
.modal.animated {
|
|
202
|
+
will-change: auto;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/* ❌ BAD: Overuse */
|
|
206
|
+
* {
|
|
207
|
+
will-change: transform; /* Creates layer for everything */
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Avoid Expensive Properties
|
|
212
|
+
|
|
213
|
+
**AVOID**: Properties that trigger layout/paint:
|
|
214
|
+
|
|
215
|
+
```css
|
|
216
|
+
/* ❌ EXPENSIVE: Triggers layout */
|
|
217
|
+
.element {
|
|
218
|
+
width: 100px;
|
|
219
|
+
height: 100px;
|
|
220
|
+
top: 10px;
|
|
221
|
+
left: 10px;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/* ✅ CHEAP: Only triggers composite */
|
|
225
|
+
.element {
|
|
226
|
+
transform: translate(10px, 10px);
|
|
227
|
+
opacity: 0.5;
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**CHEAP PROPERTIES** (composite only):
|
|
232
|
+
- `transform`
|
|
233
|
+
- `opacity`
|
|
234
|
+
|
|
235
|
+
**EXPENSIVE PROPERTIES** (layout):
|
|
236
|
+
- `width`, `height`
|
|
237
|
+
- `margin`, `padding`
|
|
238
|
+
- `top`, `left`, `right`, `bottom`
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## HTML Performance
|
|
243
|
+
|
|
244
|
+
### Optimize Images
|
|
245
|
+
|
|
246
|
+
**REQUIRED**: Optimize images for web:
|
|
247
|
+
|
|
248
|
+
```html
|
|
249
|
+
<!-- ✅ GOOD: Optimized images -->
|
|
250
|
+
<img
|
|
251
|
+
src="image-800w.jpg"
|
|
252
|
+
srcset="image-400w.jpg 400w, image-800w.jpg 800w, image-1200w.jpg 1200w"
|
|
253
|
+
sizes="(max-width: 600px) 400px, (max-width: 1000px) 800px, 1200px"
|
|
254
|
+
alt="Description"
|
|
255
|
+
loading="lazy"
|
|
256
|
+
width="800"
|
|
257
|
+
height="600"
|
|
258
|
+
>
|
|
259
|
+
|
|
260
|
+
<!-- ✅ GOOD: Modern formats with fallback -->
|
|
261
|
+
<picture>
|
|
262
|
+
<source srcset="image.avif" type="image/avif">
|
|
263
|
+
<source srcset="image.webp" type="image/webp">
|
|
264
|
+
<img src="image.jpg" alt="Description">
|
|
265
|
+
</picture>
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**BEST PRACTICES**:
|
|
269
|
+
- Use WebP/AVIF for better compression
|
|
270
|
+
- Provide multiple sizes with `srcset`
|
|
271
|
+
- Set explicit `width` and `height` to prevent layout shift
|
|
272
|
+
- Compress images (TinyPNG, ImageOptim, etc.)
|
|
273
|
+
|
|
274
|
+
### Lazy Loading
|
|
275
|
+
|
|
276
|
+
**RECOMMENDED**: Use lazy loading for images:
|
|
277
|
+
|
|
278
|
+
```html
|
|
279
|
+
<!-- ✅ GOOD: Native lazy loading -->
|
|
280
|
+
<img src="image.jpg" alt="Description" loading="lazy">
|
|
281
|
+
|
|
282
|
+
<!-- ✅ GOOD: Eager load for above-the-fold -->
|
|
283
|
+
<img src="hero.jpg" alt="Hero" loading="eager">
|
|
284
|
+
|
|
285
|
+
<!-- ✅ GOOD: Lazy load iframes -->
|
|
286
|
+
<iframe src="video.html" loading="lazy"></iframe>
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**WHEN TO USE**:
|
|
290
|
+
- Images below the fold
|
|
291
|
+
- Image galleries
|
|
292
|
+
- Long pages with many images
|
|
293
|
+
|
|
294
|
+
### Preload Critical Resources
|
|
295
|
+
|
|
296
|
+
**RECOMMENDED**: Preload critical resources:
|
|
297
|
+
|
|
298
|
+
```html
|
|
299
|
+
<head>
|
|
300
|
+
<!-- ✅ GOOD: Preload critical resources -->
|
|
301
|
+
<link rel="preload" href="critical.css" as="style">
|
|
302
|
+
<link rel="preload" href="font.woff2" as="font" type="font/woff2" crossorigin>
|
|
303
|
+
<link rel="preload" href="hero.jpg" as="image">
|
|
304
|
+
|
|
305
|
+
<!-- ✅ GOOD: Prefetch for next page -->
|
|
306
|
+
<link rel="prefetch" href="next-page.html">
|
|
307
|
+
|
|
308
|
+
<!-- ✅ GOOD: DNS prefetch for external domains -->
|
|
309
|
+
<link rel="dns-prefetch" href="https://api.example.com">
|
|
310
|
+
</head>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**TYPES**:
|
|
314
|
+
- **`preload`**: Load critical resources early
|
|
315
|
+
- **`prefetch`**: Load resources for next navigation
|
|
316
|
+
- **`dns-prefetch`**: Resolve DNS early for external domains
|
|
317
|
+
|
|
318
|
+
### Script Loading Strategies
|
|
319
|
+
|
|
320
|
+
**RECOMMENDED**: Use `defer` or `async` for scripts:
|
|
321
|
+
|
|
322
|
+
```html
|
|
323
|
+
<!-- ✅ GOOD: Defer (maintains order, executes after DOM) -->
|
|
324
|
+
<script src="app.js" defer></script>
|
|
325
|
+
<script src="utils.js" defer></script>
|
|
326
|
+
|
|
327
|
+
<!-- ✅ GOOD: Async (independent scripts) -->
|
|
328
|
+
<script src="analytics.js" async></script>
|
|
329
|
+
|
|
330
|
+
<!-- ✅ GOOD: Module scripts (deferred by default) -->
|
|
331
|
+
<script type="module" src="app.js"></script>
|
|
332
|
+
|
|
333
|
+
<!-- ❌ BAD: Blocking script in head -->
|
|
334
|
+
<head>
|
|
335
|
+
<script src="app.js"></script> <!-- Blocks rendering -->
|
|
336
|
+
</head>
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
**DIFFERENCES**:
|
|
340
|
+
- **No attribute**: Blocks HTML parsing
|
|
341
|
+
- **`defer`**: Downloads in parallel, executes after DOM, maintains order
|
|
342
|
+
- **`async`**: Downloads in parallel, executes immediately, no order guarantee
|
|
343
|
+
- **`type="module"`**: Deferred by default
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## Measurement and Monitoring
|
|
348
|
+
|
|
349
|
+
### Performance API
|
|
350
|
+
|
|
351
|
+
**RECOMMENDED**: Measure performance:
|
|
352
|
+
|
|
353
|
+
```javascript
|
|
354
|
+
// ✅ GOOD: Measure operation time
|
|
355
|
+
const start = performance.now();
|
|
356
|
+
performOperation();
|
|
357
|
+
const end = performance.now();
|
|
358
|
+
console.log(`Operation took ${end - start}ms`);
|
|
359
|
+
|
|
360
|
+
// ✅ GOOD: Mark and measure
|
|
361
|
+
performance.mark('start-fetch');
|
|
362
|
+
await fetchData();
|
|
363
|
+
performance.mark('end-fetch');
|
|
364
|
+
performance.measure('fetch-duration', 'start-fetch', 'end-fetch');
|
|
365
|
+
|
|
366
|
+
const measure = performance.getEntriesByName('fetch-duration')[0];
|
|
367
|
+
console.log(`Fetch took ${measure.duration}ms`);
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### Core Web Vitals
|
|
371
|
+
|
|
372
|
+
**MONITOR**: Track Core Web Vitals:
|
|
373
|
+
|
|
374
|
+
```javascript
|
|
375
|
+
// ✅ GOOD: Measure LCP (Largest Contentful Paint)
|
|
376
|
+
new PerformanceObserver((list) => {
|
|
377
|
+
const entries = list.getEntries();
|
|
378
|
+
const lastEntry = entries[entries.length - 1];
|
|
379
|
+
console.log('LCP:', lastEntry.renderTime || lastEntry.loadTime);
|
|
380
|
+
}).observe({ entryTypes: ['largest-contentful-paint'] });
|
|
381
|
+
|
|
382
|
+
// ✅ GOOD: Measure FID (First Input Delay)
|
|
383
|
+
new PerformanceObserver((list) => {
|
|
384
|
+
const entries = list.getEntries();
|
|
385
|
+
entries.forEach((entry) => {
|
|
386
|
+
console.log('FID:', entry.processingStart - entry.startTime);
|
|
387
|
+
});
|
|
388
|
+
}).observe({ entryTypes: ['first-input'] });
|
|
389
|
+
|
|
390
|
+
// ✅ GOOD: Measure CLS (Cumulative Layout Shift)
|
|
391
|
+
let clsScore = 0;
|
|
392
|
+
new PerformanceObserver((list) => {
|
|
393
|
+
for (const entry of list.getEntries()) {
|
|
394
|
+
if (!entry.hadRecentInput) {
|
|
395
|
+
clsScore += entry.value;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
console.log('CLS:', clsScore);
|
|
399
|
+
}).observe({ entryTypes: ['layout-shift'] });
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## Best Practices Summary
|
|
405
|
+
|
|
406
|
+
### JavaScript
|
|
407
|
+
|
|
408
|
+
1. **Debounce/throttle** frequent events
|
|
409
|
+
2. Use **requestAnimationFrame** for animations
|
|
410
|
+
3. Use **Web Workers** for heavy computations
|
|
411
|
+
4. Implement **code splitting** for large apps
|
|
412
|
+
5. **Cache** expensive computations
|
|
413
|
+
6. Avoid **memory leaks** (remove event listeners)
|
|
414
|
+
|
|
415
|
+
### CSS
|
|
416
|
+
|
|
417
|
+
1. **Minify** CSS for production
|
|
418
|
+
2. **Inline critical CSS** for above-the-fold content
|
|
419
|
+
3. **Remove unused CSS** with PurgeCSS
|
|
420
|
+
4. Use **will-change sparingly**
|
|
421
|
+
5. Prefer **transform/opacity** over layout properties
|
|
422
|
+
6. Use **CSS containment** for isolated components
|
|
423
|
+
|
|
424
|
+
### HTML
|
|
425
|
+
|
|
426
|
+
1. **Optimize images** (WebP/AVIF, compression)
|
|
427
|
+
2. Use **lazy loading** for below-the-fold images
|
|
428
|
+
3. **Preload critical resources**
|
|
429
|
+
4. Use **defer/async** for scripts
|
|
430
|
+
5. Set **explicit dimensions** for images/videos
|
|
431
|
+
6. Use **responsive images** with srcset
|
|
432
|
+
|
|
433
|
+
### General
|
|
434
|
+
|
|
435
|
+
1. **Measure performance** with Performance API
|
|
436
|
+
2. **Monitor Core Web Vitals** (LCP, FID, CLS)
|
|
437
|
+
3. Use **Lighthouse** for audits
|
|
438
|
+
4. Implement **caching strategies**
|
|
439
|
+
5. Use **CDN** for static assets
|
|
440
|
+
6. Enable **compression** (gzip/brotli)
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
444
|
+
## Tools
|
|
445
|
+
|
|
446
|
+
**Performance Testing**:
|
|
447
|
+
- Lighthouse (Chrome DevTools)
|
|
448
|
+
- WebPageTest
|
|
449
|
+
- PageSpeed Insights
|
|
450
|
+
|
|
451
|
+
**Monitoring**:
|
|
452
|
+
- Chrome DevTools Performance tab
|
|
453
|
+
- Performance API
|
|
454
|
+
- Real User Monitoring (RUM)
|
|
455
|
+
|
|
456
|
+
**Optimization**:
|
|
457
|
+
- Webpack Bundle Analyzer
|
|
458
|
+
- PurgeCSS
|
|
459
|
+
- ImageOptim / TinyPNG
|
|
460
|
+
- Critical CSS generators
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|