@mytechtoday/augment-extensions 0.2.0 → 0.5.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 (420) 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/design/color/themes/catppuccin-latte/README.md +23 -0
  125. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/module.json +26 -0
  126. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/README.md +23 -0
  127. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/module.json +26 -0
  128. package/augment-extensions/domain-rules/design/color/themes/dracula/README.md +23 -0
  129. package/augment-extensions/domain-rules/design/color/themes/dracula/module.json +26 -0
  130. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/README.md +23 -0
  131. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/module.json +26 -0
  132. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/README.md +23 -0
  133. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/module.json +26 -0
  134. package/augment-extensions/domain-rules/design/color/themes/high-contrast/README.md +27 -0
  135. package/augment-extensions/domain-rules/design/color/themes/high-contrast/module.json +26 -0
  136. package/augment-extensions/domain-rules/design/color/themes/monokai/README.md +23 -0
  137. package/augment-extensions/domain-rules/design/color/themes/monokai/module.json +26 -0
  138. package/augment-extensions/domain-rules/design/color/themes/nord/README.md +23 -0
  139. package/augment-extensions/domain-rules/design/color/themes/nord/module.json +26 -0
  140. package/augment-extensions/domain-rules/design/color/themes/one-dark/README.md +23 -0
  141. package/augment-extensions/domain-rules/design/color/themes/one-dark/module.json +26 -0
  142. package/augment-extensions/domain-rules/design/color/themes/one-light/README.md +23 -0
  143. package/augment-extensions/domain-rules/design/color/themes/one-light/module.json +26 -0
  144. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/README.md +23 -0
  145. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/module.json +26 -0
  146. package/augment-extensions/domain-rules/design/color/themes/solarized-light/README.md +23 -0
  147. package/augment-extensions/domain-rules/design/color/themes/solarized-light/module.json +26 -0
  148. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/README.md +23 -0
  149. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/module.json +26 -0
  150. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/README.md +136 -0
  151. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/SCHEMA-VALIDATION-REPORT.md +216 -0
  152. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/brand-kit-example.yaml +292 -0
  153. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/campaign-brief-example.yaml +389 -0
  154. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/content-calendar-example.yaml +643 -0
  155. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/email-newsletter-example.md +376 -0
  156. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/landing-page-example.md +934 -0
  157. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/ppc-ad-copy-example.md +301 -0
  158. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/seo-blog-post-example.md +347 -0
  159. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/social-media-campaign-example.md +606 -0
  160. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/module.json +50 -0
  161. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/affiliate-influencer-marketing.md +593 -0
  162. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/asset-management.md +418 -0
  163. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/brand-consistency.md +210 -0
  164. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/content-marketing.md +337 -0
  165. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/conversion-optimization.md +455 -0
  166. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/direct-sales.md +499 -0
  167. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/email-marketing.md +439 -0
  168. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/legal-compliance.md +227 -0
  169. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/ppc-advertising.md +569 -0
  170. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/seo-optimization.md +470 -0
  171. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/social-media-marketing.md +414 -0
  172. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/universal-marketing.md +177 -0
  173. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/asset-inventory.schema.json +247 -0
  174. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/brand-kit.schema.json +326 -0
  175. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/campaign-brief.schema.json +342 -0
  176. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/color-palette.schema.json +223 -0
  177. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/content-template.schema.json +383 -0
  178. package/augment-extensions/domain-rules/mcp/README.md +150 -0
  179. package/augment-extensions/domain-rules/mcp/examples/compressed-example.md +522 -0
  180. package/augment-extensions/domain-rules/mcp/examples/graph-augmented-example.md +520 -0
  181. package/augment-extensions/domain-rules/mcp/examples/hybrid-example.md +570 -0
  182. package/augment-extensions/domain-rules/mcp/examples/state-based-example.md +427 -0
  183. package/augment-extensions/domain-rules/mcp/examples/token-based-example.md +435 -0
  184. package/augment-extensions/domain-rules/mcp/examples/vector-based-example.md +502 -0
  185. package/augment-extensions/domain-rules/mcp/module.json +49 -0
  186. package/augment-extensions/domain-rules/mcp/rules/compressed-mcp.md +595 -0
  187. package/augment-extensions/domain-rules/mcp/rules/configuration.md +345 -0
  188. package/augment-extensions/domain-rules/mcp/rules/graph-augmented-mcp.md +687 -0
  189. package/augment-extensions/domain-rules/mcp/rules/hybrid-mcp.md +636 -0
  190. package/augment-extensions/domain-rules/mcp/rules/state-based-mcp.md +484 -0
  191. package/augment-extensions/domain-rules/mcp/rules/testing-validation.md +360 -0
  192. package/augment-extensions/domain-rules/mcp/rules/token-based-mcp.md +393 -0
  193. package/augment-extensions/domain-rules/mcp/rules/universal-rules.md +194 -0
  194. package/augment-extensions/domain-rules/mcp/rules/vector-based-mcp.md +625 -0
  195. package/augment-extensions/workflows/beads/module.json +4 -3
  196. package/augment-extensions/workflows/beads-integration/IMPLEMENTATION-STATUS.md +145 -0
  197. package/augment-extensions/workflows/beads-integration/README.md +143 -0
  198. package/augment-extensions/workflows/beads-integration/config/defaults.json +32 -0
  199. package/augment-extensions/workflows/beads-integration/config/schema.json +140 -0
  200. package/augment-extensions/workflows/beads-integration/examples/basic-task-generation.md +293 -0
  201. package/augment-extensions/workflows/beads-integration/module.json +75 -0
  202. package/augment-extensions/workflows/beads-integration/rules/core-rules.md +219 -0
  203. package/augment-extensions/workflows/beads-integration/rules/effectiveness-standards.md +256 -0
  204. package/augment-extensions/workflows/beads-integration/rules/task-generation.md +607 -0
  205. package/augment-extensions/workflows/database/README.md +195 -0
  206. package/augment-extensions/workflows/database/ai-prompt-testing.md +295 -0
  207. package/augment-extensions/workflows/database/examples/migration-example.md +498 -0
  208. package/augment-extensions/workflows/database/examples/optimization-example.md +496 -0
  209. package/augment-extensions/workflows/database/examples/schema-design-example.md +444 -0
  210. package/augment-extensions/workflows/database/module.json +42 -0
  211. package/augment-extensions/workflows/database/rules/data-migration.md +249 -0
  212. package/augment-extensions/workflows/database/rules/documentation-standards.md +339 -0
  213. package/augment-extensions/workflows/database/rules/migration-workflow.md +352 -0
  214. package/augment-extensions/workflows/database/rules/optimization-workflow.md +435 -0
  215. package/augment-extensions/workflows/database/rules/schema-design-workflow.md +535 -0
  216. package/augment-extensions/workflows/database/rules/testing-patterns.md +305 -0
  217. package/augment-extensions/workflows/database/rules/workflow.md +458 -0
  218. package/augment-extensions/workflows/openspec/module.json +4 -3
  219. package/augment-extensions/writing-standards/screenplay/README.md +300 -0
  220. package/augment-extensions/writing-standards/screenplay/_templates/README.md +121 -0
  221. package/augment-extensions/writing-standards/screenplay/_templates/genre-template.md +153 -0
  222. package/augment-extensions/writing-standards/screenplay/_templates/style-template.md +243 -0
  223. package/augment-extensions/writing-standards/screenplay/_templates/theme-template.md +213 -0
  224. package/augment-extensions/writing-standards/screenplay/examples/aaa-hollywood-scene.fountain +164 -0
  225. package/augment-extensions/writing-standards/screenplay/examples/beat-sheet-example.yaml +95 -0
  226. package/augment-extensions/writing-standards/screenplay/examples/character-profile-example.yaml +116 -0
  227. package/augment-extensions/writing-standards/screenplay/examples/commercial-30sec.fountain +151 -0
  228. package/augment-extensions/writing-standards/screenplay/examples/independent-monologue.fountain +67 -0
  229. package/augment-extensions/writing-standards/screenplay/examples/news-segment.fountain +142 -0
  230. package/augment-extensions/writing-standards/screenplay/examples/plot-outline-example.yaml +184 -0
  231. package/augment-extensions/writing-standards/screenplay/examples/tv-episode-teaser.fountain +204 -0
  232. package/augment-extensions/writing-standards/screenplay/genres/README.md +181 -0
  233. package/augment-extensions/writing-standards/screenplay/genres/examples/.gitkeep +2 -0
  234. package/augment-extensions/writing-standards/screenplay/genres/module.json +70 -0
  235. package/augment-extensions/writing-standards/screenplay/genres/rules/.gitkeep +2 -0
  236. package/augment-extensions/writing-standards/screenplay/genres/rules/action.md +399 -0
  237. package/augment-extensions/writing-standards/screenplay/genres/rules/adventure.md +407 -0
  238. package/augment-extensions/writing-standards/screenplay/genres/rules/animation.md +293 -0
  239. package/augment-extensions/writing-standards/screenplay/genres/rules/biographical.md +293 -0
  240. package/augment-extensions/writing-standards/screenplay/genres/rules/comedy.md +401 -0
  241. package/augment-extensions/writing-standards/screenplay/genres/rules/documentary.md +293 -0
  242. package/augment-extensions/writing-standards/screenplay/genres/rules/drama.md +409 -0
  243. package/augment-extensions/writing-standards/screenplay/genres/rules/fantasy.md +293 -0
  244. package/augment-extensions/writing-standards/screenplay/genres/rules/historical.md +293 -0
  245. package/augment-extensions/writing-standards/screenplay/genres/rules/horror.md +268 -0
  246. package/augment-extensions/writing-standards/screenplay/genres/rules/musical.md +294 -0
  247. package/augment-extensions/writing-standards/screenplay/genres/rules/mystery.md +293 -0
  248. package/augment-extensions/writing-standards/screenplay/genres/rules/noir.md +294 -0
  249. package/augment-extensions/writing-standards/screenplay/genres/rules/romance.md +293 -0
  250. package/augment-extensions/writing-standards/screenplay/genres/rules/sci-fi.md +289 -0
  251. package/augment-extensions/writing-standards/screenplay/genres/rules/superhero.md +293 -0
  252. package/augment-extensions/writing-standards/screenplay/genres/rules/thriller.md +294 -0
  253. package/augment-extensions/writing-standards/screenplay/genres/rules/western.md +293 -0
  254. package/augment-extensions/writing-standards/screenplay/module.json +124 -0
  255. package/augment-extensions/writing-standards/screenplay/rules/aaa-hollywood-films.md +339 -0
  256. package/augment-extensions/writing-standards/screenplay/rules/ai-integration-testing.md +329 -0
  257. package/augment-extensions/writing-standards/screenplay/rules/character-development.md +169 -0
  258. package/augment-extensions/writing-standards/screenplay/rules/commercials.md +437 -0
  259. package/augment-extensions/writing-standards/screenplay/rules/dialogue-writing.md +263 -0
  260. package/augment-extensions/writing-standards/screenplay/rules/diversity-inclusion.md +261 -0
  261. package/augment-extensions/writing-standards/screenplay/rules/examples-guide.md +315 -0
  262. package/augment-extensions/writing-standards/screenplay/rules/formatting-validation.md +413 -0
  263. package/augment-extensions/writing-standards/screenplay/rules/fountain-format.md +372 -0
  264. package/augment-extensions/writing-standards/screenplay/rules/independent-films.md +374 -0
  265. package/augment-extensions/writing-standards/screenplay/rules/live-tv-productions.md +443 -0
  266. package/augment-extensions/writing-standards/screenplay/rules/narrative-structures.md +207 -0
  267. package/augment-extensions/writing-standards/screenplay/rules/news-broadcasts.md +444 -0
  268. package/augment-extensions/writing-standards/screenplay/rules/pacing-timing.md +331 -0
  269. package/augment-extensions/writing-standards/screenplay/rules/quality-review-checklist.md +334 -0
  270. package/augment-extensions/writing-standards/screenplay/rules/quick-reference.md +299 -0
  271. package/augment-extensions/writing-standards/screenplay/rules/screen-continuity.md +263 -0
  272. package/augment-extensions/writing-standards/screenplay/rules/streaming-content.md +412 -0
  273. package/augment-extensions/writing-standards/screenplay/rules/trope-management.md +370 -0
  274. package/augment-extensions/writing-standards/screenplay/rules/tv-series.md +374 -0
  275. package/augment-extensions/writing-standards/screenplay/rules/universal-formatting.md +339 -0
  276. package/augment-extensions/writing-standards/screenplay/rules/vscode-integration.md +277 -0
  277. package/augment-extensions/writing-standards/screenplay/rules/web-content.md +393 -0
  278. package/augment-extensions/writing-standards/screenplay/schemas/beat-sheet.json +332 -0
  279. package/augment-extensions/writing-standards/screenplay/schemas/character-profile.json +247 -0
  280. package/augment-extensions/writing-standards/screenplay/schemas/feature-selection.json +200 -0
  281. package/augment-extensions/writing-standards/screenplay/schemas/plot-outline.json +233 -0
  282. package/augment-extensions/writing-standards/screenplay/schemas/screenplay-config.json +245 -0
  283. package/augment-extensions/writing-standards/screenplay/schemas/trope-inventory.json +221 -0
  284. package/augment-extensions/writing-standards/screenplay/styles/README.md +159 -0
  285. package/augment-extensions/writing-standards/screenplay/styles/examples/.gitkeep +2 -0
  286. package/augment-extensions/writing-standards/screenplay/styles/examples/style-applications.md +1449 -0
  287. package/augment-extensions/writing-standards/screenplay/styles/module.json +64 -0
  288. package/augment-extensions/writing-standards/screenplay/styles/rules/.gitkeep +2 -0
  289. package/augment-extensions/writing-standards/screenplay/styles/rules/dialogue-centric.md +520 -0
  290. package/augment-extensions/writing-standards/screenplay/styles/rules/ensemble.md +499 -0
  291. package/augment-extensions/writing-standards/screenplay/styles/rules/epic.md +497 -0
  292. package/augment-extensions/writing-standards/screenplay/styles/rules/experimental.md +492 -0
  293. package/augment-extensions/writing-standards/screenplay/styles/rules/flashback.md +509 -0
  294. package/augment-extensions/writing-standards/screenplay/styles/rules/linear.md +490 -0
  295. package/augment-extensions/writing-standards/screenplay/styles/rules/minimalist.md +499 -0
  296. package/augment-extensions/writing-standards/screenplay/styles/rules/non-linear.md +501 -0
  297. package/augment-extensions/writing-standards/screenplay/styles/rules/poetic.md +499 -0
  298. package/augment-extensions/writing-standards/screenplay/styles/rules/realistic.md +498 -0
  299. package/augment-extensions/writing-standards/screenplay/styles/rules/satirical.md +499 -0
  300. package/augment-extensions/writing-standards/screenplay/styles/rules/surreal.md +508 -0
  301. package/augment-extensions/writing-standards/screenplay/styles/rules/voice-over.md +500 -0
  302. package/augment-extensions/writing-standards/screenplay/themes/README.md +158 -0
  303. package/augment-extensions/writing-standards/screenplay/themes/examples/.gitkeep +2 -0
  304. package/augment-extensions/writing-standards/screenplay/themes/examples/common-mistakes-and-fixes.md +643 -0
  305. package/augment-extensions/writing-standards/screenplay/themes/examples/complete-scene-example.md +311 -0
  306. package/augment-extensions/writing-standards/screenplay/themes/examples/individual-theme-examples.md +562 -0
  307. package/augment-extensions/writing-standards/screenplay/themes/examples/multi-theme-weaving.md +538 -0
  308. package/augment-extensions/writing-standards/screenplay/themes/examples/theme-application-guide.md +432 -0
  309. package/augment-extensions/writing-standards/screenplay/themes/examples/theme-integration-across-acts.md +637 -0
  310. package/augment-extensions/writing-standards/screenplay/themes/module.json +66 -0
  311. package/augment-extensions/writing-standards/screenplay/themes/rules/.gitkeep +2 -0
  312. package/augment-extensions/writing-standards/screenplay/themes/rules/ambition.md +458 -0
  313. package/augment-extensions/writing-standards/screenplay/themes/rules/betrayal.md +490 -0
  314. package/augment-extensions/writing-standards/screenplay/themes/rules/environment.md +458 -0
  315. package/augment-extensions/writing-standards/screenplay/themes/rules/fate.md +459 -0
  316. package/augment-extensions/writing-standards/screenplay/themes/rules/friendship.md +491 -0
  317. package/augment-extensions/writing-standards/screenplay/themes/rules/growth.md +491 -0
  318. package/augment-extensions/writing-standards/screenplay/themes/rules/identity.md +490 -0
  319. package/augment-extensions/writing-standards/screenplay/themes/rules/isolation.md +464 -0
  320. package/augment-extensions/writing-standards/screenplay/themes/rules/justice.md +461 -0
  321. package/augment-extensions/writing-standards/screenplay/themes/rules/love.md +489 -0
  322. package/augment-extensions/writing-standards/screenplay/themes/rules/power.md +494 -0
  323. package/augment-extensions/writing-standards/screenplay/themes/rules/redemption.md +483 -0
  324. package/augment-extensions/writing-standards/screenplay/themes/rules/revenge.md +489 -0
  325. package/augment-extensions/writing-standards/screenplay/themes/rules/survival.md +496 -0
  326. package/augment-extensions/writing-standards/screenplay/themes/rules/technology.md +463 -0
  327. package/cli/MODULES.md +302 -0
  328. package/cli/dist/cli.js +168 -10
  329. package/cli/dist/cli.js.map +1 -1
  330. package/cli/dist/commands/catalog.d.ts +13 -0
  331. package/cli/dist/commands/catalog.d.ts.map +1 -0
  332. package/cli/dist/commands/catalog.js +104 -0
  333. package/cli/dist/commands/catalog.js.map +1 -0
  334. package/cli/dist/commands/gui.d.ts +6 -0
  335. package/cli/dist/commands/gui.d.ts.map +1 -0
  336. package/cli/dist/commands/gui.js +211 -0
  337. package/cli/dist/commands/gui.js.map +1 -0
  338. package/cli/dist/commands/init.d.ts.map +1 -1
  339. package/cli/dist/commands/init.js +12 -0
  340. package/cli/dist/commands/init.js.map +1 -1
  341. package/cli/dist/commands/install-rules.d.ts +14 -0
  342. package/cli/dist/commands/install-rules.d.ts.map +1 -0
  343. package/cli/dist/commands/install-rules.js +127 -0
  344. package/cli/dist/commands/install-rules.js.map +1 -0
  345. package/cli/dist/commands/link.d.ts.map +1 -1
  346. package/cli/dist/commands/link.js +9 -11
  347. package/cli/dist/commands/link.js.map +1 -1
  348. package/cli/dist/commands/list.d.ts.map +1 -1
  349. package/cli/dist/commands/list.js +11 -28
  350. package/cli/dist/commands/list.js.map +1 -1
  351. package/cli/dist/commands/mcp.d.ts +48 -0
  352. package/cli/dist/commands/mcp.d.ts.map +1 -0
  353. package/cli/dist/commands/mcp.js +229 -0
  354. package/cli/dist/commands/mcp.js.map +1 -0
  355. package/cli/dist/commands/self-remove.d.ts +7 -0
  356. package/cli/dist/commands/self-remove.d.ts.map +1 -0
  357. package/cli/dist/commands/self-remove.js +179 -0
  358. package/cli/dist/commands/self-remove.js.map +1 -0
  359. package/cli/dist/commands/show.d.ts +19 -0
  360. package/cli/dist/commands/show.d.ts.map +1 -1
  361. package/cli/dist/commands/show.js +478 -63
  362. package/cli/dist/commands/show.js.map +1 -1
  363. package/cli/dist/commands/skill.d.ts +67 -0
  364. package/cli/dist/commands/skill.d.ts.map +1 -0
  365. package/cli/dist/commands/skill.js +513 -0
  366. package/cli/dist/commands/skill.js.map +1 -0
  367. package/cli/dist/commands/unlink.d.ts +6 -0
  368. package/cli/dist/commands/unlink.d.ts.map +1 -0
  369. package/cli/dist/commands/unlink.js +115 -0
  370. package/cli/dist/commands/unlink.js.map +1 -0
  371. package/cli/dist/commands/validate.d.ts +6 -0
  372. package/cli/dist/commands/validate.d.ts.map +1 -0
  373. package/cli/dist/commands/validate.js +159 -0
  374. package/cli/dist/commands/validate.js.map +1 -0
  375. package/cli/dist/types/gui.d.ts +62 -0
  376. package/cli/dist/types/gui.d.ts.map +1 -0
  377. package/cli/dist/types/gui.js +30 -0
  378. package/cli/dist/types/gui.js.map +1 -0
  379. package/cli/dist/utils/catalog-sync.d.ts +22 -0
  380. package/cli/dist/utils/catalog-sync.d.ts.map +1 -0
  381. package/cli/dist/utils/catalog-sync.js +157 -0
  382. package/cli/dist/utils/catalog-sync.js.map +1 -0
  383. package/cli/dist/utils/character-count.d.ts +56 -0
  384. package/cli/dist/utils/character-count.d.ts.map +1 -0
  385. package/cli/dist/utils/character-count.js +190 -0
  386. package/cli/dist/utils/character-count.js.map +1 -0
  387. package/cli/dist/utils/documentation-validator.d.ts +18 -0
  388. package/cli/dist/utils/documentation-validator.d.ts.map +1 -0
  389. package/cli/dist/utils/documentation-validator.js +233 -0
  390. package/cli/dist/utils/documentation-validator.js.map +1 -0
  391. package/cli/dist/utils/gui-helpers.d.ts +23 -0
  392. package/cli/dist/utils/gui-helpers.d.ts.map +1 -0
  393. package/cli/dist/utils/gui-helpers.js +159 -0
  394. package/cli/dist/utils/gui-helpers.js.map +1 -0
  395. package/cli/dist/utils/install-rules.d.ts +32 -0
  396. package/cli/dist/utils/install-rules.d.ts.map +1 -0
  397. package/cli/dist/utils/install-rules.js +375 -0
  398. package/cli/dist/utils/install-rules.js.map +1 -0
  399. package/cli/dist/utils/mcp-integration.d.ts +70 -0
  400. package/cli/dist/utils/mcp-integration.d.ts.map +1 -0
  401. package/cli/dist/utils/mcp-integration.js +292 -0
  402. package/cli/dist/utils/mcp-integration.js.map +1 -0
  403. package/cli/dist/utils/module-system.d.ts +232 -0
  404. package/cli/dist/utils/module-system.d.ts.map +1 -0
  405. package/cli/dist/utils/module-system.js +900 -0
  406. package/cli/dist/utils/module-system.js.map +1 -0
  407. package/cli/dist/utils/modules-catalog.d.ts +33 -0
  408. package/cli/dist/utils/modules-catalog.d.ts.map +1 -0
  409. package/cli/dist/utils/modules-catalog.js +163 -0
  410. package/cli/dist/utils/modules-catalog.js.map +1 -0
  411. package/cli/dist/utils/rule-install-hooks.d.ts +19 -0
  412. package/cli/dist/utils/rule-install-hooks.d.ts.map +1 -0
  413. package/cli/dist/utils/rule-install-hooks.js +224 -0
  414. package/cli/dist/utils/rule-install-hooks.js.map +1 -0
  415. package/cli/dist/utils/skill-system.d.ts +95 -0
  416. package/cli/dist/utils/skill-system.d.ts.map +1 -0
  417. package/cli/dist/utils/skill-system.js +313 -0
  418. package/cli/dist/utils/skill-system.js.map +1 -0
  419. package/modules.md +559 -105
  420. package/package.json +17 -6
@@ -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
+