@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,520 @@
1
+ # Graph-Augmented MCP Example: Supply Chain Analysis
2
+
3
+ ## Use Case
4
+
5
+ A supply chain analysis system that uses knowledge graphs to track entities (suppliers, products, warehouses) and their relationships for complex queries and reasoning.
6
+
7
+ **Challenges**:
8
+ - Model complex entity relationships
9
+ - Support multi-hop reasoning
10
+ - Handle graph traversal efficiently
11
+ - Integrate graph context with LLM generation
12
+
13
+ ---
14
+
15
+ ## Configuration
16
+
17
+ ```json
18
+ {
19
+ "mcp": {
20
+ "type": "graph",
21
+ "graphDatabase": {
22
+ "backend": "neo4j",
23
+ "uri": "bolt://localhost:7687",
24
+ "database": "supply-chain"
25
+ },
26
+ "entityExtraction": {
27
+ "enabled": true,
28
+ "model": "gpt-4o",
29
+ "entityTypes": ["SUPPLIER", "PRODUCT", "WAREHOUSE", "CUSTOMER", "ORDER"]
30
+ },
31
+ "relationshipTypes": [
32
+ "SUPPLIES",
33
+ "STORED_IN",
34
+ "ORDERED_BY",
35
+ "SHIPS_TO",
36
+ "DEPENDS_ON"
37
+ ],
38
+ "traversal": {
39
+ "maxDepth": 3,
40
+ "maxNodes": 100,
41
+ "algorithm": "bidirectional_bfs"
42
+ }
43
+ }
44
+ }
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Architecture
50
+
51
+ ```
52
+ ┌─────────────────────────────────────────────────────────────┐
53
+ │ Supply Chain Query │
54
+ │ "Which suppliers can fulfill order #12345?" │
55
+ └─────────────────────────────────────────────────────────────┘
56
+
57
+
58
+ ┌─────────────────────────────────────────────────────────────┐
59
+ │ Entity Extraction │
60
+ │ Entities: [Order #12345] │
61
+ │ Intent: Find suppliers │
62
+ └─────────────────────────────────────────────────────────────┘
63
+
64
+
65
+ ┌─────────────────────────────────────────────────────────────┐
66
+ │ Knowledge Graph (Neo4j) │
67
+ │ │
68
+ │ (Order #12345) -[CONTAINS]→ (Product A) │
69
+ │ ↓ │
70
+ │ [SUPPLIED_BY] │
71
+ │ ↓ │
72
+ │ (Supplier X, Y, Z) │
73
+ │ ↓ │
74
+ │ [STORED_IN] │
75
+ │ ↓ │
76
+ │ (Warehouse 1, 2) │
77
+ └─────────────────────────────────────────────────────────────┘
78
+
79
+
80
+ ┌─────────────────────────────────────────────────────────────┐
81
+ │ Graph Traversal │
82
+ │ Path: Order → Product → Supplier → Warehouse │
83
+ │ Depth: 3 hops │
84
+ │ Nodes: 15 entities │
85
+ └─────────────────────────────────────────────────────────────┘
86
+
87
+
88
+ ┌─────────────────────────────────────────────────────────────┐
89
+ │ Context Serialization │
90
+ │ Graph → Natural Language Description │
91
+ └─────────────────────────────────────────────────────────────┘
92
+
93
+
94
+ ┌─────────────────────────────────────────────────────────────┐
95
+ │ LLM Generation │
96
+ │ Graph Context → GPT-4o → Answer │
97
+ └─────────────────────────────────────────────────────────────┘
98
+ ```
99
+
100
+ ---
101
+
102
+ ## Implementation
103
+
104
+ ### Step 1: Graph Manager
105
+
106
+ ```python
107
+ from neo4j import GraphDatabase
108
+ from typing import List, Dict, Any, Optional
109
+ import openai
110
+
111
+ class GraphManager:
112
+ def __init__(self, uri: str, user: str, password: str):
113
+ self.driver = GraphDatabase.driver(uri, auth=(user, password))
114
+
115
+ def close(self):
116
+ self.driver.close()
117
+
118
+ def create_entity(self, entity_type: str, properties: Dict[str, Any]) -> str:
119
+ """Create entity node in graph"""
120
+ with self.driver.session() as session:
121
+ result = session.run(
122
+ f"""
123
+ CREATE (e:{entity_type} $properties)
124
+ RETURN elementId(e) as id
125
+ """,
126
+ properties=properties
127
+ )
128
+ return result.single()["id"]
129
+
130
+ def create_relationship(
131
+ self,
132
+ from_id: str,
133
+ to_id: str,
134
+ rel_type: str,
135
+ properties: Optional[Dict[str, Any]] = None
136
+ ) -> None:
137
+ """Create relationship between entities"""
138
+ with self.driver.session() as session:
139
+ session.run(
140
+ f"""
141
+ MATCH (a), (b)
142
+ WHERE elementId(a) = $from_id AND elementId(b) = $to_id
143
+ CREATE (a)-[r:{rel_type} $properties]->(b)
144
+ """,
145
+ from_id=from_id,
146
+ to_id=to_id,
147
+ properties=properties or {}
148
+ )
149
+
150
+ def find_paths(
151
+ self,
152
+ start_entity: Dict[str, Any],
153
+ end_entity: Dict[str, Any],
154
+ max_depth: int = 3
155
+ ) -> List[Dict[str, Any]]:
156
+ """Find paths between entities"""
157
+ with self.driver.session() as session:
158
+ result = session.run(
159
+ """
160
+ MATCH path = (start)-[*1..$max_depth]-(end)
161
+ WHERE start.id = $start_id AND end.id = $end_id
162
+ RETURN path
163
+ LIMIT 10
164
+ """,
165
+ start_id=start_entity["id"],
166
+ end_id=end_entity["id"],
167
+ max_depth=max_depth
168
+ )
169
+
170
+ paths = []
171
+ for record in result:
172
+ path = record["path"]
173
+ paths.append(self._serialize_path(path))
174
+
175
+ return paths
176
+
177
+ def traverse_from_entity(
178
+ self,
179
+ entity_id: str,
180
+ max_depth: int = 2,
181
+ max_nodes: int = 100
182
+ ) -> Dict[str, Any]:
183
+ """Traverse graph from entity"""
184
+ with self.driver.session() as session:
185
+ result = session.run(
186
+ """
187
+ MATCH path = (start)-[*1..$max_depth]-(connected)
188
+ WHERE elementId(start) = $entity_id
189
+ RETURN path
190
+ LIMIT $max_nodes
191
+ """,
192
+ entity_id=entity_id,
193
+ max_depth=max_depth,
194
+ max_nodes=max_nodes
195
+ )
196
+
197
+ nodes = []
198
+ relationships = []
199
+
200
+ for record in result:
201
+ path = record["path"]
202
+ for node in path.nodes:
203
+ nodes.append({
204
+ "id": node.element_id,
205
+ "labels": list(node.labels),
206
+ "properties": dict(node)
207
+ })
208
+
209
+ for rel in path.relationships:
210
+ relationships.append({
211
+ "type": rel.type,
212
+ "start": rel.start_node.element_id,
213
+ "end": rel.end_node.element_id,
214
+ "properties": dict(rel)
215
+ })
216
+
217
+ return {
218
+ "nodes": nodes,
219
+ "relationships": relationships
220
+ }
221
+
222
+ def _serialize_path(self, path) -> Dict[str, Any]:
223
+ """Serialize Neo4j path to dict"""
224
+ nodes = [
225
+ {
226
+ "id": node.element_id,
227
+ "labels": list(node.labels),
228
+ "properties": dict(node)
229
+ }
230
+ for node in path.nodes
231
+ ]
232
+
233
+ relationships = [
234
+ {
235
+ "type": rel.type,
236
+ "properties": dict(rel)
237
+ }
238
+ for rel in path.relationships
239
+ ]
240
+
241
+ return {
242
+ "nodes": nodes,
243
+ "relationships": relationships
244
+ }
245
+
246
+ class SupplyChainAnalyzer:
247
+ def __init__(self, graph_manager: GraphManager, openai_api_key: str):
248
+ self.graph = graph_manager
249
+ self.client = openai.OpenAI(api_key=openai_api_key)
250
+
251
+ def extract_entities(self, query: str) -> List[Dict[str, Any]]:
252
+ """Extract entities from query using LLM"""
253
+ response = self.client.chat.completions.create(
254
+ model="gpt-4o",
255
+ messages=[
256
+ {
257
+ "role": "system",
258
+ "content": """Extract entities from the query.
259
+
260
+ Entity types: SUPPLIER, PRODUCT, WAREHOUSE, CUSTOMER, ORDER
261
+
262
+ Return JSON array of entities:
263
+ [{"type": "ORDER", "value": "#12345"}, ...]"""
264
+ },
265
+ {
266
+ "role": "user",
267
+ "content": query
268
+ }
269
+ ],
270
+ response_format={"type": "json_object"}
271
+ )
272
+
273
+ import json
274
+ result = json.loads(response.choices[0].message.content)
275
+ return result.get("entities", [])
276
+
277
+ def analyze_query(self, query: str) -> Dict[str, Any]:
278
+ """Analyze supply chain query using graph"""
279
+ # Extract entities from query
280
+ entities = self.extract_entities(query)
281
+
282
+ if not entities:
283
+ return {"answer": "No entities found in query", "graph_context": None}
284
+
285
+ # Get graph context for entities
286
+ graph_contexts = []
287
+ for entity in entities:
288
+ # Find entity in graph
289
+ entity_id = self._find_entity_id(entity)
290
+
291
+ if entity_id:
292
+ # Traverse graph from entity
293
+ subgraph = self.graph.traverse_from_entity(
294
+ entity_id=entity_id,
295
+ max_depth=3,
296
+ max_nodes=100
297
+ )
298
+ graph_contexts.append(subgraph)
299
+
300
+ # Serialize graph to natural language
301
+ graph_description = self._serialize_graph_to_text(graph_contexts)
302
+
303
+ # Generate answer using LLM
304
+ answer = self._generate_answer(query, graph_description)
305
+
306
+ return {
307
+ "answer": answer,
308
+ "graph_context": graph_contexts,
309
+ "entities_found": entities
310
+ }
311
+
312
+ def _find_entity_id(self, entity: Dict[str, Any]) -> Optional[str]:
313
+ """Find entity ID in graph"""
314
+ with self.graph.driver.session() as session:
315
+ result = session.run(
316
+ f"""
317
+ MATCH (e:{entity['type']})
318
+ WHERE e.id = $value OR e.name = $value
319
+ RETURN elementId(e) as id
320
+ LIMIT 1
321
+ """,
322
+ value=entity["value"]
323
+ )
324
+
325
+ record = result.single()
326
+ return record["id"] if record else None
327
+
328
+ def _serialize_graph_to_text(self, graph_contexts: List[Dict[str, Any]]) -> str:
329
+ """Convert graph structure to natural language"""
330
+ parts = []
331
+
332
+ for i, context in enumerate(graph_contexts, 1):
333
+ parts.append(f"=== Subgraph {i} ===")
334
+
335
+ # Describe nodes
336
+ parts.append("Entities:")
337
+ for node in context["nodes"][:20]: # Limit to 20 nodes
338
+ labels = ", ".join(node["labels"])
339
+ props = ", ".join(f"{k}={v}" for k, v in node["properties"].items())
340
+ parts.append(f" - {labels}: {props}")
341
+
342
+ # Describe relationships
343
+ parts.append("\nRelationships:")
344
+ for rel in context["relationships"][:20]: # Limit to 20 relationships
345
+ parts.append(f" - {rel['type']}")
346
+
347
+ parts.append("")
348
+
349
+ return "\n".join(parts)
350
+
351
+ def _generate_answer(self, query: str, graph_context: str) -> str:
352
+ """Generate answer using graph context"""
353
+ response = self.client.chat.completions.create(
354
+ model="gpt-4o",
355
+ messages=[
356
+ {
357
+ "role": "system",
358
+ "content": """You are a supply chain analyst.
359
+
360
+ Use the provided graph context to answer questions about:
361
+ - Supplier relationships
362
+ - Product availability
363
+ - Warehouse locations
364
+ - Order fulfillment
365
+ - Dependencies
366
+
367
+ Be specific and cite entities from the graph."""
368
+ },
369
+ {
370
+ "role": "user",
371
+ "content": f"""Graph Context:
372
+ {graph_context}
373
+
374
+ Query: {query}
375
+
376
+ Answer:"""
377
+ }
378
+ ],
379
+ temperature=0.3
380
+ )
381
+
382
+ return response.choices[0].message.content
383
+ ```
384
+
385
+ ---
386
+
387
+ ## Usage Example
388
+
389
+ ```python
390
+ # Initialize graph manager
391
+ graph = GraphManager(
392
+ uri="bolt://localhost:7687",
393
+ user="neo4j",
394
+ password="password"
395
+ )
396
+
397
+ # Create sample supply chain graph
398
+ supplier_id = graph.create_entity("SUPPLIER", {"id": "SUP-001", "name": "Acme Corp"})
399
+ product_id = graph.create_entity("PRODUCT", {"id": "PROD-123", "name": "Widget A"})
400
+ warehouse_id = graph.create_entity("WAREHOUSE", {"id": "WH-001", "location": "New York"})
401
+ order_id = graph.create_entity("ORDER", {"id": "#12345", "status": "pending"})
402
+
403
+ # Create relationships
404
+ graph.create_relationship(supplier_id, product_id, "SUPPLIES", {"quantity": 1000})
405
+ graph.create_relationship(product_id, warehouse_id, "STORED_IN", {"quantity": 500})
406
+ graph.create_relationship(order_id, product_id, "CONTAINS", {"quantity": 10})
407
+
408
+ # Initialize analyzer
409
+ analyzer = SupplyChainAnalyzer(graph, "your-openai-key")
410
+
411
+ # Analyze query
412
+ result = analyzer.analyze_query("Which suppliers can fulfill order #12345?")
413
+
414
+ print(f"Answer: {result['answer']}")
415
+ print(f"\nEntities Found: {result['entities_found']}")
416
+ print(f"Graph Nodes: {len(result['graph_context'][0]['nodes']) if result['graph_context'] else 0}")
417
+
418
+ # Clean up
419
+ graph.close()
420
+ ```
421
+
422
+ ---
423
+
424
+ ## Key Features
425
+
426
+ ### 1. Entity Extraction
427
+ - LLM-based entity recognition
428
+ - Support for multiple entity types
429
+ - Flexible matching (ID or name)
430
+
431
+ ### 2. Graph Traversal
432
+ - Bidirectional BFS algorithm
433
+ - Configurable depth and node limits
434
+ - Path finding between entities
435
+
436
+ ### 3. Relationship Modeling
437
+ - Typed relationships (SUPPLIES, STORED_IN, etc.)
438
+ - Relationship properties
439
+ - Multi-hop reasoning
440
+
441
+ ### 4. Context Serialization
442
+ - Graph → Natural language conversion
443
+ - Structured entity descriptions
444
+ - Relationship summaries
445
+
446
+ ---
447
+
448
+ ## Testing
449
+
450
+ ```python
451
+ import pytest
452
+
453
+ def test_entity_creation():
454
+ graph = GraphManager("bolt://localhost:7687", "neo4j", "password")
455
+
456
+ entity_id = graph.create_entity("SUPPLIER", {"id": "TEST-001", "name": "Test Corp"})
457
+ assert entity_id is not None
458
+
459
+ graph.close()
460
+
461
+ def test_graph_traversal():
462
+ graph = GraphManager("bolt://localhost:7687", "neo4j", "password")
463
+
464
+ # Create test entities
465
+ supplier_id = graph.create_entity("SUPPLIER", {"id": "SUP-TEST"})
466
+ product_id = graph.create_entity("PRODUCT", {"id": "PROD-TEST"})
467
+ graph.create_relationship(supplier_id, product_id, "SUPPLIES")
468
+
469
+ # Traverse
470
+ subgraph = graph.traverse_from_entity(supplier_id, max_depth=2)
471
+
472
+ assert len(subgraph["nodes"]) > 0
473
+ assert len(subgraph["relationships"]) > 0
474
+
475
+ graph.close()
476
+
477
+ def test_entity_extraction():
478
+ analyzer = SupplyChainAnalyzer(None, "your-openai-key")
479
+
480
+ entities = analyzer.extract_entities("Which suppliers can fulfill order #12345?")
481
+
482
+ assert len(entities) > 0
483
+ assert any(e["type"] == "ORDER" for e in entities)
484
+ ```
485
+
486
+ ---
487
+
488
+ ## Best Practices
489
+
490
+ 1. **Entity Modeling**: Define clear entity types and properties
491
+ 2. **Relationship Types**: Use descriptive relationship names
492
+ 3. **Graph Indexing**: Index frequently queried properties
493
+ 4. **Traversal Limits**: Set appropriate depth and node limits
494
+ 5. **Caching**: Cache frequently accessed subgraphs
495
+ 6. **Batch Operations**: Batch entity/relationship creation
496
+ 7. **Schema Validation**: Validate graph schema consistency
497
+ 8. **Monitoring**: Track query performance and graph size
498
+
499
+ ---
500
+
501
+ ## Performance Optimization
502
+
503
+ - **Indexing**: Create indexes on entity IDs and names
504
+ - **Query Optimization**: Use Cypher query profiling
505
+ - **Connection Pooling**: Reuse Neo4j connections
506
+ - **Caching**: Cache subgraph results
507
+ - **Pagination**: Paginate large result sets
508
+ - **Parallel Queries**: Execute independent queries in parallel
509
+
510
+ ---
511
+
512
+ ## Security
513
+
514
+ - **Access Control**: Implement role-based access control
515
+ - **Query Validation**: Sanitize Cypher queries
516
+ - **Encryption**: Encrypt graph data at rest
517
+ - **Audit Logging**: Log all graph modifications
518
+ - **Rate Limiting**: Limit traversal depth and nodes per query
519
+ ```
520
+