@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,501 @@
1
+ # WordPress REST API Development Workflow
2
+
3
+ ## Overview
4
+
5
+ This document provides workflows for extending the WordPress REST API with custom endpoints and modifying existing endpoints.
6
+
7
+ ## Workflow 1: Register Custom REST API Endpoint
8
+
9
+ ### Step 1: Create Basic Endpoint
10
+
11
+ **functions.php** or plugin file:
12
+ ```php
13
+ /**
14
+ * Register custom REST API endpoint
15
+ */
16
+ function register_custom_api_endpoint() {
17
+ register_rest_route( 'my-plugin/v1', '/items', array(
18
+ 'methods' => 'GET',
19
+ 'callback' => 'get_custom_items',
20
+ 'permission_callback' => '__return_true', // Public endpoint
21
+ ) );
22
+ }
23
+ add_action( 'rest_api_init', 'register_custom_api_endpoint' );
24
+
25
+ /**
26
+ * Callback function for endpoint
27
+ */
28
+ function get_custom_items( $request ) {
29
+ $items = array(
30
+ array(
31
+ 'id' => 1,
32
+ 'title' => 'Item 1',
33
+ 'description' => 'First item',
34
+ ),
35
+ array(
36
+ 'id' => 2,
37
+ 'title' => 'Item 2',
38
+ 'description' => 'Second item',
39
+ ),
40
+ );
41
+
42
+ return new WP_REST_Response( $items, 200 );
43
+ }
44
+ ```
45
+
46
+ **Access endpoint**:
47
+ ```
48
+ GET https://example.com/wp-json/my-plugin/v1/items
49
+ ```
50
+
51
+ ### Step 2: Add Multiple HTTP Methods
52
+
53
+ ```php
54
+ /**
55
+ * Register endpoint with multiple methods
56
+ */
57
+ function register_crud_endpoint() {
58
+ // GET - Retrieve items
59
+ register_rest_route( 'my-plugin/v1', '/items', array(
60
+ 'methods' => 'GET',
61
+ 'callback' => 'get_items',
62
+ 'permission_callback' => '__return_true',
63
+ ) );
64
+
65
+ // POST - Create item
66
+ register_rest_route( 'my-plugin/v1', '/items', array(
67
+ 'methods' => 'POST',
68
+ 'callback' => 'create_item',
69
+ 'permission_callback' => 'check_create_permission',
70
+ 'args' => get_item_schema(),
71
+ ) );
72
+
73
+ // GET - Retrieve single item
74
+ register_rest_route( 'my-plugin/v1', '/items/(?P<id>\d+)', array(
75
+ 'methods' => 'GET',
76
+ 'callback' => 'get_item',
77
+ 'permission_callback' => '__return_true',
78
+ 'args' => array(
79
+ 'id' => array(
80
+ 'validate_callback' => function( $param ) {
81
+ return is_numeric( $param );
82
+ },
83
+ ),
84
+ ),
85
+ ) );
86
+
87
+ // PUT - Update item
88
+ register_rest_route( 'my-plugin/v1', '/items/(?P<id>\d+)', array(
89
+ 'methods' => 'PUT',
90
+ 'callback' => 'update_item',
91
+ 'permission_callback' => 'check_update_permission',
92
+ 'args' => get_item_schema(),
93
+ ) );
94
+
95
+ // DELETE - Delete item
96
+ register_rest_route( 'my-plugin/v1', '/items/(?P<id>\d+)', array(
97
+ 'methods' => 'DELETE',
98
+ 'callback' => 'delete_item',
99
+ 'permission_callback' => 'check_delete_permission',
100
+ ) );
101
+ }
102
+ add_action( 'rest_api_init', 'register_crud_endpoint' );
103
+ ```
104
+
105
+ ### Step 3: Implement Callback Functions
106
+
107
+ **GET single item**:
108
+ ```php
109
+ function get_item( $request ) {
110
+ $id = $request['id'];
111
+
112
+ // Retrieve item from database
113
+ $item = get_post( $id );
114
+
115
+ if ( ! $item ) {
116
+ return new WP_Error( 'not_found', __( 'Item not found', 'my-plugin' ), array( 'status' => 404 ) );
117
+ }
118
+
119
+ $data = array(
120
+ 'id' => $item->ID,
121
+ 'title' => $item->post_title,
122
+ 'content' => $item->post_content,
123
+ 'date' => $item->post_date,
124
+ );
125
+
126
+ return new WP_REST_Response( $data, 200 );
127
+ }
128
+ ```
129
+
130
+ **POST - Create item**:
131
+ ```php
132
+ function create_item( $request ) {
133
+ $title = sanitize_text_field( $request['title'] );
134
+ $content = sanitize_textarea_field( $request['content'] );
135
+
136
+ $post_id = wp_insert_post( array(
137
+ 'post_title' => $title,
138
+ 'post_content' => $content,
139
+ 'post_status' => 'publish',
140
+ 'post_type' => 'post',
141
+ ) );
142
+
143
+ if ( is_wp_error( $post_id ) ) {
144
+ return new WP_Error( 'create_failed', __( 'Failed to create item', 'my-plugin' ), array( 'status' => 500 ) );
145
+ }
146
+
147
+ $data = array(
148
+ 'id' => $post_id,
149
+ 'title' => $title,
150
+ 'content' => $content,
151
+ );
152
+
153
+ return new WP_REST_Response( $data, 201 );
154
+ }
155
+ ```
156
+
157
+ **PUT - Update item**:
158
+ ```php
159
+ function update_item( $request ) {
160
+ $id = $request['id'];
161
+ $title = sanitize_text_field( $request['title'] );
162
+ $content = sanitize_textarea_field( $request['content'] );
163
+
164
+ $result = wp_update_post( array(
165
+ 'ID' => $id,
166
+ 'post_title' => $title,
167
+ 'post_content' => $content,
168
+ ) );
169
+
170
+ if ( is_wp_error( $result ) ) {
171
+ return new WP_Error( 'update_failed', __( 'Failed to update item', 'my-plugin' ), array( 'status' => 500 ) );
172
+ }
173
+
174
+ $data = array(
175
+ 'id' => $id,
176
+ 'title' => $title,
177
+ 'content' => $content,
178
+ );
179
+
180
+ return new WP_REST_Response( $data, 200 );
181
+ }
182
+ ```
183
+
184
+ **DELETE - Delete item**:
185
+ ```php
186
+ function delete_item( $request ) {
187
+ $id = $request['id'];
188
+
189
+ $result = wp_delete_post( $id, true );
190
+
191
+ if ( ! $result ) {
192
+ return new WP_Error( 'delete_failed', __( 'Failed to delete item', 'my-plugin' ), array( 'status' => 500 ) );
193
+ }
194
+
195
+ return new WP_REST_Response( array( 'deleted' => true ), 200 );
196
+ }
197
+ ```
198
+
199
+ ## Workflow 2: Permission Callbacks
200
+
201
+ ### Public Endpoint (No Authentication)
202
+
203
+ ```php
204
+ 'permission_callback' => '__return_true',
205
+ ```
206
+
207
+ ### Require Authentication
208
+
209
+ ```php
210
+ function check_authentication() {
211
+ return is_user_logged_in();
212
+ }
213
+
214
+ 'permission_callback' => 'check_authentication',
215
+ ```
216
+
217
+ ### Require Specific Capability
218
+
219
+ ```php
220
+ function check_admin_permission() {
221
+ return current_user_can( 'manage_options' );
222
+ }
223
+
224
+ 'permission_callback' => 'check_admin_permission',
225
+ ```
226
+
227
+ ### Custom Permission Logic
228
+
229
+ ```php
230
+ function check_custom_permission( $request ) {
231
+ // Check if user is logged in
232
+ if ( ! is_user_logged_in() ) {
233
+ return false;
234
+ }
235
+
236
+ // Check if user has capability
237
+ if ( ! current_user_can( 'edit_posts' ) ) {
238
+ return false;
239
+ }
240
+
241
+ // Check if user owns the resource
242
+ $id = $request['id'];
243
+ $post = get_post( $id );
244
+
245
+ if ( $post && $post->post_author != get_current_user_id() ) {
246
+ return false;
247
+ }
248
+
249
+ return true;
250
+ }
251
+
252
+ 'permission_callback' => 'check_custom_permission',
253
+ ```
254
+
255
+ ## Workflow 3: Input Validation and Sanitization
256
+
257
+ ### Define Argument Schema
258
+
259
+ ```php
260
+ function get_item_schema() {
261
+ return array(
262
+ 'title' => array(
263
+ 'required' => true,
264
+ 'type' => 'string',
265
+ 'description' => __( 'Item title', 'my-plugin' ),
266
+ 'sanitize_callback' => 'sanitize_text_field',
267
+ 'validate_callback' => function( $param ) {
268
+ return ! empty( $param ) && strlen( $param ) <= 200;
269
+ },
270
+ ),
271
+ 'content' => array(
272
+ 'required' => false,
273
+ 'type' => 'string',
274
+ 'description' => __( 'Item content', 'my-plugin' ),
275
+ 'sanitize_callback' => 'sanitize_textarea_field',
276
+ ),
277
+ 'status' => array(
278
+ 'required' => false,
279
+ 'type' => 'string',
280
+ 'description' => __( 'Item status', 'my-plugin' ),
281
+ 'enum' => array( 'draft', 'published', 'archived' ),
282
+ 'default' => 'draft',
283
+ ),
284
+ 'count' => array(
285
+ 'required' => false,
286
+ 'type' => 'integer',
287
+ 'description' => __( 'Item count', 'my-plugin' ),
288
+ 'minimum' => 0,
289
+ 'maximum' => 100,
290
+ 'default' => 0,
291
+ ),
292
+ );
293
+ }
294
+ ```
295
+
296
+ ### Custom Validation
297
+
298
+ ```php
299
+ function validate_email( $param, $request, $key ) {
300
+ if ( ! is_email( $param ) ) {
301
+ return new WP_Error( 'invalid_email', __( 'Invalid email address', 'my-plugin' ) );
302
+ }
303
+ return true;
304
+ }
305
+
306
+ 'args' => array(
307
+ 'email' => array(
308
+ 'required' => true,
309
+ 'validate_callback' => 'validate_email',
310
+ 'sanitize_callback' => 'sanitize_email',
311
+ ),
312
+ ),
313
+ ```
314
+
315
+ ## Workflow 4: Query Parameters
316
+
317
+ ### Accept Query Parameters
318
+
319
+ ```php
320
+ function get_items_with_filters( $request ) {
321
+ $params = $request->get_params();
322
+
323
+ $args = array(
324
+ 'post_type' => 'post',
325
+ 'posts_per_page' => isset( $params['per_page'] ) ? absint( $params['per_page'] ) : 10,
326
+ 'paged' => isset( $params['page'] ) ? absint( $params['page'] ) : 1,
327
+ 'orderby' => isset( $params['orderby'] ) ? sanitize_text_field( $params['orderby'] ) : 'date',
328
+ 'order' => isset( $params['order'] ) ? sanitize_text_field( $params['order'] ) : 'DESC',
329
+ );
330
+
331
+ if ( isset( $params['search'] ) ) {
332
+ $args['s'] = sanitize_text_field( $params['search'] );
333
+ }
334
+
335
+ $query = new WP_Query( $args );
336
+
337
+ $items = array();
338
+ foreach ( $query->posts as $post ) {
339
+ $items[] = array(
340
+ 'id' => $post->ID,
341
+ 'title' => $post->post_title,
342
+ );
343
+ }
344
+
345
+ $response = new WP_REST_Response( $items, 200 );
346
+
347
+ // Add pagination headers
348
+ $response->header( 'X-WP-Total', $query->found_posts );
349
+ $response->header( 'X-WP-TotalPages', $query->max_num_pages );
350
+
351
+ return $response;
352
+ }
353
+ ```
354
+
355
+ **Usage**:
356
+ ```
357
+ GET /wp-json/my-plugin/v1/items?per_page=20&page=2&orderby=title&order=ASC&search=keyword
358
+ ```
359
+
360
+ ## Workflow 5: Authentication
361
+
362
+ ### Application Passwords (WordPress 5.6+)
363
+
364
+ ```php
365
+ // No additional code needed - WordPress handles it
366
+ // Users create application passwords in their profile
367
+ ```
368
+
369
+ **Usage**:
370
+ ```bash
371
+ curl -X GET https://example.com/wp-json/my-plugin/v1/items \
372
+ --user "username:application-password"
373
+ ```
374
+
375
+ ### JWT Authentication (Plugin Required)
376
+
377
+ Install JWT Authentication plugin, then:
378
+
379
+ ```php
380
+ /**
381
+ * Endpoint requiring JWT authentication
382
+ */
383
+ register_rest_route( 'my-plugin/v1', '/secure-data', array(
384
+ 'methods' => 'GET',
385
+ 'callback' => 'get_secure_data',
386
+ 'permission_callback' => function() {
387
+ return is_user_logged_in();
388
+ },
389
+ ) );
390
+ ```
391
+
392
+ **Usage**:
393
+ ```bash
394
+ # Get token
395
+ curl -X POST https://example.com/wp-json/jwt-auth/v1/token \
396
+ -d "username=admin&password=password"
397
+
398
+ # Use token
399
+ curl -X GET https://example.com/wp-json/my-plugin/v1/secure-data \
400
+ -H "Authorization: Bearer YOUR_TOKEN"
401
+ ```
402
+
403
+ ### Custom API Key Authentication
404
+
405
+ ```php
406
+ /**
407
+ * Validate API key
408
+ */
409
+ function validate_api_key( $request ) {
410
+ $api_key = $request->get_header( 'X-API-Key' );
411
+
412
+ if ( ! $api_key ) {
413
+ return false;
414
+ }
415
+
416
+ $valid_keys = get_option( 'my_plugin_api_keys', array() );
417
+
418
+ return in_array( $api_key, $valid_keys, true );
419
+ }
420
+
421
+ register_rest_route( 'my-plugin/v1', '/data', array(
422
+ 'methods' => 'GET',
423
+ 'callback' => 'get_data',
424
+ 'permission_callback' => 'validate_api_key',
425
+ ) );
426
+ ```
427
+
428
+ ## Workflow 6: Modify Existing Endpoints
429
+
430
+ ### Add Custom Fields to Posts
431
+
432
+ ```php
433
+ /**
434
+ * Add custom field to post response
435
+ */
436
+ function add_custom_field_to_post() {
437
+ register_rest_field( 'post', 'custom_field', array(
438
+ 'get_callback' => function( $post ) {
439
+ return get_post_meta( $post['id'], '_custom_field', true );
440
+ },
441
+ 'update_callback' => function( $value, $post ) {
442
+ return update_post_meta( $post->ID, '_custom_field', sanitize_text_field( $value ) );
443
+ },
444
+ 'schema' => array(
445
+ 'description' => __( 'Custom field', 'my-plugin' ),
446
+ 'type' => 'string',
447
+ ),
448
+ ) );
449
+ }
450
+ add_action( 'rest_api_init', 'add_custom_field_to_post' );
451
+ ```
452
+
453
+ ### Modify Response Data
454
+
455
+ ```php
456
+ /**
457
+ * Modify post response
458
+ */
459
+ function modify_post_response( $response, $post, $request ) {
460
+ $data = $response->get_data();
461
+
462
+ // Add custom data
463
+ $data['custom_data'] = array(
464
+ 'views' => get_post_meta( $post->ID, 'views', true ),
465
+ 'likes' => get_post_meta( $post->ID, 'likes', true ),
466
+ );
467
+
468
+ $response->set_data( $data );
469
+
470
+ return $response;
471
+ }
472
+ add_filter( 'rest_prepare_post', 'modify_post_response', 10, 3 );
473
+ ```
474
+
475
+ ## Best Practices
476
+
477
+ ### DO
478
+
479
+ ✅ Use proper HTTP status codes (200, 201, 400, 401, 404, 500)
480
+ ✅ Validate all input
481
+ ✅ Sanitize all data
482
+ ✅ Use permission callbacks
483
+ ✅ Return WP_Error for errors
484
+ ✅ Use WP_REST_Response for success
485
+ ✅ Version your API (v1, v2)
486
+ ✅ Document your endpoints
487
+ ✅ Use proper HTTP methods (GET, POST, PUT, DELETE)
488
+ ✅ Add pagination for large datasets
489
+
490
+ ### DON'T
491
+
492
+ ❌ Trust user input
493
+ ❌ Use `__return_true` for sensitive endpoints
494
+ ❌ Forget error handling
495
+ ❌ Return raw database data
496
+ ❌ Ignore authentication
497
+ ❌ Skip input validation
498
+ ❌ Use deprecated functions
499
+ ❌ Hardcode values
500
+ ❌ Forget to sanitize output
501
+