@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,502 @@
1
+ # Vector-Based MCP Example: Knowledge Base Q&A
2
+
3
+ ## Use Case
4
+
5
+ A knowledge base Q&A system that retrieves relevant documentation using semantic search (RAG - Retrieval Augmented Generation).
6
+
7
+ **Challenges**:
8
+ - Large knowledge base (10,000+ documents)
9
+ - Semantic similarity search
10
+ - Relevance ranking
11
+ - Context window management
12
+
13
+ ---
14
+
15
+ ## Configuration
16
+
17
+ ```json
18
+ {
19
+ "mcp": {
20
+ "type": "vector",
21
+ "embedding": {
22
+ "model": "voyage-3-large",
23
+ "dimensions": 1024,
24
+ "batchSize": 100
25
+ },
26
+ "vectorStore": {
27
+ "backend": "pinecone",
28
+ "index": "knowledge-base",
29
+ "metric": "cosine"
30
+ },
31
+ "retrieval": {
32
+ "topK": 10,
33
+ "minScore": 0.7,
34
+ "rerankingEnabled": true,
35
+ "rerankingModel": "cohere-rerank-v3"
36
+ },
37
+ "chunking": {
38
+ "strategy": "semantic",
39
+ "chunkSize": 512,
40
+ "overlap": 50
41
+ }
42
+ }
43
+ }
44
+ ```
45
+
46
+ ---
47
+
48
+ ## Architecture
49
+
50
+ ```
51
+ ┌─────────────────────────────────────────────────────────────┐
52
+ │ Knowledge Base (10,000 documents) │
53
+ └─────────────────────────────────────────────────────────────┘
54
+
55
+
56
+ ┌─────────────────────────────────────────────────────────────┐
57
+ │ Document Processing Pipeline │
58
+ │ ┌──────────────────────────────────────────────────────┐ │
59
+ │ │ 1. Chunking (semantic, 512 tokens, 50 overlap) │ │
60
+ │ └──────────────────────────────────────────────────────┘ │
61
+ │ ┌──────────────────────────────────────────────────────┐ │
62
+ │ │ 2. Embedding (voyage-3-large, 1024 dims) │ │
63
+ │ └──────────────────────────────────────────────────────┘ │
64
+ │ ┌──────────────────────────────────────────────────────┐ │
65
+ │ │ 3. Indexing (Pinecone, cosine similarity) │ │
66
+ │ └──────────────────────────────────────────────────────┘ │
67
+ └─────────────────────────────────────────────────────────────┘
68
+
69
+
70
+ ┌─────────────────────────────────────────────────────────────┐
71
+ │ Query Processing │
72
+ │ User Query → Embed → Vector Search → Rerank → Context │
73
+ └─────────────────────────────────────────────────────────────┘
74
+
75
+
76
+ ┌─────────────────────────────────────────────────────────────┐
77
+ │ LLM Generation │
78
+ │ Context + Query → GPT-4o → Answer │
79
+ └─────────────────────────────────────────────────────────────┘
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Implementation
85
+
86
+ ### Step 1: Document Processor
87
+
88
+ ```python
89
+ import voyageai
90
+ from pinecone import Pinecone
91
+ from typing import List, Dict, Any
92
+ import hashlib
93
+
94
+ class DocumentProcessor:
95
+ def __init__(self, voyage_api_key: str, pinecone_api_key: str, index_name: str):
96
+ self.voyage_client = voyageai.Client(api_key=voyage_api_key)
97
+ self.pc = Pinecone(api_key=pinecone_api_key)
98
+ self.index = self.pc.Index(index_name)
99
+ self.chunk_size = 512
100
+ self.overlap = 50
101
+
102
+ def chunk_document(self, text: str, metadata: Dict[str, Any]) -> List[Dict[str, Any]]:
103
+ """Chunk document using semantic chunking"""
104
+ # Simple sentence-based chunking (use semantic chunking in production)
105
+ sentences = text.split('. ')
106
+ chunks = []
107
+ current_chunk = []
108
+ current_length = 0
109
+
110
+ for sentence in sentences:
111
+ sentence_length = len(sentence.split())
112
+
113
+ if current_length + sentence_length > self.chunk_size:
114
+ # Save current chunk
115
+ chunk_text = '. '.join(current_chunk) + '.'
116
+ chunk_id = hashlib.md5(chunk_text.encode()).hexdigest()
117
+
118
+ chunks.append({
119
+ "id": chunk_id,
120
+ "text": chunk_text,
121
+ "metadata": {
122
+ **metadata,
123
+ "chunk_index": len(chunks),
124
+ "chunk_length": current_length
125
+ }
126
+ })
127
+
128
+ # Start new chunk with overlap
129
+ overlap_sentences = current_chunk[-self.overlap:] if len(current_chunk) > self.overlap else current_chunk
130
+ current_chunk = overlap_sentences + [sentence]
131
+ current_length = sum(len(s.split()) for s in current_chunk)
132
+ else:
133
+ current_chunk.append(sentence)
134
+ current_length += sentence_length
135
+
136
+ # Add final chunk
137
+ if current_chunk:
138
+ chunk_text = '. '.join(current_chunk) + '.'
139
+ chunk_id = hashlib.md5(chunk_text.encode()).hexdigest()
140
+ chunks.append({
141
+ "id": chunk_id,
142
+ "text": chunk_text,
143
+ "metadata": {
144
+ **metadata,
145
+ "chunk_index": len(chunks),
146
+ "chunk_length": current_length
147
+ }
148
+ })
149
+
150
+ return chunks
151
+
152
+ def embed_chunks(self, chunks: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
153
+ """Generate embeddings for chunks"""
154
+ texts = [chunk["text"] for chunk in chunks]
155
+
156
+ # Batch embedding
157
+ embeddings = self.voyage_client.embed(
158
+ texts=texts,
159
+ model="voyage-3-large",
160
+ input_type="document"
161
+ ).embeddings
162
+
163
+ for chunk, embedding in zip(chunks, embeddings):
164
+ chunk["embedding"] = embedding
165
+
166
+ return chunks
167
+
168
+ def index_chunks(self, chunks: List[Dict[str, Any]]) -> None:
169
+ """Index chunks in Pinecone"""
170
+ vectors = [
171
+ {
172
+ "id": chunk["id"],
173
+ "values": chunk["embedding"],
174
+ "metadata": {
175
+ "text": chunk["text"],
176
+ **chunk["metadata"]
177
+ }
178
+ }
179
+ for chunk in chunks
180
+ ]
181
+
182
+ # Upsert in batches
183
+ batch_size = 100
184
+ for i in range(0, len(vectors), batch_size):
185
+ batch = vectors[i:i+batch_size]
186
+ self.index.upsert(vectors=batch)
187
+
188
+ def process_document(self, text: str, metadata: Dict[str, Any]) -> None:
189
+ """Full pipeline: chunk → embed → index"""
190
+ chunks = self.chunk_document(text, metadata)
191
+ chunks_with_embeddings = self.embed_chunks(chunks)
192
+ self.index_chunks(chunks_with_embeddings)
193
+ ```
194
+
195
+ ### Step 2: Retrieval System
196
+
197
+ ```python
198
+ import cohere
199
+ import openai
200
+ from typing import List, Dict, Any
201
+
202
+ class KnowledgeBaseQA:
203
+ def __init__(
204
+ self,
205
+ voyage_api_key: str,
206
+ pinecone_api_key: str,
207
+ cohere_api_key: str,
208
+ openai_api_key: str,
209
+ index_name: str
210
+ ):
211
+ self.voyage_client = voyageai.Client(api_key=voyage_api_key)
212
+ self.pc = Pinecone(api_key=pinecone_api_key)
213
+ self.index = self.pc.Index(index_name)
214
+ self.cohere_client = cohere.Client(api_key=cohere_api_key)
215
+ self.openai_client = openai.OpenAI(api_key=openai_api_key)
216
+ self.top_k = 10
217
+ self.min_score = 0.7
218
+
219
+ def retrieve(self, query: str) -> List[Dict[str, Any]]:
220
+ """Retrieve relevant chunks using vector search"""
221
+ # Embed query
222
+ query_embedding = self.voyage_client.embed(
223
+ texts=[query],
224
+ model="voyage-3-large",
225
+ input_type="query"
226
+ ).embeddings[0]
227
+
228
+ # Vector search
229
+ results = self.index.query(
230
+ vector=query_embedding,
231
+ top_k=self.top_k,
232
+ include_metadata=True
233
+ )
234
+
235
+ # Filter by score
236
+ filtered_results = [
237
+ {
238
+ "id": match.id,
239
+ "score": match.score,
240
+ "text": match.metadata["text"],
241
+ "metadata": {k: v for k, v in match.metadata.items() if k != "text"}
242
+ }
243
+ for match in results.matches
244
+ if match.score >= self.min_score
245
+ ]
246
+
247
+ return filtered_results
248
+
249
+ def rerank(self, query: str, documents: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
250
+ """Rerank documents using Cohere Rerank"""
251
+ if not documents:
252
+ return []
253
+
254
+ # Prepare documents for reranking
255
+ texts = [doc["text"] for doc in documents]
256
+
257
+ # Rerank
258
+ rerank_results = self.cohere_client.rerank(
259
+ model="rerank-english-v3.0",
260
+ query=query,
261
+ documents=texts,
262
+ top_n=5
263
+ )
264
+
265
+ # Map back to original documents
266
+ reranked_docs = []
267
+ for result in rerank_results.results:
268
+ doc = documents[result.index]
269
+ doc["rerank_score"] = result.relevance_score
270
+ reranked_docs.append(doc)
271
+
272
+ return reranked_docs
273
+
274
+ def answer_question(self, query: str) -> Dict[str, Any]:
275
+ """Answer question using RAG"""
276
+ # Retrieve relevant documents
277
+ retrieved_docs = self.retrieve(query)
278
+
279
+ if not retrieved_docs:
280
+ return {
281
+ "answer": "I couldn't find relevant information to answer your question.",
282
+ "sources": []
283
+ }
284
+
285
+ # Rerank documents
286
+ reranked_docs = self.rerank(query, retrieved_docs)
287
+
288
+ # Build context from top documents
289
+ context_parts = []
290
+ for i, doc in enumerate(reranked_docs[:5], 1):
291
+ source = doc["metadata"].get("source", "Unknown")
292
+ context_parts.append(f"[{i}] {doc['text']}\nSource: {source}")
293
+
294
+ context = "\n\n".join(context_parts)
295
+
296
+ # Generate answer
297
+ messages = [
298
+ {
299
+ "role": "system",
300
+ "content": """You are a helpful assistant that answers questions based on the provided context.
301
+
302
+ Rules:
303
+ 1. Only use information from the provided context
304
+ 2. If the context doesn't contain the answer, say so
305
+ 3. Cite sources using [1], [2], etc.
306
+ 4. Be concise and accurate"""
307
+ },
308
+ {
309
+ "role": "user",
310
+ "content": f"""Context:
311
+ {context}
312
+
313
+ Question: {query}
314
+
315
+ Answer:"""
316
+ }
317
+ ]
318
+
319
+ response = self.openai_client.chat.completions.create(
320
+ model="gpt-4o",
321
+ messages=messages,
322
+ temperature=0.3
323
+ )
324
+
325
+ answer = response.choices[0].message.content
326
+
327
+ return {
328
+ "answer": answer,
329
+ "sources": [
330
+ {
331
+ "text": doc["text"],
332
+ "score": doc["score"],
333
+ "rerank_score": doc["rerank_score"],
334
+ "metadata": doc["metadata"]
335
+ }
336
+ for doc in reranked_docs
337
+ ]
338
+ }
339
+ ```
340
+
341
+ ---
342
+
343
+ ## Usage Example
344
+
345
+ ```python
346
+ # Initialize processor
347
+ processor = DocumentProcessor(
348
+ voyage_api_key="your-voyage-key",
349
+ pinecone_api_key="your-pinecone-key",
350
+ index_name="knowledge-base"
351
+ )
352
+
353
+ # Process documents
354
+ documents = [
355
+ {
356
+ "text": "Python is a high-level programming language...",
357
+ "metadata": {"source": "python-docs.pdf", "category": "programming"}
358
+ },
359
+ {
360
+ "text": "Machine learning is a subset of artificial intelligence...",
361
+ "metadata": {"source": "ml-guide.pdf", "category": "ai"}
362
+ }
363
+ ]
364
+
365
+ for doc in documents:
366
+ processor.process_document(doc["text"], doc["metadata"])
367
+
368
+ # Initialize Q&A system
369
+ qa_system = KnowledgeBaseQA(
370
+ voyage_api_key="your-voyage-key",
371
+ pinecone_api_key="your-pinecone-key",
372
+ cohere_api_key="your-cohere-key",
373
+ openai_api_key="your-openai-key",
374
+ index_name="knowledge-base"
375
+ )
376
+
377
+ # Ask questions
378
+ result = qa_system.answer_question("What is Python?")
379
+ print(f"Answer: {result['answer']}")
380
+ print(f"\nSources:")
381
+ for i, source in enumerate(result['sources'], 1):
382
+ print(f"[{i}] Score: {source['score']:.3f}, Rerank: {source['rerank_score']:.3f}")
383
+ print(f" {source['metadata']['source']}")
384
+ ```
385
+
386
+ ---
387
+
388
+ ## Key Features
389
+
390
+ ### 1. Semantic Chunking
391
+ - Sentence-based chunking with overlap
392
+ - Preserves semantic coherence
393
+ - Configurable chunk size
394
+
395
+ ### 2. Vector Embeddings
396
+ - Voyage AI embeddings (1024 dimensions)
397
+ - Batch processing for efficiency
398
+ - Separate embeddings for documents and queries
399
+
400
+ ### 3. Vector Search
401
+ - Pinecone vector database
402
+ - Cosine similarity metric
403
+ - Top-K retrieval with score filtering
404
+
405
+ ### 4. Reranking
406
+ - Cohere Rerank for improved relevance
407
+ - Cross-encoder architecture
408
+ - Top-N selection after reranking
409
+
410
+ ### 5. RAG Generation
411
+ - Context-aware answer generation
412
+ - Source citation
413
+ - Hallucination prevention
414
+
415
+ ---
416
+
417
+ ## Testing
418
+
419
+ ```python
420
+ import pytest
421
+ from unittest.mock import Mock, patch
422
+
423
+ def test_chunking():
424
+ processor = DocumentProcessor("key", "key", "index")
425
+
426
+ text = "Sentence one. Sentence two. Sentence three."
427
+ metadata = {"source": "test.txt"}
428
+
429
+ chunks = processor.chunk_document(text, metadata)
430
+
431
+ assert len(chunks) > 0
432
+ assert all("text" in chunk for chunk in chunks)
433
+ assert all("metadata" in chunk for chunk in chunks)
434
+
435
+ def test_retrieval():
436
+ qa_system = KnowledgeBaseQA("key", "key", "key", "key", "index")
437
+
438
+ with patch.object(qa_system.index, 'query') as mock_query:
439
+ mock_query.return_value = Mock(matches=[
440
+ Mock(id="1", score=0.9, metadata={"text": "Test document"})
441
+ ])
442
+
443
+ results = qa_system.retrieve("test query")
444
+
445
+ assert len(results) > 0
446
+ assert results[0]["score"] >= qa_system.min_score
447
+
448
+ def test_answer_generation():
449
+ qa_system = KnowledgeBaseQA("key", "key", "key", "key", "index")
450
+
451
+ with patch.object(qa_system, 'retrieve') as mock_retrieve:
452
+ mock_retrieve.return_value = [
453
+ {"id": "1", "score": 0.9, "text": "Python is a programming language", "metadata": {}}
454
+ ]
455
+
456
+ with patch.object(qa_system, 'rerank') as mock_rerank:
457
+ mock_rerank.return_value = [
458
+ {"id": "1", "score": 0.9, "rerank_score": 0.95, "text": "Python is a programming language", "metadata": {}}
459
+ ]
460
+
461
+ result = qa_system.answer_question("What is Python?")
462
+
463
+ assert "answer" in result
464
+ assert "sources" in result
465
+ ```
466
+
467
+ ---
468
+
469
+ ## Best Practices
470
+
471
+ 1. **Chunking Strategy**: Use semantic chunking for better coherence
472
+ 2. **Embedding Model**: Choose model based on domain (general vs. specialized)
473
+ 3. **Vector Store**: Select based on scale (Pinecone, Weaviate, Qdrant)
474
+ 4. **Reranking**: Always rerank for improved relevance
475
+ 5. **Metadata**: Include rich metadata for filtering and attribution
476
+ 6. **Monitoring**: Track retrieval quality metrics (MRR, NDCG)
477
+ 7. **Caching**: Cache embeddings for frequently queried documents
478
+ 8. **Hybrid Search**: Combine vector search with keyword search
479
+
480
+ ---
481
+
482
+ ## Performance Optimization
483
+
484
+ - **Batch Embedding**: Process documents in batches (100-1000)
485
+ - **Async Processing**: Use async I/O for embedding and indexing
486
+ - **Index Optimization**: Use appropriate index type (HNSW, IVF)
487
+ - **Caching**: Cache query embeddings for repeated queries
488
+ - **Compression**: Use quantization for reduced storage
489
+ - **Sharding**: Distribute index across multiple shards
490
+
491
+ ---
492
+
493
+ ## Security
494
+
495
+ - **Access Control**: Implement document-level access control
496
+ - **Data Encryption**: Encrypt vectors at rest
497
+ - **Query Sanitization**: Sanitize user queries
498
+ - **Rate Limiting**: Limit queries per user
499
+ - **Audit Logging**: Log all retrieval operations
500
+ - **PII Filtering**: Remove PII before indexing
501
+ ```
502
+
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "mcp",
3
+ "version": "1.0.0",
4
+ "displayName": "Model Context Protocol (MCP) Guidelines",
5
+ "description": "Comprehensive guidelines for designing and implementing Model Context Protocol systems including token-based, state-based, vector-based, hybrid, graph-augmented, and compressed MCP",
6
+ "type": "domain-rules",
7
+ "tags": ["mcp", "context-management", "rag", "state-management", "llm", "ai-agents"],
8
+ "author": "MyTech Today Now",
9
+ "license": "MIT",
10
+ "repository": "https://github.com/mytech-today-now/augment",
11
+ "augment": {
12
+ "characterCount": 219130,
13
+ "priority": "high",
14
+ "category": "domain-rules",
15
+ "appliesTo": {
16
+ "filePatterns": [
17
+ "**/*mcp*.py",
18
+ "**/*context*.py",
19
+ "**/*memory*.py",
20
+ "**/*rag*.py",
21
+ "**/*agent*.py",
22
+ "**/*state*.py"
23
+ ],
24
+ "projectTypes": ["ai-agent", "llm-application", "rag-system"]
25
+ }
26
+ },
27
+ "dependencies": [],
28
+ "configuration": {
29
+ "mcpTypes": {
30
+ "type": "array",
31
+ "description": "MCP types to enable for this project",
32
+ "items": {
33
+ "enum": ["token", "state", "vector", "hybrid", "graph", "compressed"]
34
+ },
35
+ "default": ["token"]
36
+ },
37
+ "strictMode": {
38
+ "type": "boolean",
39
+ "description": "Enable strict validation of MCP patterns",
40
+ "default": true
41
+ },
42
+ "universalRules": {
43
+ "type": "boolean",
44
+ "description": "Apply universal cross-cutting rules",
45
+ "default": true
46
+ }
47
+ }
48
+ }
49
+