@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.
Files changed (316) hide show
  1. package/README.md +614 -39
  2. package/augment-extensions/coding-standards/bash/README.md +196 -0
  3. package/augment-extensions/coding-standards/bash/module.json +163 -0
  4. package/augment-extensions/coding-standards/bash/rules/naming-conventions.md +336 -0
  5. package/augment-extensions/coding-standards/bash/rules/universal-standards.md +289 -0
  6. package/augment-extensions/coding-standards/css/README.md +40 -0
  7. package/augment-extensions/coding-standards/css/examples/css-examples.css +550 -0
  8. package/augment-extensions/coding-standards/css/module.json +44 -0
  9. package/augment-extensions/coding-standards/css/rules/css-modern-features.md +448 -0
  10. package/augment-extensions/coding-standards/css/rules/css-standards.md +492 -0
  11. package/augment-extensions/coding-standards/html/README.md +40 -0
  12. package/augment-extensions/coding-standards/html/examples/html-examples.html +267 -0
  13. package/augment-extensions/coding-standards/html/examples/responsive-layout.html +505 -0
  14. package/augment-extensions/coding-standards/html/module.json +44 -0
  15. package/augment-extensions/coding-standards/html/rules/html-standards.md +349 -0
  16. package/augment-extensions/coding-standards/html-css-js/README.md +194 -0
  17. package/augment-extensions/coding-standards/html-css-js/examples/async-examples.js +487 -0
  18. package/augment-extensions/coding-standards/html-css-js/examples/css-examples.css +550 -0
  19. package/augment-extensions/coding-standards/html-css-js/examples/dom-examples.js +667 -0
  20. package/augment-extensions/coding-standards/html-css-js/examples/html-examples.html +267 -0
  21. package/augment-extensions/coding-standards/html-css-js/examples/javascript-examples.js +612 -0
  22. package/augment-extensions/coding-standards/html-css-js/examples/responsive-layout.html +505 -0
  23. package/augment-extensions/coding-standards/html-css-js/module.json +48 -0
  24. package/augment-extensions/coding-standards/html-css-js/rules/async-patterns.md +515 -0
  25. package/augment-extensions/coding-standards/html-css-js/rules/css-modern-features.md +448 -0
  26. package/augment-extensions/coding-standards/html-css-js/rules/css-standards.md +492 -0
  27. package/augment-extensions/coding-standards/html-css-js/rules/dom-manipulation.md +439 -0
  28. package/augment-extensions/coding-standards/html-css-js/rules/html-standards.md +349 -0
  29. package/augment-extensions/coding-standards/html-css-js/rules/javascript-standards.md +486 -0
  30. package/augment-extensions/coding-standards/html-css-js/rules/performance.md +463 -0
  31. package/augment-extensions/coding-standards/html-css-js/rules/tooling.md +543 -0
  32. package/augment-extensions/coding-standards/js/README.md +46 -0
  33. package/augment-extensions/coding-standards/js/examples/async-examples.js +487 -0
  34. package/augment-extensions/coding-standards/js/examples/dom-examples.js +667 -0
  35. package/augment-extensions/coding-standards/js/examples/javascript-examples.js +612 -0
  36. package/augment-extensions/coding-standards/js/module.json +49 -0
  37. package/augment-extensions/coding-standards/js/rules/async-patterns.md +515 -0
  38. package/augment-extensions/coding-standards/js/rules/dom-manipulation.md +439 -0
  39. package/augment-extensions/coding-standards/js/rules/javascript-standards.md +486 -0
  40. package/augment-extensions/coding-standards/js/rules/performance.md +463 -0
  41. package/augment-extensions/coding-standards/js/rules/tooling.md +543 -0
  42. package/augment-extensions/coding-standards/php/README.md +248 -0
  43. package/augment-extensions/coding-standards/php/examples/api-endpoint-example.php +204 -0
  44. package/augment-extensions/coding-standards/php/examples/cli-command-example.php +206 -0
  45. package/augment-extensions/coding-standards/php/examples/legacy-refactoring-example.php +234 -0
  46. package/augment-extensions/coding-standards/php/examples/web-application-example.php +211 -0
  47. package/augment-extensions/coding-standards/php/examples/woocommerce-extension-example.php +215 -0
  48. package/augment-extensions/coding-standards/php/examples/wordpress-plugin-example.php +189 -0
  49. package/augment-extensions/coding-standards/php/module.json +166 -0
  50. package/augment-extensions/coding-standards/php/rules/api-development.md +480 -0
  51. package/augment-extensions/coding-standards/php/rules/category-configuration.md +332 -0
  52. package/augment-extensions/coding-standards/php/rules/cli-tools.md +472 -0
  53. package/augment-extensions/coding-standards/php/rules/cms-integration.md +561 -0
  54. package/augment-extensions/coding-standards/php/rules/code-quality.md +402 -0
  55. package/augment-extensions/coding-standards/php/rules/documentation.md +425 -0
  56. package/augment-extensions/coding-standards/php/rules/ecommerce.md +627 -0
  57. package/augment-extensions/coding-standards/php/rules/error-handling.md +336 -0
  58. package/augment-extensions/coding-standards/php/rules/legacy-migration.md +677 -0
  59. package/augment-extensions/coding-standards/php/rules/naming-conventions.md +279 -0
  60. package/augment-extensions/coding-standards/php/rules/performance.md +392 -0
  61. package/augment-extensions/coding-standards/php/rules/psr-standards.md +186 -0
  62. package/augment-extensions/coding-standards/php/rules/security.md +358 -0
  63. package/augment-extensions/coding-standards/php/rules/testing.md +403 -0
  64. package/augment-extensions/coding-standards/php/rules/type-declarations.md +331 -0
  65. package/augment-extensions/coding-standards/php/rules/web-applications.md +426 -0
  66. package/augment-extensions/coding-standards/powershell/README.md +154 -0
  67. package/augment-extensions/coding-standards/powershell/examples/admin-example.ps1 +272 -0
  68. package/augment-extensions/coding-standards/powershell/examples/automation-example.ps1 +173 -0
  69. package/augment-extensions/coding-standards/powershell/examples/cloud-example.ps1 +243 -0
  70. package/augment-extensions/coding-standards/powershell/examples/cross-platform-example.ps1 +297 -0
  71. package/augment-extensions/coding-standards/powershell/examples/dsc-example.ps1 +224 -0
  72. package/augment-extensions/coding-standards/powershell/examples/legacy-migration-example.ps1 +340 -0
  73. package/augment-extensions/coding-standards/powershell/examples/module-example.psm1 +255 -0
  74. package/augment-extensions/coding-standards/powershell/module.json +165 -0
  75. package/augment-extensions/coding-standards/powershell/rules/administrative-tools.md +439 -0
  76. package/augment-extensions/coding-standards/powershell/rules/automation-scripts.md +240 -0
  77. package/augment-extensions/coding-standards/powershell/rules/cloud-orchestration.md +384 -0
  78. package/augment-extensions/coding-standards/powershell/rules/configuration-schema.md +383 -0
  79. package/augment-extensions/coding-standards/powershell/rules/cross-platform-scripts.md +482 -0
  80. package/augment-extensions/coding-standards/powershell/rules/dsc-configurations.md +296 -0
  81. package/augment-extensions/coding-standards/powershell/rules/error-handling.md +314 -0
  82. package/augment-extensions/coding-standards/powershell/rules/legacy-migrations.md +466 -0
  83. package/augment-extensions/coding-standards/powershell/rules/modules-functions.md +244 -0
  84. package/augment-extensions/coding-standards/powershell/rules/naming-conventions.md +266 -0
  85. package/augment-extensions/coding-standards/powershell/rules/performance-optimization.md +209 -0
  86. package/augment-extensions/coding-standards/powershell/rules/security-practices.md +314 -0
  87. package/augment-extensions/coding-standards/powershell/rules/testing-guidelines.md +268 -0
  88. package/augment-extensions/coding-standards/powershell/rules/universal-standards.md +197 -0
  89. package/augment-extensions/coding-standards/python/README.md +12 -8
  90. package/augment-extensions/coding-standards/python/examples/best-practices.py +373 -0
  91. package/augment-extensions/coding-standards/python/module.json +8 -4
  92. package/augment-extensions/coding-standards/python/rules/async-patterns.md +884 -0
  93. package/augment-extensions/coding-standards/python/rules/documentation.md +831 -0
  94. package/augment-extensions/coding-standards/python/rules/error-handling.md +855 -68
  95. package/augment-extensions/coding-standards/python/rules/testing.md +409 -0
  96. package/augment-extensions/coding-standards/python/rules/tooling.md +446 -0
  97. package/augment-extensions/coding-standards/python/rules/type-hints.md +115 -50
  98. package/augment-extensions/collections/html-css-js/README.md +82 -0
  99. package/augment-extensions/collections/html-css-js/collection.json +41 -0
  100. package/augment-extensions/domain-rules/database/README.md +161 -0
  101. package/augment-extensions/domain-rules/database/examples/flat-database-example.md +793 -0
  102. package/augment-extensions/domain-rules/database/examples/hybrid-database-example.md +1132 -0
  103. package/augment-extensions/domain-rules/database/examples/nosql-document-example.md +868 -0
  104. package/augment-extensions/domain-rules/database/examples/nosql-graph-example.md +805 -0
  105. package/augment-extensions/domain-rules/database/examples/relational-schema-example.md +621 -0
  106. package/augment-extensions/domain-rules/database/examples/vector-database-example.md +965 -0
  107. package/augment-extensions/domain-rules/database/module.json +28 -0
  108. package/augment-extensions/domain-rules/database/rules/flat-databases.md +624 -0
  109. package/augment-extensions/domain-rules/database/rules/nosql-databases.md +588 -0
  110. package/augment-extensions/domain-rules/database/rules/nosql-document-stores.md +856 -0
  111. package/augment-extensions/domain-rules/database/rules/nosql-graph-databases.md +778 -0
  112. package/augment-extensions/domain-rules/database/rules/nosql-key-value-stores.md +963 -0
  113. package/augment-extensions/domain-rules/database/rules/performance-optimization.md +1076 -0
  114. package/augment-extensions/domain-rules/database/rules/relational-databases.md +697 -0
  115. package/augment-extensions/domain-rules/database/rules/relational-indexing.md +671 -0
  116. package/augment-extensions/domain-rules/database/rules/relational-query-optimization.md +607 -0
  117. package/augment-extensions/domain-rules/database/rules/relational-schema-design.md +907 -0
  118. package/augment-extensions/domain-rules/database/rules/relational-transactions.md +783 -0
  119. package/augment-extensions/domain-rules/database/rules/security-standards.md +980 -0
  120. package/augment-extensions/domain-rules/database/rules/universal-best-practices.md +485 -0
  121. package/augment-extensions/domain-rules/database/rules/vector-databases.md +521 -0
  122. package/augment-extensions/domain-rules/database/rules/vector-embeddings.md +858 -0
  123. package/augment-extensions/domain-rules/database/rules/vector-indexing.md +934 -0
  124. package/augment-extensions/domain-rules/mcp/README.md +150 -0
  125. package/augment-extensions/domain-rules/mcp/examples/compressed-example.md +522 -0
  126. package/augment-extensions/domain-rules/mcp/examples/graph-augmented-example.md +520 -0
  127. package/augment-extensions/domain-rules/mcp/examples/hybrid-example.md +570 -0
  128. package/augment-extensions/domain-rules/mcp/examples/state-based-example.md +427 -0
  129. package/augment-extensions/domain-rules/mcp/examples/token-based-example.md +435 -0
  130. package/augment-extensions/domain-rules/mcp/examples/vector-based-example.md +502 -0
  131. package/augment-extensions/domain-rules/mcp/module.json +49 -0
  132. package/augment-extensions/domain-rules/mcp/rules/compressed-mcp.md +595 -0
  133. package/augment-extensions/domain-rules/mcp/rules/configuration.md +345 -0
  134. package/augment-extensions/domain-rules/mcp/rules/graph-augmented-mcp.md +687 -0
  135. package/augment-extensions/domain-rules/mcp/rules/hybrid-mcp.md +636 -0
  136. package/augment-extensions/domain-rules/mcp/rules/state-based-mcp.md +484 -0
  137. package/augment-extensions/domain-rules/mcp/rules/testing-validation.md +360 -0
  138. package/augment-extensions/domain-rules/mcp/rules/token-based-mcp.md +393 -0
  139. package/augment-extensions/domain-rules/mcp/rules/universal-rules.md +194 -0
  140. package/augment-extensions/domain-rules/mcp/rules/vector-based-mcp.md +625 -0
  141. package/augment-extensions/domain-rules/wordpress/README.md +163 -0
  142. package/augment-extensions/domain-rules/wordpress/module.json +32 -0
  143. package/augment-extensions/domain-rules/wordpress/rules/coding-standards.md +617 -0
  144. package/augment-extensions/domain-rules/wordpress/rules/directory-structure.md +270 -0
  145. package/augment-extensions/domain-rules/wordpress/rules/file-patterns.md +423 -0
  146. package/augment-extensions/domain-rules/wordpress/rules/gutenberg-blocks.md +493 -0
  147. package/augment-extensions/domain-rules/wordpress/rules/performance.md +568 -0
  148. package/augment-extensions/domain-rules/wordpress/rules/plugin-development.md +510 -0
  149. package/augment-extensions/domain-rules/wordpress/rules/project-detection.md +251 -0
  150. package/augment-extensions/domain-rules/wordpress/rules/rest-api.md +501 -0
  151. package/augment-extensions/domain-rules/wordpress/rules/security.md +564 -0
  152. package/augment-extensions/domain-rules/wordpress/rules/theme-development.md +388 -0
  153. package/augment-extensions/domain-rules/wordpress/rules/woocommerce.md +441 -0
  154. package/augment-extensions/domain-rules/wordpress-plugin/README.md +139 -0
  155. package/augment-extensions/domain-rules/wordpress-plugin/examples/ajax-plugin.md +1599 -0
  156. package/augment-extensions/domain-rules/wordpress-plugin/examples/custom-post-type-plugin.md +1727 -0
  157. package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block-plugin.md +428 -0
  158. package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block.md +422 -0
  159. package/augment-extensions/domain-rules/wordpress-plugin/examples/mvc-plugin.md +1623 -0
  160. package/augment-extensions/domain-rules/wordpress-plugin/examples/object-oriented-plugin.md +1343 -0
  161. package/augment-extensions/domain-rules/wordpress-plugin/examples/rest-endpoint.md +734 -0
  162. package/augment-extensions/domain-rules/wordpress-plugin/examples/settings-page-plugin.md +1350 -0
  163. package/augment-extensions/domain-rules/wordpress-plugin/examples/simple-procedural-plugin.md +503 -0
  164. package/augment-extensions/domain-rules/wordpress-plugin/examples/singleton-plugin.md +971 -0
  165. package/augment-extensions/domain-rules/wordpress-plugin/module.json +53 -0
  166. package/augment-extensions/domain-rules/wordpress-plugin/rules/activation-hooks.md +770 -0
  167. package/augment-extensions/domain-rules/wordpress-plugin/rules/admin-interface.md +874 -0
  168. package/augment-extensions/domain-rules/wordpress-plugin/rules/ajax-handlers.md +629 -0
  169. package/augment-extensions/domain-rules/wordpress-plugin/rules/asset-management.md +559 -0
  170. package/augment-extensions/domain-rules/wordpress-plugin/rules/context-providers.md +709 -0
  171. package/augment-extensions/domain-rules/wordpress-plugin/rules/cron-jobs.md +736 -0
  172. package/augment-extensions/domain-rules/wordpress-plugin/rules/database-management.md +1057 -0
  173. package/augment-extensions/domain-rules/wordpress-plugin/rules/documentation-standards.md +463 -0
  174. package/augment-extensions/domain-rules/wordpress-plugin/rules/frontend-functionality.md +478 -0
  175. package/augment-extensions/domain-rules/wordpress-plugin/rules/gutenberg-blocks.md +818 -0
  176. package/augment-extensions/domain-rules/wordpress-plugin/rules/internationalization.md +416 -0
  177. package/augment-extensions/domain-rules/wordpress-plugin/rules/migration.md +667 -0
  178. package/augment-extensions/domain-rules/wordpress-plugin/rules/performance-optimization.md +878 -0
  179. package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-architecture.md +693 -0
  180. package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-structure.md +352 -0
  181. package/augment-extensions/domain-rules/wordpress-plugin/rules/rest-api.md +818 -0
  182. package/augment-extensions/domain-rules/wordpress-plugin/rules/scaffolding-workflow.md +624 -0
  183. package/augment-extensions/domain-rules/wordpress-plugin/rules/security-best-practices.md +866 -0
  184. package/augment-extensions/domain-rules/wordpress-plugin/rules/testing-patterns.md +1165 -0
  185. package/augment-extensions/domain-rules/wordpress-plugin/rules/testing.md +414 -0
  186. package/augment-extensions/domain-rules/wordpress-plugin/rules/vscode-integration.md +751 -0
  187. package/augment-extensions/domain-rules/wordpress-plugin/rules/woocommerce-integration.md +949 -0
  188. package/augment-extensions/domain-rules/wordpress-plugin/rules/wordpress-org-submission.md +458 -0
  189. package/augment-extensions/examples/gutenberg-block-plugin/README.md +101 -0
  190. package/augment-extensions/examples/gutenberg-block-plugin/examples/testimonial-block.md +428 -0
  191. package/augment-extensions/examples/gutenberg-block-plugin/module.json +40 -0
  192. package/augment-extensions/examples/rest-api-plugin/README.md +98 -0
  193. package/augment-extensions/examples/rest-api-plugin/examples/task-manager-api.md +1299 -0
  194. package/augment-extensions/examples/rest-api-plugin/module.json +40 -0
  195. package/augment-extensions/examples/woocommerce-extension/README.md +98 -0
  196. package/augment-extensions/examples/woocommerce-extension/examples/product-customizer.md +763 -0
  197. package/augment-extensions/examples/woocommerce-extension/module.json +40 -0
  198. package/augment-extensions/workflows/beads/module.json +4 -3
  199. package/augment-extensions/workflows/database/README.md +195 -0
  200. package/augment-extensions/workflows/database/ai-prompt-testing.md +295 -0
  201. package/augment-extensions/workflows/database/examples/migration-example.md +498 -0
  202. package/augment-extensions/workflows/database/examples/optimization-example.md +496 -0
  203. package/augment-extensions/workflows/database/examples/schema-design-example.md +444 -0
  204. package/augment-extensions/workflows/database/module.json +42 -0
  205. package/augment-extensions/workflows/database/rules/data-migration.md +249 -0
  206. package/augment-extensions/workflows/database/rules/documentation-standards.md +339 -0
  207. package/augment-extensions/workflows/database/rules/migration-workflow.md +352 -0
  208. package/augment-extensions/workflows/database/rules/optimization-workflow.md +435 -0
  209. package/augment-extensions/workflows/database/rules/schema-design-workflow.md +535 -0
  210. package/augment-extensions/workflows/database/rules/testing-patterns.md +305 -0
  211. package/augment-extensions/workflows/database/rules/workflow.md +458 -0
  212. package/augment-extensions/workflows/openspec/module.json +4 -3
  213. package/augment-extensions/workflows/wordpress-plugin/README.md +232 -0
  214. package/augment-extensions/workflows/wordpress-plugin/ai-prompts.md +839 -0
  215. package/augment-extensions/workflows/wordpress-plugin/bead-decomposition-patterns.md +854 -0
  216. package/augment-extensions/workflows/wordpress-plugin/examples/complete-plugin-example.md +540 -0
  217. package/augment-extensions/workflows/wordpress-plugin/examples/custom-post-type-example.md +1083 -0
  218. package/augment-extensions/workflows/wordpress-plugin/examples/feature-addition-workflow.md +669 -0
  219. package/augment-extensions/workflows/wordpress-plugin/examples/plugin-creation-workflow.md +597 -0
  220. package/augment-extensions/workflows/wordpress-plugin/examples/secure-form-handler-example.md +925 -0
  221. package/augment-extensions/workflows/wordpress-plugin/examples/security-audit-workflow.md +752 -0
  222. package/augment-extensions/workflows/wordpress-plugin/examples/wordpress-org-submission-workflow.md +773 -0
  223. package/augment-extensions/workflows/wordpress-plugin/module.json +49 -0
  224. package/augment-extensions/workflows/wordpress-plugin/rules/best-practices.md +942 -0
  225. package/augment-extensions/workflows/wordpress-plugin/rules/development-workflow.md +702 -0
  226. package/augment-extensions/workflows/wordpress-plugin/rules/submission-workflow.md +728 -0
  227. package/augment-extensions/workflows/wordpress-plugin/rules/testing-workflow.md +775 -0
  228. package/augment-extensions/writing-standards/screenplay/README.md +171 -0
  229. package/augment-extensions/writing-standards/screenplay/examples/aaa-hollywood-scene.fountain +164 -0
  230. package/augment-extensions/writing-standards/screenplay/module.json +124 -0
  231. package/augment-extensions/writing-standards/screenplay/rules/universal-formatting.md +339 -0
  232. package/cli/MODULES.md +302 -0
  233. package/cli/dist/cli.js +142 -9
  234. package/cli/dist/cli.js.map +1 -1
  235. package/cli/dist/commands/catalog.d.ts +13 -0
  236. package/cli/dist/commands/catalog.d.ts.map +1 -0
  237. package/cli/dist/commands/catalog.js +104 -0
  238. package/cli/dist/commands/catalog.js.map +1 -0
  239. package/cli/dist/commands/gui.d.ts +6 -0
  240. package/cli/dist/commands/gui.d.ts.map +1 -0
  241. package/cli/dist/commands/gui.js +211 -0
  242. package/cli/dist/commands/gui.js.map +1 -0
  243. package/cli/dist/commands/init.d.ts.map +1 -1
  244. package/cli/dist/commands/init.js +12 -0
  245. package/cli/dist/commands/init.js.map +1 -1
  246. package/cli/dist/commands/install-rules.d.ts +14 -0
  247. package/cli/dist/commands/install-rules.d.ts.map +1 -0
  248. package/cli/dist/commands/install-rules.js +127 -0
  249. package/cli/dist/commands/install-rules.js.map +1 -0
  250. package/cli/dist/commands/link.d.ts.map +1 -1
  251. package/cli/dist/commands/link.js +9 -11
  252. package/cli/dist/commands/link.js.map +1 -1
  253. package/cli/dist/commands/list.d.ts.map +1 -1
  254. package/cli/dist/commands/list.js +11 -28
  255. package/cli/dist/commands/list.js.map +1 -1
  256. package/cli/dist/commands/mcp.d.ts +48 -0
  257. package/cli/dist/commands/mcp.d.ts.map +1 -0
  258. package/cli/dist/commands/mcp.js +229 -0
  259. package/cli/dist/commands/mcp.js.map +1 -0
  260. package/cli/dist/commands/self-remove.d.ts +7 -0
  261. package/cli/dist/commands/self-remove.d.ts.map +1 -0
  262. package/cli/dist/commands/self-remove.js +179 -0
  263. package/cli/dist/commands/self-remove.js.map +1 -0
  264. package/cli/dist/commands/show.d.ts.map +1 -1
  265. package/cli/dist/commands/show.js +42 -71
  266. package/cli/dist/commands/show.js.map +1 -1
  267. package/cli/dist/commands/skill.d.ts +67 -0
  268. package/cli/dist/commands/skill.d.ts.map +1 -0
  269. package/cli/dist/commands/skill.js +513 -0
  270. package/cli/dist/commands/skill.js.map +1 -0
  271. package/cli/dist/commands/unlink.d.ts +6 -0
  272. package/cli/dist/commands/unlink.d.ts.map +1 -0
  273. package/cli/dist/commands/unlink.js +115 -0
  274. package/cli/dist/commands/unlink.js.map +1 -0
  275. package/cli/dist/commands/validate.d.ts +6 -0
  276. package/cli/dist/commands/validate.d.ts.map +1 -0
  277. package/cli/dist/commands/validate.js +159 -0
  278. package/cli/dist/commands/validate.js.map +1 -0
  279. package/cli/dist/utils/catalog-sync.d.ts +22 -0
  280. package/cli/dist/utils/catalog-sync.d.ts.map +1 -0
  281. package/cli/dist/utils/catalog-sync.js +157 -0
  282. package/cli/dist/utils/catalog-sync.js.map +1 -0
  283. package/cli/dist/utils/character-count.d.ts +56 -0
  284. package/cli/dist/utils/character-count.d.ts.map +1 -0
  285. package/cli/dist/utils/character-count.js +190 -0
  286. package/cli/dist/utils/character-count.js.map +1 -0
  287. package/cli/dist/utils/documentation-validator.d.ts +18 -0
  288. package/cli/dist/utils/documentation-validator.d.ts.map +1 -0
  289. package/cli/dist/utils/documentation-validator.js +233 -0
  290. package/cli/dist/utils/documentation-validator.js.map +1 -0
  291. package/cli/dist/utils/install-rules.d.ts +32 -0
  292. package/cli/dist/utils/install-rules.d.ts.map +1 -0
  293. package/cli/dist/utils/install-rules.js +375 -0
  294. package/cli/dist/utils/install-rules.js.map +1 -0
  295. package/cli/dist/utils/mcp-integration.d.ts +70 -0
  296. package/cli/dist/utils/mcp-integration.d.ts.map +1 -0
  297. package/cli/dist/utils/mcp-integration.js +292 -0
  298. package/cli/dist/utils/mcp-integration.js.map +1 -0
  299. package/cli/dist/utils/module-system.d.ts +153 -0
  300. package/cli/dist/utils/module-system.d.ts.map +1 -0
  301. package/cli/dist/utils/module-system.js +528 -0
  302. package/cli/dist/utils/module-system.js.map +1 -0
  303. package/cli/dist/utils/modules-catalog.d.ts +33 -0
  304. package/cli/dist/utils/modules-catalog.d.ts.map +1 -0
  305. package/cli/dist/utils/modules-catalog.js +163 -0
  306. package/cli/dist/utils/modules-catalog.js.map +1 -0
  307. package/cli/dist/utils/rule-install-hooks.d.ts +19 -0
  308. package/cli/dist/utils/rule-install-hooks.d.ts.map +1 -0
  309. package/cli/dist/utils/rule-install-hooks.js +224 -0
  310. package/cli/dist/utils/rule-install-hooks.js.map +1 -0
  311. package/cli/dist/utils/skill-system.d.ts +95 -0
  312. package/cli/dist/utils/skill-system.d.ts.map +1 -0
  313. package/cli/dist/utils/skill-system.js +313 -0
  314. package/cli/dist/utils/skill-system.js.map +1 -0
  315. package/modules.md +534 -70
  316. package/package.json +12 -3
@@ -0,0 +1,296 @@
1
+ # PowerShell DSC Configurations
2
+
3
+ Best practices for Desired State Configuration, configuration data separation, and LCM setup.
4
+
5
+ ## Configuration Structure
6
+
7
+ ### Basic DSC Configuration
8
+
9
+ ```powershell
10
+ #Requires -Version 7.4
11
+
12
+ Configuration WebServerConfig
13
+ {
14
+ param(
15
+ [Parameter(Mandatory)]
16
+ [string[]]$ComputerName,
17
+
18
+ [Parameter()]
19
+ [string]$WebsiteName = 'Default Web Site'
20
+ )
21
+
22
+ Import-DscResource -ModuleName PSDesiredStateConfiguration
23
+ Import-DscResource -ModuleName xWebAdministration
24
+
25
+ Node $ComputerName
26
+ {
27
+ WindowsFeature IIS
28
+ {
29
+ Ensure = 'Present'
30
+ Name = 'Web-Server'
31
+ }
32
+
33
+ WindowsFeature AspNet45
34
+ {
35
+ Ensure = 'Present'
36
+ Name = 'Web-Asp-Net45'
37
+ DependsOn = '[WindowsFeature]IIS'
38
+ }
39
+
40
+ xWebsite DefaultSite
41
+ {
42
+ Ensure = 'Present'
43
+ Name = $WebsiteName
44
+ State = 'Started'
45
+ PhysicalPath = 'C:\inetpub\wwwroot'
46
+ DependsOn = '[WindowsFeature]IIS'
47
+ }
48
+ }
49
+ }
50
+ ```
51
+
52
+ ## Configuration Data Separation
53
+
54
+ ### Configuration Data File
55
+
56
+ ```powershell
57
+ # ConfigData.psd1
58
+ @{
59
+ AllNodes = @(
60
+ @{
61
+ NodeName = 'WebServer01'
62
+ Role = 'WebServer'
63
+ Environment = 'Production'
64
+ CertificateFile = 'C:\Certs\WebServer01.cer'
65
+ },
66
+ @{
67
+ NodeName = 'WebServer02'
68
+ Role = 'WebServer'
69
+ Environment = 'Production'
70
+ CertificateFile = 'C:\Certs\WebServer02.cer'
71
+ },
72
+ @{
73
+ NodeName = '*'
74
+ PSDscAllowPlainTextPassword = $false
75
+ PSDscAllowDomainUser = $true
76
+ }
77
+ )
78
+
79
+ NonNodeData = @{
80
+ WebsiteName = 'Corporate Portal'
81
+ DatabaseServer = 'SQL01.contoso.com'
82
+ }
83
+ }
84
+ ```
85
+
86
+ ### Using Configuration Data
87
+
88
+ ```powershell
89
+ Configuration WebServerWithData
90
+ {
91
+ Import-DscResource -ModuleName PSDesiredStateConfiguration
92
+
93
+ Node $AllNodes.Where{$_.Role -eq 'WebServer'}.NodeName
94
+ {
95
+ $websiteName = $ConfigurationData.NonNodeData.WebsiteName
96
+
97
+ WindowsFeature IIS
98
+ {
99
+ Ensure = 'Present'
100
+ Name = 'Web-Server'
101
+ }
102
+
103
+ File WebContent
104
+ {
105
+ Ensure = 'Present'
106
+ DestinationPath = 'C:\inetpub\wwwroot\index.html'
107
+ Contents = "Welcome to $websiteName on $($Node.NodeName)"
108
+ Type = 'File'
109
+ }
110
+ }
111
+ }
112
+
113
+ # Compile configuration
114
+ $configData = Import-PowerShellDataFile -Path '.\ConfigData.psd1'
115
+ WebServerWithData -ConfigurationData $configData -OutputPath 'C:\DSC\Configs'
116
+ ```
117
+
118
+ ## Idempotency
119
+
120
+ ### Ensure Idempotent Resources
121
+
122
+ ```powershell
123
+ Configuration IdempotentConfig
124
+ {
125
+ param([string]$ComputerName)
126
+
127
+ Import-DscResource -ModuleName PSDesiredStateConfiguration
128
+
129
+ Node $ComputerName
130
+ {
131
+ # ✅ GOOD: Idempotent - can run multiple times safely
132
+ File LogDirectory
133
+ {
134
+ Ensure = 'Present'
135
+ Type = 'Directory'
136
+ DestinationPath = 'C:\Logs'
137
+ }
138
+
139
+ Registry DisableIPv6
140
+ {
141
+ Ensure = 'Present'
142
+ Key = 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters'
143
+ ValueName = 'DisabledComponents'
144
+ ValueData = '0xFF'
145
+ ValueType = 'Dword'
146
+ }
147
+
148
+ Service W32Time
149
+ {
150
+ Name = 'W32Time'
151
+ State = 'Running'
152
+ StartupType = 'Automatic'
153
+ }
154
+ }
155
+ }
156
+ ```
157
+
158
+ ### Test Idempotency
159
+
160
+ ```powershell
161
+ # Test configuration multiple times
162
+ $config = IdempotentConfig -ComputerName 'localhost' -OutputPath 'C:\DSC\Test'
163
+
164
+ # First run - should make changes
165
+ Start-DscConfiguration -Path 'C:\DSC\Test' -Wait -Verbose
166
+
167
+ # Second run - should report no changes needed
168
+ Start-DscConfiguration -Path 'C:\DSC\Test' -Wait -Verbose
169
+
170
+ # Verify state
171
+ Test-DscConfiguration -Path 'C:\DSC\Test' -Verbose
172
+ ```
173
+
174
+ ## Local Configuration Manager (LCM)
175
+
176
+ ### Configure LCM
177
+
178
+ ```powershell
179
+ [DSCLocalConfigurationManager()]
180
+ Configuration LCMConfig
181
+ {
182
+ param([string[]]$ComputerName)
183
+
184
+ Node $ComputerName
185
+ {
186
+ Settings
187
+ {
188
+ RefreshMode = 'Push'
189
+ ConfigurationMode = 'ApplyAndAutoCorrect'
190
+ RebootNodeIfNeeded = $true
191
+ ActionAfterReboot = 'ContinueConfiguration'
192
+ ConfigurationModeFrequencyMins = 15
193
+ RefreshFrequencyMins = 30
194
+ AllowModuleOverwrite = $true
195
+ }
196
+ }
197
+ }
198
+
199
+ # Apply LCM configuration
200
+ LCMConfig -ComputerName 'WebServer01' -OutputPath 'C:\DSC\LCM'
201
+ Set-DscLocalConfigurationManager -Path 'C:\DSC\LCM' -Verbose
202
+ ```
203
+
204
+ ### Pull Server Configuration
205
+
206
+ ```powershell
207
+ [DSCLocalConfigurationManager()]
208
+ Configuration PullClientConfig
209
+ {
210
+ param(
211
+ [string]$NodeName,
212
+ [string]$RegistrationKey,
213
+ [string]$ServerURL
214
+ )
215
+
216
+ Node $NodeName
217
+ {
218
+ Settings
219
+ {
220
+ RefreshMode = 'Pull'
221
+ ConfigurationMode = 'ApplyAndAutoCorrect'
222
+ RebootNodeIfNeeded = $true
223
+ }
224
+
225
+ ConfigurationRepositoryWeb PullServer
226
+ {
227
+ ServerURL = $ServerURL
228
+ RegistrationKey = $RegistrationKey
229
+ ConfigurationNames = @('WebServerConfig')
230
+ }
231
+
232
+ ReportServerWeb PullServerReports
233
+ {
234
+ ServerURL = $ServerURL
235
+ RegistrationKey = $RegistrationKey
236
+ }
237
+ }
238
+ }
239
+ ```
240
+
241
+ ## Credentials and Secrets
242
+
243
+ ### Encrypted Credentials
244
+
245
+ ```powershell
246
+ Configuration SecureConfig
247
+ {
248
+ param(
249
+ [Parameter(Mandatory)]
250
+ [PSCredential]$Credential
251
+ )
252
+
253
+ Import-DscResource -ModuleName PSDesiredStateConfiguration
254
+
255
+ Node 'WebServer01'
256
+ {
257
+ User LocalAdmin
258
+ {
259
+ Ensure = 'Present'
260
+ UserName = 'AppAdmin'
261
+ Password = $Credential
262
+ PasswordNeverExpires = $true
263
+ PasswordChangeNotAllowed = $false
264
+ }
265
+ }
266
+ }
267
+
268
+ # Use certificate for encryption
269
+ $configData = @{
270
+ AllNodes = @(
271
+ @{
272
+ NodeName = 'WebServer01'
273
+ CertificateFile = 'C:\Certs\WebServer01.cer'
274
+ Thumbprint = '1234567890ABCDEF1234567890ABCDEF12345678'
275
+ }
276
+ )
277
+ }
278
+
279
+ $cred = Get-Credential -UserName 'AppAdmin' -Message 'Enter password'
280
+ SecureConfig -Credential $cred -ConfigurationData $configData -OutputPath 'C:\DSC\Secure'
281
+ ```
282
+
283
+ ## Best Practices
284
+
285
+ 1. **Separate configuration from data** - Use ConfigurationData parameter
286
+ 2. **Use certificates for encryption** - Never use plain text passwords
287
+ 3. **Test idempotency** - Run configurations multiple times
288
+ 4. **Version control configurations** - Track changes in Git
289
+ 5. **Use dependencies** - DependsOn for resource ordering
290
+ 6. **Configure LCM appropriately** - Match environment needs
291
+ 7. **Use composite resources** - For reusable patterns
292
+ 8. **Implement proper error handling** - Validate before applying
293
+ 9. **Document node requirements** - Prerequisites and dependencies
294
+ 10. **Test in non-production first** - Validate before production deployment
295
+
296
+
@@ -0,0 +1,314 @@
1
+ # PowerShell Error Handling
2
+
3
+ Comprehensive error handling patterns and best practices for robust PowerShell code.
4
+
5
+ ## Error Action Preference
6
+
7
+ ### Set Global Preference
8
+
9
+ ```powershell
10
+ # Stop on all errors (recommended for scripts)
11
+ $ErrorActionPreference = 'Stop'
12
+
13
+ # Continue on errors (default, not recommended for scripts)
14
+ $ErrorActionPreference = 'Continue'
15
+
16
+ # Silently continue (use sparingly)
17
+ $ErrorActionPreference = 'SilentlyContinue'
18
+ ```
19
+
20
+ ### Per-Command Error Action
21
+
22
+ ```powershell
23
+ # Override global preference for specific command
24
+ Get-Item -Path 'C:\NonExistent.txt' -ErrorAction SilentlyContinue
25
+
26
+ # Use common parameter
27
+ Test-Path -Path $filePath -ErrorAction Stop
28
+ ```
29
+
30
+ ## Try-Catch-Finally
31
+
32
+ ### Basic Pattern
33
+
34
+ ```powershell
35
+ try
36
+ {
37
+ # Code that might throw errors
38
+ $content = Get-Content -Path $filePath -ErrorAction Stop
39
+ $data = $content | ConvertFrom-Json
40
+ }
41
+ catch
42
+ {
43
+ # Handle all errors
44
+ Write-Error "Failed to process file: $_"
45
+ }
46
+ finally
47
+ {
48
+ # Always executes (cleanup)
49
+ if ($fileStream)
50
+ {
51
+ $fileStream.Close()
52
+ }
53
+ }
54
+ ```
55
+
56
+ ### Specific Exception Handling
57
+
58
+ ```powershell
59
+ try
60
+ {
61
+ $result = Invoke-RestMethod -Uri $apiUrl -Method Get
62
+ }
63
+ catch [System.Net.WebException]
64
+ {
65
+ Write-Error "Network error: $($_.Exception.Message)"
66
+ }
67
+ catch [System.UnauthorizedAccessException]
68
+ {
69
+ Write-Error "Access denied: $($_.Exception.Message)"
70
+ }
71
+ catch
72
+ {
73
+ Write-Error "Unexpected error: $($_.Exception.Message)"
74
+ throw # Re-throw if you can't handle it
75
+ }
76
+ ```
77
+
78
+ ### Nested Try-Catch
79
+
80
+ ```powershell
81
+ try
82
+ {
83
+ # Outer operation
84
+ $connection = Connect-Database -Server $server
85
+
86
+ try
87
+ {
88
+ # Inner operation
89
+ $data = Get-DatabaseData -Connection $connection
90
+ }
91
+ catch
92
+ {
93
+ Write-Warning "Data retrieval failed: $_"
94
+ # Handle inner error
95
+ }
96
+ }
97
+ catch
98
+ {
99
+ Write-Error "Connection failed: $_"
100
+ }
101
+ finally
102
+ {
103
+ if ($connection)
104
+ {
105
+ Disconnect-Database -Connection $connection
106
+ }
107
+ }
108
+ ```
109
+
110
+ ## Error Objects
111
+
112
+ ### Accessing Error Information
113
+
114
+ ```powershell
115
+ try
116
+ {
117
+ Get-Item -Path 'C:\NonExistent.txt' -ErrorAction Stop
118
+ }
119
+ catch
120
+ {
121
+ # Current error
122
+ Write-Output "Error: $($_.Exception.Message)"
123
+ Write-Output "Type: $($_.Exception.GetType().FullName)"
124
+ Write-Output "Stack: $($_.ScriptStackTrace)"
125
+
126
+ # Error record properties
127
+ Write-Output "Category: $($_.CategoryInfo.Category)"
128
+ Write-Output "Target: $($_.TargetObject)"
129
+ }
130
+ ```
131
+
132
+ ### $Error Automatic Variable
133
+
134
+ ```powershell
135
+ # Most recent error
136
+ $Error[0]
137
+
138
+ # All errors in session
139
+ $Error
140
+
141
+ # Clear error history
142
+ $Error.Clear()
143
+ ```
144
+
145
+ ## Custom Errors
146
+
147
+ ### Throw Custom Errors
148
+
149
+ ```powershell
150
+ function Get-UserAge
151
+ {
152
+ param([int]$Age)
153
+
154
+ if ($Age -lt 0)
155
+ {
156
+ throw "Age cannot be negative: $Age"
157
+ }
158
+
159
+ if ($Age -gt 150)
160
+ {
161
+ throw [System.ArgumentOutOfRangeException]::new(
162
+ 'Age',
163
+ $Age,
164
+ 'Age must be between 0 and 150'
165
+ )
166
+ }
167
+
168
+ return $Age
169
+ }
170
+ ```
171
+
172
+ ### Write-Error vs Throw
173
+
174
+ ```powershell
175
+ # Write-Error: Non-terminating (continues execution)
176
+ function Test-WriteError
177
+ {
178
+ Write-Error "This is a non-terminating error"
179
+ Write-Output "This still executes"
180
+ }
181
+
182
+ # Throw: Terminating (stops execution)
183
+ function Test-Throw
184
+ {
185
+ throw "This is a terminating error"
186
+ Write-Output "This never executes"
187
+ }
188
+ ```
189
+
190
+ ## Validation and Guards
191
+
192
+ ### Parameter Validation
193
+
194
+ ```powershell
195
+ function Get-FileContent
196
+ {
197
+ [CmdletBinding()]
198
+ param(
199
+ [Parameter(Mandatory)]
200
+ [ValidateNotNullOrEmpty()]
201
+ [ValidateScript({ Test-Path $_ })]
202
+ [string]$Path,
203
+
204
+ [Parameter()]
205
+ [ValidateSet('UTF8', 'ASCII', 'Unicode')]
206
+ [string]$Encoding = 'UTF8'
207
+ )
208
+
209
+ Get-Content -Path $Path -Encoding $Encoding
210
+ }
211
+ ```
212
+
213
+ ### Guard Clauses
214
+
215
+ ```powershell
216
+ function Process-Data
217
+ {
218
+ param([string]$Data)
219
+
220
+ # Guard clauses at the start
221
+ if ([string]::IsNullOrWhiteSpace($Data))
222
+ {
223
+ throw "Data cannot be null or empty"
224
+ }
225
+
226
+ if ($Data.Length -gt 1000)
227
+ {
228
+ throw "Data exceeds maximum length of 1000 characters"
229
+ }
230
+
231
+ # Main logic
232
+ return $Data.ToUpper()
233
+ }
234
+ ```
235
+
236
+ ## Best Practices
237
+
238
+ ### 1. Always Use Try-Catch for External Operations
239
+
240
+ ```powershell
241
+ # ✅ Correct
242
+ try
243
+ {
244
+ $response = Invoke-RestMethod -Uri $apiUrl
245
+ }
246
+ catch
247
+ {
248
+ Write-Error "API call failed: $_"
249
+ }
250
+
251
+ # ❌ Incorrect (no error handling)
252
+ $response = Invoke-RestMethod -Uri $apiUrl
253
+ ```
254
+
255
+ ### 2. Provide Context in Error Messages
256
+
257
+ ```powershell
258
+ # ✅ Descriptive
259
+ catch
260
+ {
261
+ Write-Error "Failed to process user '$userName' from file '$filePath': $($_.Exception.Message)"
262
+ }
263
+
264
+ # ❌ Generic
265
+ catch
266
+ {
267
+ Write-Error "Error: $_"
268
+ }
269
+ ```
270
+
271
+ ### 3. Clean Up Resources
272
+
273
+ ```powershell
274
+ $stream = $null
275
+ try
276
+ {
277
+ $stream = [System.IO.File]::OpenRead($path)
278
+ # Process stream
279
+ }
280
+ finally
281
+ {
282
+ if ($stream)
283
+ {
284
+ $stream.Dispose()
285
+ }
286
+ }
287
+ ```
288
+
289
+ ### 4. Don't Swallow Errors
290
+
291
+ ```powershell
292
+ # ❌ Bad: Silent failure
293
+ try
294
+ {
295
+ Remove-Item $path
296
+ }
297
+ catch
298
+ {
299
+ # Empty catch - error is lost
300
+ }
301
+
302
+ # ✅ Good: Log or re-throw
303
+ try
304
+ {
305
+ Remove-Item $path
306
+ }
307
+ catch
308
+ {
309
+ Write-Warning "Could not remove $path: $_"
310
+ # Or re-throw if critical
311
+ throw
312
+ }
313
+ ```
314
+