@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,426 @@
1
+ # PHP Web Applications Best Practices
2
+
3
+ ## Overview
4
+
5
+ This guide provides best practices for developing PHP web applications using MVC architecture, modern frameworks (Laravel, Symfony), templating engines, and secure form handling.
6
+
7
+ ## MVC Architecture
8
+
9
+ ### Controllers
10
+
11
+ **Keep controllers thin** - Controllers should delegate business logic to services.
12
+
13
+ ```php
14
+ <?php
15
+
16
+ namespace App\Controllers;
17
+
18
+ use App\Services\UserService;
19
+ use Symfony\Component\HttpFoundation\Request;
20
+ use Symfony\Component\HttpFoundation\Response;
21
+
22
+ class UserController
23
+ {
24
+ public function __construct(
25
+ private UserService $userService
26
+ ) {}
27
+
28
+ public function index(): Response
29
+ {
30
+ // Thin controller - delegates to service
31
+ $users = $this->userService->getAllUsers();
32
+
33
+ return $this->render('users/index', [
34
+ 'users' => $users
35
+ ]);
36
+ }
37
+
38
+ public function store(Request $request): Response
39
+ {
40
+ // Validate and delegate
41
+ $validated = $this->validate($request, [
42
+ 'name' => 'required|string|max:255',
43
+ 'email' => 'required|email|unique:users'
44
+ ]);
45
+
46
+ $user = $this->userService->createUser($validated);
47
+
48
+ return $this->redirect('/users/' . $user->id);
49
+ }
50
+ }
51
+ ```
52
+
53
+ ### Models
54
+
55
+ **Models handle data logic** - Use Eloquent ORM or Doctrine for database interactions.
56
+
57
+ ```php
58
+ <?php
59
+
60
+ namespace App\Models;
61
+
62
+ use Illuminate\Database\Eloquent\Model;
63
+ use Illuminate\Database\Eloquent\Relations\HasMany;
64
+
65
+ class User extends Model
66
+ {
67
+ protected $fillable = ['name', 'email', 'password'];
68
+
69
+ protected $hidden = ['password', 'remember_token'];
70
+
71
+ protected $casts = [
72
+ 'email_verified_at' => 'datetime',
73
+ 'is_active' => 'boolean'
74
+ ];
75
+
76
+ // Relationships
77
+ public function posts(): HasMany
78
+ {
79
+ return $this->hasMany(Post::class);
80
+ }
81
+
82
+ // Accessors
83
+ public function getFullNameAttribute(): string
84
+ {
85
+ return "{$this->first_name} {$this->last_name}";
86
+ }
87
+
88
+ // Scopes
89
+ public function scopeActive($query)
90
+ {
91
+ return $query->where('is_active', true);
92
+ }
93
+ }
94
+ ```
95
+
96
+ ### Views
97
+
98
+ **Minimal logic in views** - Use template engines with auto-escaping.
99
+
100
+ ```php
101
+ <!-- Blade Template (Laravel) -->
102
+ @extends('layouts.app')
103
+
104
+ @section('content')
105
+ <h1>{{ $title }}</h1>
106
+
107
+ @foreach($users as $user)
108
+ <div class="user-card">
109
+ <h2>{{ $user->name }}</h2>
110
+ <p>{{ $user->email }}</p>
111
+
112
+ @if($user->is_active)
113
+ <span class="badge badge-success">Active</span>
114
+ @else
115
+ <span class="badge badge-danger">Inactive</span>
116
+ @endif
117
+ </div>
118
+ @endforeach
119
+ @endsection
120
+ ```
121
+
122
+ ## Routing
123
+
124
+ ### RESTful Routes
125
+
126
+ ```php
127
+ <?php
128
+
129
+ use App\Controllers\UserController;
130
+ use Illuminate\Support\Facades\Route;
131
+
132
+ // RESTful resource routes
133
+ Route::resource('users', UserController::class);
134
+
135
+ // Generates:
136
+ // GET /users -> index()
137
+ // GET /users/create -> create()
138
+ // POST /users -> store()
139
+ // GET /users/{id} -> show()
140
+ // GET /users/{id}/edit -> edit()
141
+ // PUT /users/{id} -> update()
142
+ // DELETE /users/{id} -> destroy()
143
+
144
+ // Route model binding
145
+ Route::get('/users/{user}', function (User $user) {
146
+ return view('users.show', ['user' => $user]);
147
+ });
148
+
149
+ // Route groups with middleware
150
+ Route::middleware(['auth', 'verified'])->group(function () {
151
+ Route::get('/dashboard', [DashboardController::class, 'index']);
152
+ Route::resource('posts', PostController::class);
153
+ });
154
+ ```
155
+
156
+ ## Template Engines
157
+
158
+ ### Twig (Symfony)
159
+
160
+ ```php
161
+ <?php
162
+
163
+ // Controller
164
+ return $this->render('user/profile.html.twig', [
165
+ 'user' => $user,
166
+ 'posts' => $posts
167
+ ]);
168
+ ```
169
+
170
+ ```twig
171
+ {# Template: user/profile.html.twig #}
172
+ {% extends 'base.html.twig' %}
173
+
174
+ {% block title %}{{ user.name }} - Profile{% endblock %}
175
+
176
+ {% block content %}
177
+ <h1>{{ user.name }}</h1>
178
+ <p>{{ user.email }}</p>
179
+
180
+ {# Auto-escaping enabled by default #}
181
+ <div>{{ user.bio }}</div>
182
+
183
+ {# Raw output (use with caution) #}
184
+ <div>{{ user.html_content|raw }}</div>
185
+
186
+ {# Loops #}
187
+ {% for post in posts %}
188
+ <article>
189
+ <h2>{{ post.title }}</h2>
190
+ <p>{{ post.excerpt }}</p>
191
+ </article>
192
+ {% endfor %}
193
+ {% endblock %}
194
+ ```
195
+
196
+ ### Blade (Laravel)
197
+
198
+ ```php
199
+ {{-- Template inheritance --}}
200
+ @extends('layouts.app')
201
+
202
+ @section('title', 'User Profile')
203
+
204
+ @section('content')
205
+ <h1>{{ $user->name }}</h1>
206
+
207
+ {{-- Components --}}
208
+ <x-alert type="success">
209
+ Profile updated successfully!
210
+ </x-alert>
211
+
212
+ {{-- Directives --}}
213
+ @auth
214
+ <a href="/profile/edit">Edit Profile</a>
215
+ @endauth
216
+
217
+ @include('partials.user-stats', ['user' => $user])
218
+ @endsection
219
+ ```
220
+
221
+ ## Form Handling
222
+
223
+ ### CSRF Protection
224
+
225
+ **Always use CSRF tokens** for forms.
226
+
227
+ ```php
228
+ <!-- Blade -->
229
+ <form method="POST" action="/users">
230
+ @csrf
231
+ <input type="text" name="name" value="{{ old('name') }}">
232
+ <button type="submit">Submit</button>
233
+ </form>
234
+
235
+ <!-- Twig -->
236
+ <form method="post" action="{{ path('user_create') }}">
237
+ <input type="hidden" name="_token" value="{{ csrf_token('user_create') }}">
238
+ <input type="text" name="name">
239
+ <button type="submit">Submit</button>
240
+ </form>
241
+ ```
242
+
243
+ ### Form Validation
244
+
245
+ **Use dedicated validation classes** (Form Requests in Laravel).
246
+
247
+ ```php
248
+ <?php
249
+
250
+ namespace App\Http\Requests;
251
+
252
+ use Illuminate\Foundation\Http\FormRequest;
253
+
254
+ class StoreUserRequest extends FormRequest
255
+ {
256
+ public function authorize(): bool
257
+ {
258
+ return $this->user()->can('create', User::class);
259
+ }
260
+
261
+ public function rules(): array
262
+ {
263
+ return [
264
+ 'name' => 'required|string|max:255',
265
+ 'email' => 'required|email|unique:users,email',
266
+ 'password' => 'required|min:8|confirmed',
267
+ 'age' => 'nullable|integer|min:18|max:120',
268
+ 'role' => 'required|in:user,admin,moderator'
269
+ ];
270
+ }
271
+
272
+ public function messages(): array
273
+ {
274
+ return [
275
+ 'name.required' => 'Please provide your name',
276
+ 'email.unique' => 'This email is already registered',
277
+ 'password.min' => 'Password must be at least 8 characters'
278
+ ];
279
+ }
280
+ }
281
+
282
+ // Controller usage
283
+ public function store(StoreUserRequest $request)
284
+ {
285
+ // Validation already passed
286
+ $validated = $request->validated();
287
+
288
+ $user = User::create($validated);
289
+
290
+ return redirect('/users')->with('success', 'User created!');
291
+ }
292
+ ```
293
+
294
+ ### Displaying Validation Errors
295
+
296
+ ```php
297
+ <!-- Blade -->
298
+ @if ($errors->any())
299
+ <div class="alert alert-danger">
300
+ <ul>
301
+ @foreach ($errors->all() as $error)
302
+ <li>{{ $error }}</li>
303
+ @endforeach
304
+ </ul>
305
+ </div>
306
+ @endif
307
+
308
+ <!-- Field-specific errors -->
309
+ <input type="text" name="email" value="{{ old('email') }}"
310
+ class="@error('email') is-invalid @enderror">
311
+ @error('email')
312
+ <span class="error">{{ $message }}</span>
313
+ @enderror
314
+ ```
315
+
316
+ ## Middleware
317
+
318
+ ### Creating Middleware
319
+
320
+ ```php
321
+ <?php
322
+
323
+ namespace App\Http\Middleware;
324
+
325
+ use Closure;
326
+ use Illuminate\Http\Request;
327
+
328
+ class CheckUserRole
329
+ {
330
+ public function handle(Request $request, Closure $next, string $role)
331
+ {
332
+ if (!$request->user() || !$request->user()->hasRole($role)) {
333
+ abort(403, 'Unauthorized action.');
334
+ }
335
+
336
+ return $next($request);
337
+ }
338
+ }
339
+
340
+ // Usage in routes
341
+ Route::middleware(['auth', 'role:admin'])->group(function () {
342
+ Route::get('/admin/dashboard', [AdminController::class, 'index']);
343
+ });
344
+ ```
345
+
346
+ ## Session Management
347
+
348
+ ### Using Sessions
349
+
350
+ ```php
351
+ <?php
352
+
353
+ // Store data
354
+ session(['key' => 'value']);
355
+ $request->session()->put('user_id', $user->id);
356
+
357
+ // Retrieve data
358
+ $value = session('key');
359
+ $userId = $request->session()->get('user_id');
360
+
361
+ // Flash data (available for next request only)
362
+ $request->session()->flash('status', 'Task was successful!');
363
+
364
+ // Regenerate session ID (after login)
365
+ $request->session()->regenerate();
366
+
367
+ // Destroy session (logout)
368
+ $request->session()->invalidate();
369
+ ```
370
+
371
+ ## Best Practices
372
+
373
+ ### ✅ DO
374
+
375
+ - Use route model binding for automatic model injection
376
+ - Implement middleware for cross-cutting concerns (auth, logging, CORS)
377
+ - Use service classes for complex business logic
378
+ - Leverage dependency injection for testability
379
+ - Use database migrations for schema management
380
+ - Implement proper error handling and logging
381
+ - Use environment variables for configuration
382
+ - Enable HTTPS in production
383
+ - Implement rate limiting for public endpoints
384
+ - Use queues for long-running tasks
385
+
386
+ ### ❌ DON'T
387
+
388
+ - Put business logic in controllers or views
389
+ - Use raw SQL queries without parameter binding
390
+ - Store sensitive data in sessions without encryption
391
+ - Disable CSRF protection
392
+ - Use `extract()` on user input
393
+ - Echo user input without escaping
394
+ - Use `eval()` or similar dangerous functions
395
+ - Hardcode credentials or API keys
396
+ - Ignore validation errors
397
+ - Use global variables for state management
398
+
399
+ ## Security Checklist
400
+
401
+ - [ ] CSRF tokens on all forms
402
+ - [ ] Input validation on all user data
403
+ - [ ] Output escaping in all views
404
+ - [ ] Prepared statements for database queries
405
+ - [ ] HTTPS enforced in production
406
+ - [ ] Secure session configuration (httponly, secure flags)
407
+ - [ ] Password hashing with bcrypt/argon2
408
+ - [ ] Rate limiting on authentication endpoints
409
+ - [ ] SQL injection prevention
410
+ - [ ] XSS prevention
411
+ - [ ] File upload validation
412
+ - [ ] Proper error handling (don't expose stack traces)
413
+
414
+ ## Performance Tips
415
+
416
+ - Use eager loading to avoid N+1 queries
417
+ - Implement caching for frequently accessed data
418
+ - Use database indexes on frequently queried columns
419
+ - Optimize images and assets
420
+ - Enable OPcache in production
421
+ - Use CDN for static assets
422
+ - Implement database query logging in development
423
+ - Use pagination for large datasets
424
+ - Minimize middleware stack
425
+ - Use lazy loading for heavy resources
426
+
@@ -0,0 +1,154 @@
1
+ # PowerShell Coding Standards
2
+
3
+ Comprehensive PowerShell coding standards for professional, maintainable, and secure PowerShell code.
4
+
5
+ ## Overview
6
+
7
+ This module provides AI-driven guidance for writing PowerShell code across diverse project types including automation scripts, modules, DSC configurations, cloud orchestration, administrative tools, cross-platform scripts, and legacy migrations.
8
+
9
+ ## Installation
10
+
11
+ ### With CLI (Future)
12
+ ```bash
13
+ augx link coding-standards/powershell
14
+ ```
15
+
16
+ ### Without CLI (Current)
17
+ Copy the contents of this module to your project's `.augment/` folder or reference it directly from this repository.
18
+
19
+ ## Key Features
20
+
21
+ - **Universal Standards**: Naming conventions, error handling, security practices
22
+ - **Category-Specific Rules**: Tailored guidance for 7 PowerShell project types
23
+ - **Code Examples**: Working examples demonstrating best practices
24
+ - **Configuration System**: Project-specific category selection
25
+ - **PSScriptAnalyzer Integration**: Static analysis compliance
26
+ - **Pester Testing**: Comprehensive testing guidelines
27
+
28
+ ## Directory Structure
29
+
30
+ ```
31
+ augment-extensions/coding-standards/powershell/
32
+ ├── module.json # Module metadata
33
+ ├── README.md # This file
34
+ ├── rules/
35
+ │ ├── universal-standards.md # Cross-cutting standards
36
+ │ ├── naming-conventions.md # Verb-Noun, PascalCase
37
+ │ ├── error-handling.md # Try-Catch-Finally patterns
38
+ │ ├── security-practices.md # Credential handling, signing
39
+ │ ├── performance-optimization.md # Pipeline efficiency
40
+ │ ├── testing-guidelines.md # Pester integration
41
+ │ ├── configuration-schema.md # Configuration file schema
42
+ │ ├── automation-scripts.md # Category: Automation
43
+ │ ├── modules-functions.md # Category: Modules
44
+ │ ├── dsc-configurations.md # Category: DSC
45
+ │ ├── cloud-orchestration.md # Category: Cloud
46
+ │ ├── administrative-tools.md # Category: Admin
47
+ │ ├── cross-platform-scripts.md # Category: Cross-platform
48
+ │ └── legacy-migrations.md # Category: Legacy
49
+ └── examples/
50
+ ├── automation-example.ps1
51
+ ├── module-example.psm1
52
+ ├── dsc-example.ps1
53
+ ├── cloud-example.ps1
54
+ ├── admin-example.ps1
55
+ ├── cross-platform-example.ps1
56
+ └── legacy-migration-example.ps1
57
+ ```
58
+
59
+ ## Core Guidelines
60
+
61
+ ### Naming Conventions
62
+ - **Functions**: Verb-Noun format (e.g., `Get-UserData`, `Set-Configuration`)
63
+ - **Parameters**: PascalCase (e.g., `$UserName`, `$FilePath`)
64
+ - **Variables**: camelCase or PascalCase (consistent within project)
65
+ - **Approved Verbs**: Use `Get-Verb` to see approved verbs
66
+
67
+ ### Error Handling
68
+ ```powershell
69
+ try {
70
+ # Code that might fail
71
+ Get-Item -Path $Path -ErrorAction Stop
72
+ }
73
+ catch [System.IO.FileNotFoundException] {
74
+ Write-Error "File not found: $Path"
75
+ }
76
+ finally {
77
+ # Cleanup code
78
+ }
79
+ ```
80
+
81
+ ### Security Practices
82
+ - Use `PSCredential` objects for credentials
83
+ - Never store plain-text passwords
84
+ - Sign scripts for production
85
+ - Validate and sanitize all input
86
+
87
+ ### Performance
88
+ - Use pipeline efficiently
89
+ - Avoid unnecessary loops
90
+ - Use `-Filter` instead of `Where-Object` when possible
91
+ - Measure performance with `Measure-Command`
92
+
93
+ ## Project Categories
94
+
95
+ ### 1. Automation Scripts
96
+ Task automation, scheduled tasks, output formatting
97
+
98
+ ### 2. Modules and Functions
99
+ CmdletBinding, parameter sets, SupportsShouldProcess
100
+
101
+ ### 3. DSC Configurations
102
+ Declarative scripting, configuration data separation
103
+
104
+ ### 4. Cloud Orchestration
105
+ Azure/AWS cmdlets, ARM/Bicep integration
106
+
107
+ ### 5. Administrative Tools
108
+ Active Directory, Exchange, SQL management
109
+
110
+ ### 6. Cross-Platform Scripts
111
+ OS-agnostic code, path handling
112
+
113
+ ### 7. Legacy Migrations
114
+ Windows PowerShell → PowerShell Core
115
+
116
+ ## Configuration
117
+
118
+ Create `.augment/powershell-config.json`:
119
+
120
+ ```json
121
+ {
122
+ "powershell_categories": ["automation", "modules"],
123
+ "powershell_version": "7.4",
124
+ "strict_mode": true,
125
+ "static_analysis": {
126
+ "tool": "PSScriptAnalyzer",
127
+ "severity": "Warning"
128
+ },
129
+ "testing": {
130
+ "framework": "Pester",
131
+ "version": "5.x"
132
+ }
133
+ }
134
+ ```
135
+
136
+ ## Character Count
137
+
138
+ **Total**: ~162,000 characters
139
+
140
+ ## Contents
141
+
142
+ - **6 Universal Rule Files**: Standards applying to all PowerShell projects
143
+ - **1 Configuration Schema**: .augment/powershell-config.json schema documentation
144
+ - **7 Category-Specific Rule Files**: Detailed guidance for each project type
145
+ - **7 Code Examples**: Working examples for each category
146
+
147
+ ## Usage
148
+
149
+ The AI agent will automatically apply these standards when working with PowerShell files (*.ps1, *.psm1, *.psd1). Configure your project categories in `.augment/powershell-config.json` to load only relevant rules.
150
+
151
+ ## Version
152
+
153
+ **1.0.0** - Initial release
154
+