@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,486 @@
|
|
|
1
|
+
# JavaScript Standards
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This guide provides modern JavaScript (ES6+) coding standards covering variable declarations, functions, modern features, and code organization.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Variable Declarations
|
|
10
|
+
|
|
11
|
+
### Use const by Default
|
|
12
|
+
|
|
13
|
+
**REQUIRED**: Use `const` for all variables that won't be reassigned:
|
|
14
|
+
|
|
15
|
+
```javascript
|
|
16
|
+
// ✅ GOOD
|
|
17
|
+
const API_URL = 'https://api.example.com';
|
|
18
|
+
const user = { name: 'John', age: 30 };
|
|
19
|
+
const items = [1, 2, 3];
|
|
20
|
+
|
|
21
|
+
// ❌ BAD
|
|
22
|
+
var API_URL = 'https://api.example.com';
|
|
23
|
+
let user = { name: 'John', age: 30 }; // Won't be reassigned
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Use let for Reassignment
|
|
27
|
+
|
|
28
|
+
**REQUIRED**: Use `let` only when reassignment is needed:
|
|
29
|
+
|
|
30
|
+
```javascript
|
|
31
|
+
// ✅ GOOD
|
|
32
|
+
let count = 0;
|
|
33
|
+
count += 1;
|
|
34
|
+
|
|
35
|
+
let status = 'pending';
|
|
36
|
+
status = 'complete';
|
|
37
|
+
|
|
38
|
+
// ❌ BAD
|
|
39
|
+
var count = 0; // Never use var
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Never Use var
|
|
43
|
+
|
|
44
|
+
**PROHIBITED**: Do not use `var`:
|
|
45
|
+
|
|
46
|
+
```javascript
|
|
47
|
+
// ❌ BAD
|
|
48
|
+
var x = 10;
|
|
49
|
+
|
|
50
|
+
// ✅ GOOD
|
|
51
|
+
const x = 10;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**REASON**: `var` has function scope and hoisting issues. `const`/`let` have block scope.
|
|
55
|
+
|
|
56
|
+
### Declare Variables at Top of Scope
|
|
57
|
+
|
|
58
|
+
**RECOMMENDED**: Declare variables at the top of their scope:
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
// ✅ GOOD
|
|
62
|
+
function processData(data) {
|
|
63
|
+
const result = [];
|
|
64
|
+
const threshold = 100;
|
|
65
|
+
|
|
66
|
+
for (const item of data) {
|
|
67
|
+
if (item.value > threshold) {
|
|
68
|
+
result.push(item);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Function Declarations
|
|
79
|
+
|
|
80
|
+
### Arrow Functions for Callbacks
|
|
81
|
+
|
|
82
|
+
**RECOMMENDED**: Use arrow functions for callbacks and short functions:
|
|
83
|
+
|
|
84
|
+
```javascript
|
|
85
|
+
// ✅ GOOD: Arrow functions
|
|
86
|
+
const numbers = [1, 2, 3, 4, 5];
|
|
87
|
+
const doubled = numbers.map(n => n * 2);
|
|
88
|
+
const evens = numbers.filter(n => n % 2 === 0);
|
|
89
|
+
|
|
90
|
+
// Event listeners
|
|
91
|
+
button.addEventListener('click', () => {
|
|
92
|
+
console.log('Clicked');
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
// ❌ BAD: Traditional function expressions
|
|
96
|
+
const doubled = numbers.map(function(n) {
|
|
97
|
+
return n * 2;
|
|
98
|
+
});
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Function Declarations for Named Functions
|
|
102
|
+
|
|
103
|
+
**RECOMMENDED**: Use function declarations for named, reusable functions:
|
|
104
|
+
|
|
105
|
+
```javascript
|
|
106
|
+
// ✅ GOOD: Function declaration
|
|
107
|
+
function calculateTotal(items) {
|
|
108
|
+
return items.reduce((sum, item) => sum + item.price, 0);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// ✅ ALSO GOOD: Named arrow function
|
|
112
|
+
const calculateTotal = (items) => {
|
|
113
|
+
return items.reduce((sum, item) => sum + item.price, 0);
|
|
114
|
+
};
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Default Parameters
|
|
118
|
+
|
|
119
|
+
**RECOMMENDED**: Use default parameters instead of checking for undefined:
|
|
120
|
+
|
|
121
|
+
```javascript
|
|
122
|
+
// ✅ GOOD: Default parameters
|
|
123
|
+
function greet(name = 'Guest', greeting = 'Hello') {
|
|
124
|
+
return `${greeting}, ${name}!`;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// ❌ BAD: Manual checks
|
|
128
|
+
function greet(name, greeting) {
|
|
129
|
+
name = name || 'Guest';
|
|
130
|
+
greeting = greeting || 'Hello';
|
|
131
|
+
return `${greeting}, ${name}!`;
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Rest Parameters
|
|
136
|
+
|
|
137
|
+
**RECOMMENDED**: Use rest parameters instead of `arguments` object:
|
|
138
|
+
|
|
139
|
+
```javascript
|
|
140
|
+
// ✅ GOOD: Rest parameters
|
|
141
|
+
function sum(...numbers) {
|
|
142
|
+
return numbers.reduce((total, n) => total + n, 0);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
sum(1, 2, 3, 4); // 10
|
|
146
|
+
|
|
147
|
+
// ❌ BAD: arguments object
|
|
148
|
+
function sum() {
|
|
149
|
+
const numbers = Array.from(arguments);
|
|
150
|
+
return numbers.reduce((total, n) => total + n, 0);
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Modern JavaScript Features
|
|
157
|
+
|
|
158
|
+
### Template Literals
|
|
159
|
+
|
|
160
|
+
**RECOMMENDED**: Use template literals for string interpolation:
|
|
161
|
+
|
|
162
|
+
```javascript
|
|
163
|
+
// ✅ GOOD: Template literals
|
|
164
|
+
const name = 'John';
|
|
165
|
+
const age = 30;
|
|
166
|
+
const message = `Hello, ${name}! You are ${age} years old.`;
|
|
167
|
+
|
|
168
|
+
const multiline = `
|
|
169
|
+
This is a
|
|
170
|
+
multiline string
|
|
171
|
+
`;
|
|
172
|
+
|
|
173
|
+
// ❌ BAD: String concatenation
|
|
174
|
+
const message = 'Hello, ' + name + '! You are ' + age + ' years old.';
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Destructuring
|
|
178
|
+
|
|
179
|
+
**RECOMMENDED**: Use destructuring for objects and arrays:
|
|
180
|
+
|
|
181
|
+
```javascript
|
|
182
|
+
// ✅ GOOD: Object destructuring
|
|
183
|
+
const user = { name: 'John', age: 30, email: 'john@example.com' };
|
|
184
|
+
const { name, age } = user;
|
|
185
|
+
|
|
186
|
+
// With renaming
|
|
187
|
+
const { name: userName, age: userAge } = user;
|
|
188
|
+
|
|
189
|
+
// With defaults
|
|
190
|
+
const { name, role = 'user' } = user;
|
|
191
|
+
|
|
192
|
+
// ✅ GOOD: Array destructuring
|
|
193
|
+
const colors = ['red', 'green', 'blue'];
|
|
194
|
+
const [primary, secondary] = colors;
|
|
195
|
+
|
|
196
|
+
// Skip elements
|
|
197
|
+
const [first, , third] = colors;
|
|
198
|
+
|
|
199
|
+
// ❌ BAD: Manual extraction
|
|
200
|
+
const name = user.name;
|
|
201
|
+
const age = user.age;
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Spread Operator
|
|
205
|
+
|
|
206
|
+
**RECOMMENDED**: Use spread operator for copying and merging:
|
|
207
|
+
|
|
208
|
+
```javascript
|
|
209
|
+
// ✅ GOOD: Array copying
|
|
210
|
+
const original = [1, 2, 3];
|
|
211
|
+
const copy = [...original];
|
|
212
|
+
|
|
213
|
+
// Array merging
|
|
214
|
+
const combined = [...array1, ...array2];
|
|
215
|
+
|
|
216
|
+
// ✅ GOOD: Object copying
|
|
217
|
+
const user = { name: 'John', age: 30 };
|
|
218
|
+
const updatedUser = { ...user, age: 31 };
|
|
219
|
+
|
|
220
|
+
// Object merging
|
|
221
|
+
const merged = { ...defaults, ...options };
|
|
222
|
+
|
|
223
|
+
// ❌ BAD: Manual copying
|
|
224
|
+
const copy = original.slice();
|
|
225
|
+
const merged = Object.assign({}, defaults, options);
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Optional Chaining
|
|
229
|
+
|
|
230
|
+
**RECOMMENDED**: Use optional chaining for safe property access:
|
|
231
|
+
|
|
232
|
+
```javascript
|
|
233
|
+
// ✅ GOOD: Optional chaining
|
|
234
|
+
const userName = user?.profile?.name;
|
|
235
|
+
const firstItem = items?.[0];
|
|
236
|
+
const result = obj?.method?.();
|
|
237
|
+
|
|
238
|
+
// ❌ BAD: Manual checks
|
|
239
|
+
const userName = user && user.profile && user.profile.name;
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Nullish Coalescing
|
|
243
|
+
|
|
244
|
+
**RECOMMENDED**: Use nullish coalescing (`??`) for default values:
|
|
245
|
+
|
|
246
|
+
```javascript
|
|
247
|
+
// ✅ GOOD: Nullish coalescing (only null/undefined)
|
|
248
|
+
const value = userInput ?? 'default';
|
|
249
|
+
const count = data.count ?? 0;
|
|
250
|
+
|
|
251
|
+
// ❌ BAD: OR operator (treats 0, '', false as falsy)
|
|
252
|
+
const value = userInput || 'default';
|
|
253
|
+
const count = data.count || 0; // Problem if count is 0
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**DIFFERENCE**:
|
|
257
|
+
- `??` only checks for `null` or `undefined`
|
|
258
|
+
- `||` treats `0`, `''`, `false`, `NaN` as falsy
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Code Organization
|
|
263
|
+
|
|
264
|
+
### ES6 Modules
|
|
265
|
+
|
|
266
|
+
**REQUIRED**: Use ES6 modules (`import`/`export`):
|
|
267
|
+
|
|
268
|
+
```javascript
|
|
269
|
+
// ✅ GOOD: ES6 modules
|
|
270
|
+
// utils.js
|
|
271
|
+
export function formatDate(date) {
|
|
272
|
+
return date.toISOString();
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
export const API_URL = 'https://api.example.com';
|
|
276
|
+
|
|
277
|
+
// main.js
|
|
278
|
+
import { formatDate, API_URL } from './utils.js';
|
|
279
|
+
|
|
280
|
+
// ❌ BAD: CommonJS (Node.js only)
|
|
281
|
+
const { formatDate } = require('./utils');
|
|
282
|
+
module.exports = { formatDate };
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Named Exports vs Default Exports
|
|
286
|
+
|
|
287
|
+
**RECOMMENDED**: Prefer named exports over default exports:
|
|
288
|
+
|
|
289
|
+
```javascript
|
|
290
|
+
// ✅ GOOD: Named exports (better for refactoring)
|
|
291
|
+
export function fetchUser(id) { }
|
|
292
|
+
export function updateUser(id, data) { }
|
|
293
|
+
|
|
294
|
+
// Import
|
|
295
|
+
import { fetchUser, updateUser } from './api.js';
|
|
296
|
+
|
|
297
|
+
// ✅ ACCEPTABLE: Default export for single export
|
|
298
|
+
export default class UserService { }
|
|
299
|
+
|
|
300
|
+
// Import
|
|
301
|
+
import UserService from './UserService.js';
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
**REASON**: Named exports are easier to refactor and provide better IDE support.
|
|
305
|
+
|
|
306
|
+
### One Module Per File
|
|
307
|
+
|
|
308
|
+
**RECOMMENDED**: Keep one main module/class per file:
|
|
309
|
+
|
|
310
|
+
```javascript
|
|
311
|
+
// ✅ GOOD: user-service.js
|
|
312
|
+
export class UserService {
|
|
313
|
+
// ...
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
// ✅ GOOD: utils.js (related utilities)
|
|
317
|
+
export function formatDate(date) { }
|
|
318
|
+
export function parseDate(str) { }
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Avoid Circular Dependencies
|
|
322
|
+
|
|
323
|
+
**PROHIBITED**: Do not create circular dependencies:
|
|
324
|
+
|
|
325
|
+
```javascript
|
|
326
|
+
// ❌ BAD: Circular dependency
|
|
327
|
+
// a.js
|
|
328
|
+
import { b } from './b.js';
|
|
329
|
+
export const a = () => b();
|
|
330
|
+
|
|
331
|
+
// b.js
|
|
332
|
+
import { a } from './a.js';
|
|
333
|
+
export const b = () => a();
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## File Structure
|
|
339
|
+
|
|
340
|
+
### Import Order
|
|
341
|
+
|
|
342
|
+
**RECOMMENDED**: Organize imports in a consistent order:
|
|
343
|
+
|
|
344
|
+
```javascript
|
|
345
|
+
// 1. External dependencies
|
|
346
|
+
import React from 'react';
|
|
347
|
+
import axios from 'axios';
|
|
348
|
+
|
|
349
|
+
// 2. Internal modules
|
|
350
|
+
import { UserService } from './services/user-service.js';
|
|
351
|
+
import { formatDate } from './utils/date.js';
|
|
352
|
+
|
|
353
|
+
// 3. Styles (if applicable)
|
|
354
|
+
import './styles.css';
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### Constants at Top
|
|
358
|
+
|
|
359
|
+
**RECOMMENDED**: Define constants near the top of the file:
|
|
360
|
+
|
|
361
|
+
```javascript
|
|
362
|
+
// ✅ GOOD
|
|
363
|
+
import { fetchData } from './api.js';
|
|
364
|
+
|
|
365
|
+
const API_URL = 'https://api.example.com';
|
|
366
|
+
const MAX_RETRIES = 3;
|
|
367
|
+
const TIMEOUT = 5000;
|
|
368
|
+
|
|
369
|
+
function makeRequest() {
|
|
370
|
+
// Use constants
|
|
371
|
+
}
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Logical Function Organization
|
|
375
|
+
|
|
376
|
+
**RECOMMENDED**: Organize functions logically:
|
|
377
|
+
|
|
378
|
+
```javascript
|
|
379
|
+
// ✅ GOOD: Group related functions
|
|
380
|
+
// Public API
|
|
381
|
+
export function createUser(data) {
|
|
382
|
+
validateUser(data);
|
|
383
|
+
return saveUser(data);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export function updateUser(id, data) {
|
|
387
|
+
validateUser(data);
|
|
388
|
+
return saveUser({ id, ...data });
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
// Private helpers
|
|
392
|
+
function validateUser(data) {
|
|
393
|
+
// Validation logic
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
function saveUser(data) {
|
|
397
|
+
// Save logic
|
|
398
|
+
}
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
## Best Practices
|
|
404
|
+
|
|
405
|
+
### Use Strict Equality
|
|
406
|
+
|
|
407
|
+
**REQUIRED**: Use `===` and `!==` instead of `==` and `!=`:
|
|
408
|
+
|
|
409
|
+
```javascript
|
|
410
|
+
// ✅ GOOD
|
|
411
|
+
if (value === 10) { }
|
|
412
|
+
if (name !== '') { }
|
|
413
|
+
|
|
414
|
+
// ❌ BAD
|
|
415
|
+
if (value == 10) { }
|
|
416
|
+
if (name != '') { }
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### Avoid Global Variables
|
|
420
|
+
|
|
421
|
+
**RECOMMENDED**: Avoid polluting the global scope:
|
|
422
|
+
|
|
423
|
+
```javascript
|
|
424
|
+
// ✅ GOOD: Module scope
|
|
425
|
+
const config = { };
|
|
426
|
+
|
|
427
|
+
export function getConfig() {
|
|
428
|
+
return config;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
// ❌ BAD: Global scope
|
|
432
|
+
window.config = { };
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### Use Descriptive Names
|
|
436
|
+
|
|
437
|
+
**RECOMMENDED**: Use clear, descriptive variable and function names:
|
|
438
|
+
|
|
439
|
+
```javascript
|
|
440
|
+
// ✅ GOOD
|
|
441
|
+
const userAge = 30;
|
|
442
|
+
const isAuthenticated = true;
|
|
443
|
+
function calculateTotalPrice(items) { }
|
|
444
|
+
|
|
445
|
+
// ❌ BAD
|
|
446
|
+
const a = 30;
|
|
447
|
+
const flag = true;
|
|
448
|
+
function calc(x) { }
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
### Avoid Magic Numbers
|
|
452
|
+
|
|
453
|
+
**RECOMMENDED**: Use named constants instead of magic numbers:
|
|
454
|
+
|
|
455
|
+
```javascript
|
|
456
|
+
// ✅ GOOD
|
|
457
|
+
const MAX_LOGIN_ATTEMPTS = 3;
|
|
458
|
+
const SESSION_TIMEOUT_MS = 30 * 60 * 1000;
|
|
459
|
+
|
|
460
|
+
if (attempts > MAX_LOGIN_ATTEMPTS) {
|
|
461
|
+
lockAccount();
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
// ❌ BAD
|
|
465
|
+
if (attempts > 3) {
|
|
466
|
+
lockAccount();
|
|
467
|
+
}
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
## Summary
|
|
473
|
+
|
|
474
|
+
**Key Principles**:
|
|
475
|
+
1. Use `const` by default, `let` when needed, never `var`
|
|
476
|
+
2. Use arrow functions for callbacks
|
|
477
|
+
3. Use template literals for strings
|
|
478
|
+
4. Use destructuring, spread, optional chaining
|
|
479
|
+
5. Use ES6 modules (`import`/`export`)
|
|
480
|
+
6. Prefer named exports
|
|
481
|
+
7. Use strict equality (`===`)
|
|
482
|
+
8. Use descriptive names and constants
|
|
483
|
+
9. Organize code logically
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
|