mcp-efficiency-engine 0.1.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 (360) hide show
  1. package/.github/CODEOWNERS +40 -0
  2. package/.github/GITHUB_MCP_INTEGRATION.md +366 -0
  3. package/.github/ISSUE_TEMPLATE/bug.md +51 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +45 -0
  5. package/.github/ISSUE_TEMPLATE/question.md +18 -0
  6. package/.github/agents/backend.agent.md +18 -0
  7. package/.github/agents/community-manager.agent.md +18 -0
  8. package/.github/agents/dba.agent.md +18 -0
  9. package/.github/agents/frontend-agent.agent.md +18 -0
  10. package/.github/agents/github-repository-manager.agent.md +338 -0
  11. package/.github/agents/iot.agent.md +20 -0
  12. package/.github/agents/legacy.agent.md +18 -0
  13. package/.github/agents/rag-azure.agent.md +18 -0
  14. package/.github/agents/rag-local.agent.md +18 -0
  15. package/.github/agents/snapshot.agent.md +18 -0
  16. package/.github/agents/ux-ui.agent.md +18 -0
  17. package/.github/agents/wiki-agent.agent.md +23 -0
  18. package/.github/copilot-instructions.md +44 -0
  19. package/.github/instructions/always-on-optimization.instructions.md +54 -0
  20. package/.github/prompts/auto-route.prompt.md +33 -0
  21. package/.github/prompts/azure-rag.query.prompt.md +19 -0
  22. package/.github/prompts/backend.fix-bug.prompt.md +13 -0
  23. package/.github/prompts/cavecrew.prompt.md +16 -0
  24. package/.github/prompts/caveman-commit.prompt.md +14 -0
  25. package/.github/prompts/caveman-compress.prompt.md +15 -0
  26. package/.github/prompts/caveman-debug.prompt.md +13 -0
  27. package/.github/prompts/caveman-help.prompt.md +11 -0
  28. package/.github/prompts/caveman-review.prompt.md +15 -0
  29. package/.github/prompts/caveman-stats.prompt.md +11 -0
  30. package/.github/prompts/caveman.prompt.md +11 -0
  31. package/.github/prompts/community.post.prompt.md +14 -0
  32. package/.github/prompts/dba.query-review.prompt.md +15 -0
  33. package/.github/prompts/dev.fix-bug.prompt.md +13 -0
  34. package/.github/prompts/frontend.code.prompt.md +13 -0
  35. package/.github/prompts/legacy.impact-analysis.prompt.md +14 -0
  36. package/.github/prompts/project.kickoff-analysis.prompt.md +51 -0
  37. package/.github/prompts/rag.knowledge-answer.prompt.md +13 -0
  38. package/.github/prompts/token-saver-review.prompt.md +14 -0
  39. package/.github/prompts/ux-ui.review.prompt.md +14 -0
  40. package/.github/pull_request_template.md +71 -0
  41. package/.github/skills/ahorro-tokens/SKILL.md +36 -0
  42. package/.github/skills/azure-rag-enterprise/SKILL.md +24 -0
  43. package/.github/skills/backend-coding/SKILL.md +24 -0
  44. package/.github/skills/cavecrew/SKILL.md +17 -0
  45. package/.github/skills/caveman/SKILL.md +25 -0
  46. package/.github/skills/caveman-commit/SKILL.md +15 -0
  47. package/.github/skills/caveman-compress/SKILL.md +14 -0
  48. package/.github/skills/caveman-help/SKILL.md +19 -0
  49. package/.github/skills/caveman-mode/SKILL.md +43 -0
  50. package/.github/skills/caveman-review/SKILL.md +16 -0
  51. package/.github/skills/caveman-stats/SKILL.md +13 -0
  52. package/.github/skills/community-content/SKILL.md +22 -0
  53. package/.github/skills/database-analysis/SKILL.md +23 -0
  54. package/.github/skills/dev-coding/SKILL.md +24 -0
  55. package/.github/skills/frontend-coding/SKILL.md +24 -0
  56. package/.github/skills/human-in-the-loop/SKILL.md +47 -0
  57. package/.github/skills/iot-architecture/SKILL.md +22 -0
  58. package/.github/skills/legacy-migration/SKILL.md +22 -0
  59. package/.github/skills/rag-knowledge/SKILL.md +21 -0
  60. package/.github/skills/token-saver/SKILL.md +36 -0
  61. package/.github/skills/ux-ui-governance/SKILL.md +24 -0
  62. package/.github/skills/wiki-tools.json +24 -0
  63. package/.github/workflows/auto-devlog.yml +56 -0
  64. package/.github/workflows/auto-manage-issues.yml +64 -0
  65. package/.github/workflows/auto-sync.yml +54 -0
  66. package/.github/workflows/autodocs-sync.yml +114 -0
  67. package/.github/workflows/ci.yml +68 -0
  68. package/.github/workflows/pages.yml +59 -0
  69. package/.github/workflows/routing-evals.yml +59 -0
  70. package/.github/workflows/techriders-coverage-effective.yml +91 -0
  71. package/.vscode/mcp.json +44 -0
  72. package/AGENTS.md +160 -0
  73. package/ARCHITECTURE.md +57 -0
  74. package/FINAL_USAGE_GUIDE.md +106 -0
  75. package/LICENSE +21 -0
  76. package/README.md +385 -0
  77. package/README_WIKI.md +130 -0
  78. package/autodocs/README.md +22 -0
  79. package/autodocs/schema/wiki-node.schema.json +56 -0
  80. package/autolearning/feedback-loop.md +90 -0
  81. package/bin/install-host.js +326 -0
  82. package/bin/mcpee.js +116 -0
  83. package/context/repomix/repomix.config.json +20 -0
  84. package/memory/cross-memory-reasoning.md +17 -0
  85. package/memory/mempry-registry.yml +16 -0
  86. package/observability/evals/chat-token-usage-report.json +64 -0
  87. package/observability/evals/chat-token-usage-report.md +33 -0
  88. package/observability/evals/iteration-value-report.json +76 -0
  89. package/observability/evals/iteration-value-report.md +39 -0
  90. package/observability/evals/learning-loop-report.json +268 -0
  91. package/observability/evals/learning-loop-report.md +37 -0
  92. package/observability/evals/repo-intake-eval-cases.md +23 -0
  93. package/observability/evals/routing-eval-cases.json +68 -0
  94. package/observability/evals/routing-eval-cases.md +25 -0
  95. package/observability/evals/routing-eval-report.json +72 -0
  96. package/observability/evaluation.md +34 -0
  97. package/observability/logs/copilot-usage-ingest-report.json +13 -0
  98. package/observability/logs/iteration-metrics.jsonl +75 -0
  99. package/observability/logs/learning-feedback.jsonl +152 -0
  100. package/observability/logs/routing-decisions.jsonl +333 -0
  101. package/observability/logs/session/agent-pipeline-preflight-20260701-004146.log +8 -0
  102. package/observability/logs/session/agent-pipeline-preflight-20260701-005554.log +8 -0
  103. package/observability/logs/session/agent-pipeline-preflight-20260701-010351.log +8 -0
  104. package/observability/logs/session/agent-pipeline-preflight-20260704-145829.log +8 -0
  105. package/observability/logs/session/agent-pipeline-preflight-20260704-150021.log +8 -0
  106. package/observability/logs/session/agent-pipeline-preflight-20260704-154328.log +8 -0
  107. package/observability/logs/session/bye-20260629-221513.json +39 -0
  108. package/observability/logs/session/bye-20260629-221545.json +59 -0
  109. package/observability/logs/session/bye-20260629-222007.json +52 -0
  110. package/observability/logs/session/bye-20260629-222133.json +59 -0
  111. package/observability/logs/session/bye-20260629-222412.json +45 -0
  112. package/observability/logs/session/bye-20260629-223224.json +52 -0
  113. package/observability/logs/session/bye-20260629-224050.json +59 -0
  114. package/observability/logs/session/bye-20260630-105732.json +24 -0
  115. package/observability/logs/session/bye-20260630-211536.json +87 -0
  116. package/observability/logs/session/bye-20260630-223423.json +87 -0
  117. package/observability/logs/session/bye-20260630-232534.json +87 -0
  118. package/observability/logs/session/bye-20260701-003638.json +126 -0
  119. package/observability/logs/session/bye-20260701-003849.json +126 -0
  120. package/observability/logs/session/bye-20260701-004315.json +138 -0
  121. package/observability/logs/session/bye-20260701-004559.json +76 -0
  122. package/observability/logs/session/bye-20260701-005913.json +138 -0
  123. package/observability/logs/session/bye-20260701-010753.json +138 -0
  124. package/observability/logs/session/bye-20260703-194106.json +24 -0
  125. package/observability/logs/session/bye-20260703-233443.json +76 -0
  126. package/observability/logs/session/bye-20260703-233653.json +76 -0
  127. package/observability/logs/session/bye-20260704-150317.json +152 -0
  128. package/observability/logs/session/bye-20260704-150929.json +75 -0
  129. package/observability/logs/session/bye-20260704-151050.json +75 -0
  130. package/observability/logs/session/bye-20260705-115458.json +165 -0
  131. package/observability/logs/session/codegraph-status-20260701-004228.log +39 -0
  132. package/observability/logs/session/codegraph-status-20260701-004310.log +39 -0
  133. package/observability/logs/session/codegraph-status-20260701-005637.log +39 -0
  134. package/observability/logs/session/codegraph-status-20260701-005908.log +39 -0
  135. package/observability/logs/session/codegraph-status-20260701-010444.log +39 -0
  136. package/observability/logs/session/codegraph-status-20260701-010747.log +39 -0
  137. package/observability/logs/session/codegraph-status-20260704-150137.log +26 -0
  138. package/observability/logs/session/codegraph-status-20260704-150313.log +28 -0
  139. package/observability/logs/session/codegraph-status-20260704-154445.log +26 -0
  140. package/observability/logs/session/codegraph-status-20260705-115454.log +27 -0
  141. package/observability/logs/session/codegraph-sync-20260701-004211.log +88 -0
  142. package/observability/logs/session/codegraph-sync-20260701-004241.log +82 -0
  143. package/observability/logs/session/codegraph-sync-20260701-005620.log +89 -0
  144. package/observability/logs/session/codegraph-sync-20260701-005840.log +88 -0
  145. package/observability/logs/session/codegraph-sync-20260701-010419.log +93 -0
  146. package/observability/logs/session/codegraph-sync-20260701-010609.log +90 -0
  147. package/observability/logs/session/codegraph-sync-20260704-145856.log +70 -0
  148. package/observability/logs/session/codegraph-sync-20260704-150047.log +53 -0
  149. package/observability/logs/session/codegraph-sync-20260704-150204.log +44 -0
  150. package/observability/logs/session/codegraph-sync-20260704-154353.log +26 -0
  151. package/observability/logs/session/codegraph-sync-20260705-115337.log +32 -0
  152. package/observability/logs/session/hi-20260629-221459.json +38 -0
  153. package/observability/logs/session/hi-20260629-221945.json +59 -0
  154. package/observability/logs/session/hi-20260629-222108.json +66 -0
  155. package/observability/logs/session/hi-20260629-222352.json +45 -0
  156. package/observability/logs/session/hi-20260629-225719.json +59 -0
  157. package/observability/logs/session/hi-20260629-233722.json +52 -0
  158. package/observability/logs/session/hi-20260629-233913.json +198 -0
  159. package/observability/logs/session/hi-20260630-110156.json +177 -0
  160. package/observability/logs/session/hi-20260630-191243.json +184 -0
  161. package/observability/logs/session/hi-20260630-230050.json +234 -0
  162. package/observability/logs/session/hi-20260630-230523.json +227 -0
  163. package/observability/logs/session/hi-20260630-230855.json +227 -0
  164. package/observability/logs/session/hi-20260630-231638.json +227 -0
  165. package/observability/logs/session/hi-20260630-231756.json +219 -0
  166. package/observability/logs/session/hi-20260701-002842.json +234 -0
  167. package/observability/logs/session/hi-20260701-003458.json +282 -0
  168. package/observability/logs/session/hi-20260701-004233.json +290 -0
  169. package/observability/logs/session/hi-20260701-004554.json +236 -0
  170. package/observability/logs/session/hi-20260701-005641.json +290 -0
  171. package/observability/logs/session/hi-20260701-010450.json +290 -0
  172. package/observability/logs/session/hi-20260703-233854.json +312 -0
  173. package/observability/logs/session/hi-20260703-234448.json +318 -0
  174. package/observability/logs/session/hi-20260704-145907.json +353 -0
  175. package/observability/logs/session/hi-20260704-150141.json +392 -0
  176. package/observability/logs/session/hi-20260704-154448.json +392 -0
  177. package/observability/logs/session/iteration-value-refresh-20260701-004309.log +3 -0
  178. package/observability/logs/session/iteration-value-refresh-20260701-005907.log +3 -0
  179. package/observability/logs/session/iteration-value-refresh-20260701-010747.log +3 -0
  180. package/observability/logs/session/iteration-value-refresh-20260704-150312.log +3 -0
  181. package/observability/logs/session/iteration-value-refresh-20260705-115453.log +3 -0
  182. package/observability/logs/session/learning-loop-refresh-20260701-004309.log +3 -0
  183. package/observability/logs/session/learning-loop-refresh-20260701-005906.log +3 -0
  184. package/observability/logs/session/learning-loop-refresh-20260701-010745.log +3 -0
  185. package/observability/logs/session/learning-loop-refresh-20260704-150309.log +3 -0
  186. package/observability/logs/session/learning-loop-refresh-20260705-115450.log +3 -0
  187. package/observability/logs/session/project-notes-refresh-20260701-004227.log +1 -0
  188. package/observability/logs/session/project-notes-refresh-20260701-004308.log +1 -0
  189. package/observability/logs/session/project-notes-refresh-20260701-005636.log +1 -0
  190. package/observability/logs/session/project-notes-refresh-20260701-005906.log +1 -0
  191. package/observability/logs/session/project-notes-refresh-20260701-010443.log +1 -0
  192. package/observability/logs/session/project-notes-refresh-20260701-010744.log +1 -0
  193. package/observability/logs/session/project-notes-refresh-20260704-150133.log +1 -0
  194. package/observability/logs/session/project-notes-refresh-20260704-150309.log +1 -0
  195. package/observability/logs/session/project-notes-refresh-20260704-154442.log +1 -0
  196. package/observability/logs/session/project-notes-refresh-20260705-115449.log +1 -0
  197. package/observability/logs/session/repo-intake-20260701-004218.log +6 -0
  198. package/observability/logs/session/repo-intake-20260701-005626.log +6 -0
  199. package/observability/logs/session/repo-intake-20260701-010433.log +6 -0
  200. package/observability/logs/session/repo-intake-20260704-150053.log +6 -0
  201. package/observability/logs/session/repo-intake-20260704-154404.log +6 -0
  202. package/observability/logs/session/repo-intake-refresh-20260701-004247.log +6 -0
  203. package/observability/logs/session/repo-intake-refresh-20260701-005847.log +6 -0
  204. package/observability/logs/session/repo-intake-refresh-20260701-010615.log +6 -0
  205. package/observability/logs/session/repo-intake-refresh-20260704-150209.log +6 -0
  206. package/observability/logs/session/repo-intake-refresh-20260705-115342.log +6 -0
  207. package/observability/logs/session/repo-registry-validation-20260701-004234.log +2 -0
  208. package/observability/logs/session/repo-registry-validation-20260701-004556.log +2 -0
  209. package/observability/logs/session/repo-registry-validation-20260701-005833.log +2 -0
  210. package/observability/logs/session/repo-registry-validation-20260701-010601.log +2 -0
  211. package/observability/logs/session/repo-registry-validation-20260704-150155.log +2 -0
  212. package/observability/logs/session/repo-registry-validation-20260705-115323.log +2 -0
  213. package/observability/logs/session/repomix-refresh-20260701-003823.log +4236 -0
  214. package/observability/logs/session/repomix-refresh-20260701-004251.log +4275 -0
  215. package/observability/logs/session/repomix-refresh-20260701-005850.log +4248 -0
  216. package/observability/logs/session/repomix-refresh-20260701-010619.log +6531 -0
  217. package/observability/logs/session/repomix-refresh-20260704-150239.log +652 -0
  218. package/observability/logs/session/repomix-refresh-20260705-115419.log +178 -0
  219. package/observability/logs/session/routing-evals-20260701-004221.log +2 -0
  220. package/observability/logs/session/routing-evals-20260701-004235.log +2 -0
  221. package/observability/logs/session/routing-evals-20260701-005629.log +2 -0
  222. package/observability/logs/session/routing-evals-20260701-005834.log +2 -0
  223. package/observability/logs/session/routing-evals-20260701-010437.log +2 -0
  224. package/observability/logs/session/routing-evals-20260701-010603.log +2 -0
  225. package/observability/logs/session/routing-evals-20260704-150125.log +2 -0
  226. package/observability/logs/session/routing-evals-20260704-150157.log +2 -0
  227. package/observability/logs/session/routing-evals-20260704-154434.log +2 -0
  228. package/observability/logs/session/routing-evals-20260705-115327.log +2 -0
  229. package/observability/logs/session/sibling-discovery-refresh-20260701-004250.log +3 -0
  230. package/observability/logs/session/sibling-discovery-refresh-20260701-005850.log +3 -0
  231. package/observability/logs/session/sibling-discovery-refresh-20260701-010618.log +3 -0
  232. package/observability/logs/session/sibling-discovery-refresh-20260704-150238.log +3 -0
  233. package/observability/logs/session/sibling-discovery-refresh-20260705-115418.log +3 -0
  234. package/observability/logs.schema.json +95 -0
  235. package/observability/logs.schema.md +26 -0
  236. package/observability/metrics.md +35 -0
  237. package/observability/routing-evaluator.md +37 -0
  238. package/observability/scoring-rubric.md +38 -0
  239. package/optimization/ALWAYS_ON_OPTIMIZATION.md +98 -0
  240. package/optimization/caveman-mode.md +62 -0
  241. package/optimization/examples/login-bug.md +25 -0
  242. package/optimization/examples/sla-query.md +25 -0
  243. package/optimization/optimization-routing.md +30 -0
  244. package/optimization/policies/response-style.policy.md +45 -0
  245. package/optimization/policies/token-budget.policy.md +28 -0
  246. package/optimization/profiles/always-on.profile.md +19 -0
  247. package/optimization/profiles/architecture.profile.md +20 -0
  248. package/optimization/profiles/debug.profile.md +20 -0
  249. package/optimization/profiles/enterprise-rag.profile.md +20 -0
  250. package/optimization/profiles/training.profile.md +20 -0
  251. package/optimization/token-saver.md +58 -0
  252. package/orchestrator/corporate-routing.md +51 -0
  253. package/orchestrator/decision-matrix.md +33 -0
  254. package/orchestrator/fallback.md +29 -0
  255. package/orchestrator/repo-routing.md +58 -0
  256. package/orchestrator/router.md +75 -0
  257. package/orchestrator/wiki/__init__.py +5 -0
  258. package/orchestrator/wiki/graph_consolidator.py +506 -0
  259. package/orchestrator/wiki/incremental_engine.py +57 -0
  260. package/orchestrator/wiki/plugin_manager.py +40 -0
  261. package/package.json +70 -0
  262. package/policies/context-policy.md +25 -0
  263. package/policies/cost-policy.md +25 -0
  264. package/policies/repo-intake-policy.md +36 -0
  265. package/policies/security-policy.md +25 -0
  266. package/repo-intake/README.md +81 -0
  267. package/repo-intake/templates/agent.template.md +4 -0
  268. package/repo-intake/templates/context-manifest.template.md +4 -0
  269. package/repo-intake/templates/skill.template.md +3 -0
  270. package/repo-registry/repos.schema.json +102 -0
  271. package/repo-registry/repos.template.json +26 -0
  272. package/requirements.txt +1 -0
  273. package/scripts/README.md +109 -0
  274. package/scripts/__init__.py +0 -0
  275. package/scripts/bootstrap-portable.cmd +4 -0
  276. package/scripts/bootstrap-portable.ps1 +90 -0
  277. package/scripts/context/azure-rag-mcp-adapter.py +1 -0
  278. package/scripts/context/build-graphify.ps1 +1 -0
  279. package/scripts/context/build-repomix.ps1 +1 -0
  280. package/scripts/discovery/discover-boost-repos.cmd +4 -0
  281. package/scripts/discovery/discover-boost-repos.py +186 -0
  282. package/scripts/discovery/refresh-project-notes.py +179 -0
  283. package/scripts/github/INSTALL.md +295 -0
  284. package/scripts/github/README.md +455 -0
  285. package/scripts/github/apply-boost-templates.ps1 +163 -0
  286. package/scripts/github/apply-single-repo.ps1 +85 -0
  287. package/scripts/github/create-devlog.ps1 +380 -0
  288. package/scripts/github/manage-issues.ps1 +332 -0
  289. package/scripts/github/sync-repo.ps1 +267 -0
  290. package/scripts/intake/agent-pipeline-preflight.py +151 -0
  291. package/scripts/intake/init-template-registry.cmd +4 -0
  292. package/scripts/intake/init-template-registry.ps1 +258 -0
  293. package/scripts/intake/repo-intake.py +354 -0
  294. package/scripts/intake/resolve-routing.py +620 -0
  295. package/scripts/intake/run-repo-intake.cmd +4 -0
  296. package/scripts/intake/run-repo-intake.ps1 +46 -0
  297. package/scripts/intake/run-routing-evals.py +147 -0
  298. package/scripts/intake/validate-database-routing.py +91 -0
  299. package/scripts/intake/validate-rag-routing.py +85 -0
  300. package/scripts/intake/validate-repo-registry.ps1 +20 -0
  301. package/scripts/intake/validate-repo-registry.py +286 -0
  302. package/scripts/intake/validate-security.py +170 -0
  303. package/scripts/learning/autolearning-gate.py +71 -0
  304. package/scripts/learning/chat-token-usage-report.py +326 -0
  305. package/scripts/learning/ingest-copilot-session-usage.py +421 -0
  306. package/scripts/learning/iteration-value-report.py +275 -0
  307. package/scripts/learning/learning-loop-report.py +272 -0
  308. package/scripts/learning/record-iteration-metrics.py +116 -0
  309. package/scripts/learning/record-learning-feedback.py +91 -0
  310. package/scripts/ops/bye.ps1 +620 -0
  311. package/scripts/ops/compare-demo-results.ps1 +826 -0
  312. package/scripts/ops/demo1.ps1 +11 -0
  313. package/scripts/ops/demo2.ps1 +11 -0
  314. package/scripts/ops/demo3.ps1 +11 -0
  315. package/scripts/ops/demo4.ps1 +11 -0
  316. package/scripts/ops/hi.ps1 +1045 -0
  317. package/scripts/ops/llm-token-probe.py +164 -0
  318. package/scripts/ops/run-all-demos.ps1 +39 -0
  319. package/scripts/ops/run-demo-block.ps1 +85 -0
  320. package/scripts/ops/run-demo-session.ps1 +532 -0
  321. package/scripts/setup/optimize-engines.ps1 +183 -0
  322. package/scripts/setup/setup-codegraph.ps1 +3 -0
  323. package/scripts/setup/setup-gitnexus.ps1 +3 -0
  324. package/scripts/setup/setup-graphify.ps1 +2 -0
  325. package/scripts/setup/setup-prerequisites.ps1 +205 -0
  326. package/scripts/setup/start-gitnexus.ps1 +71 -0
  327. package/scripts/setup/validate-context.ps1 +361 -0
  328. package/scripts/wiki/__init__.py +0 -0
  329. package/scripts/wiki/compiler_main.py +189 -0
  330. package/scripts/wiki/normalizer.py +206 -0
  331. package/scripts/wiki/providers/base_provider.py +25 -0
  332. package/scripts/wiki/providers/codegraph_provider.py +49 -0
  333. package/scripts/wiki/providers/graphify_provider.py +49 -0
  334. package/scripts/wiki/providers/repo_content_provider.py +408 -0
  335. package/scripts/wiki/query_autodocs.py +60 -0
  336. package/scripts/wiki/validator.py +183 -0
  337. package/scripts/wiki/wiki_compiler.py +5 -0
  338. package/specs/architecture.spec.md +32 -0
  339. package/specs/azure-rag.spec.md +28 -0
  340. package/specs/coding-standards.spec.md +24 -0
  341. package/specs/database.spec.md +29 -0
  342. package/specs/migration.spec.md +26 -0
  343. package/specs/observability.spec.md +24 -0
  344. package/specs/optimization.spec.md +31 -0
  345. package/specs/rag.spec.md +30 -0
  346. package/specs/repo-intake.spec.md +25 -0
  347. package/specs/routing.spec.md +24 -0
  348. package/specs/security.spec.md +30 -0
  349. package/specs/wiki/provider-contract.json +33 -0
  350. package/specs/wiki/unified-knowledge-graph.json +25 -0
  351. package/templates/BOOST_README_TEMPLATE.md +96 -0
  352. package/templates/CODEOWNERS_TEMPLATE.txt +29 -0
  353. package/templates/LICENSE_MIT_TEMPLATE.txt +21 -0
  354. package/templates/PERSONAL_README_TEMPLATE.md +90 -0
  355. package/templates/README_boost_RAG_Azure.md +46 -0
  356. package/templates/README_boost_azure_iot_edge.md +48 -0
  357. package/templates/README_boost_backend.md +47 -0
  358. package/templates/README_boost_dba.md +57 -0
  359. package/templates/ci.yml.template +73 -0
  360. package/tooling/tooling.manifest.json +72 -0
@@ -0,0 +1,183 @@
1
+ param(
2
+ [switch]$InstallMissing,
3
+ [switch]$DeepGitNexus,
4
+ [switch]$SkipRepomixRefresh,
5
+ [switch]$SkipCbmAutoIndex
6
+ )
7
+
8
+ Set-StrictMode -Version Latest
9
+ $ErrorActionPreference = 'Stop'
10
+
11
+ function Get-PythonCommand {
12
+ if (Get-Command py -ErrorAction SilentlyContinue) {
13
+ return @('py', '-3.14')
14
+ }
15
+ if (Get-Command python -ErrorAction SilentlyContinue) {
16
+ return @('python')
17
+ }
18
+ throw 'Python no esta disponible (py/python).'
19
+ }
20
+
21
+ function Require-Command {
22
+ param(
23
+ [Parameter(Mandatory = $true)][string]$Name,
24
+ [switch]$Optional
25
+ )
26
+
27
+ if (Get-Command $Name -ErrorAction SilentlyContinue) {
28
+ Write-Host "[ok] comando disponible: $Name"
29
+ return $true
30
+ }
31
+
32
+ if ($Optional) {
33
+ Write-Host "[info] comando opcional ausente: $Name" -ForegroundColor DarkYellow
34
+ return $false
35
+ }
36
+
37
+ throw "Comando requerido no disponible: $Name"
38
+ }
39
+
40
+ $repoRoot = (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path
41
+ Set-Location $repoRoot
42
+
43
+ Write-Host '=== OPTIMIZE ENGINES ===' -ForegroundColor Cyan
44
+ Write-Host "Repo: $repoRoot"
45
+
46
+ if ($InstallMissing) {
47
+ Write-Host '[step] Instalando prerequisitos MCP faltantes...'
48
+ & pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup\setup-prerequisites.ps1
49
+ if ($LASTEXITCODE -ne 0) {
50
+ throw "setup-prerequisites fallo con exit code $LASTEXITCODE"
51
+ }
52
+ }
53
+
54
+ Write-Host '[step] Validando contexto base...'
55
+ & pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup\validate-context.ps1
56
+ if ($LASTEXITCODE -ne 0) {
57
+ throw "validate-context fallo con exit code $LASTEXITCODE"
58
+ }
59
+
60
+ Require-Command -Name 'codegraph' | Out-Null
61
+ Require-Command -Name 'gitnexus' | Out-Null
62
+ Require-Command -Name 'token-saver-mcp' | Out-Null
63
+ Require-Command -Name 'codebase-memory-mcp' | Out-Null
64
+ $hasRepomix = Require-Command -Name 'repomix' -Optional
65
+
66
+ Write-Host '[step] Afinando .vscode/mcp.json para arranque local rapido...'
67
+ $mcpPath = Join-Path $repoRoot '.vscode/mcp.json'
68
+ $mcp = Get-Content -Raw -Path $mcpPath | ConvertFrom-Json -Depth 20
69
+
70
+ $mcp.servers.gitnexus.command = 'gitnexus'
71
+ $mcp.servers.gitnexus.args = @('mcp')
72
+
73
+ $gitnexusServer = $mcp.servers.gitnexus
74
+ $gitnexusEnv = [ordered]@{}
75
+ if (($gitnexusServer.PSObject.Properties.Name -contains 'env') -and $gitnexusServer.env) {
76
+ if ($gitnexusServer.env -is [System.Collections.IDictionary]) {
77
+ foreach ($k in $gitnexusServer.env.Keys) {
78
+ $gitnexusEnv[[string]$k] = [string]$gitnexusServer.env[$k]
79
+ }
80
+ }
81
+ else {
82
+ foreach ($p in $gitnexusServer.env.PSObject.Properties) {
83
+ $gitnexusEnv[[string]$p.Name] = [string]$p.Value
84
+ }
85
+ }
86
+ }
87
+
88
+ # VECTOR index no esta disponible en Windows para LadybugDB; subimos el limite de exact-scan semantico.
89
+ $gitnexusEnv['GITNEXUS_SEMANTIC_EXACT_SCAN_LIMIT'] = '50000'
90
+ $gitnexusEnv['GITNEXUS_EMBEDDING_THREADS'] = '4'
91
+
92
+ if ($gitnexusServer.PSObject.Properties.Name -contains 'env') {
93
+ $gitnexusServer.env = $gitnexusEnv
94
+ }
95
+ else {
96
+ $gitnexusServer | Add-Member -NotePropertyName env -NotePropertyValue $gitnexusEnv -Force
97
+ }
98
+
99
+ if ($hasRepomix) {
100
+ $mcp.servers.repomix.command = 'repomix'
101
+ $mcp.servers.repomix.args = @('--mcp')
102
+ }
103
+
104
+ $mcp | ConvertTo-Json -Depth 20 | Set-Content -Path $mcpPath -Encoding UTF8
105
+
106
+ Write-Host '[step] Sincronizando CodeGraph...'
107
+ & codegraph sync
108
+ if ($LASTEXITCODE -ne 0) {
109
+ throw "codegraph sync fallo con exit code $LASTEXITCODE"
110
+ }
111
+ & codegraph status
112
+
113
+ Write-Host '[step] Validando/optimizando indice GitNexus...'
114
+ $doctor = gitnexus doctor | Out-String
115
+ if ($doctor -match 'VECTOR index:\s+unavailable') {
116
+ Write-Host '[info] GitNexus sin VECTOR index en esta plataforma; se usa exact-scan con limite aumentado en MCP.' -ForegroundColor DarkYellow
117
+ }
118
+ $gStatus = gitnexus status | Out-String
119
+ if ($gStatus -match 'Repository not indexed') {
120
+ gitnexus analyze . --skills
121
+ }
122
+ elseif ($DeepGitNexus) {
123
+ gitnexus analyze . --skills --embeddings
124
+ }
125
+ else {
126
+ Write-Host '[ok] GitNexus index presente; usa -DeepGitNexus para optimizacion completa con embeddings.'
127
+ }
128
+
129
+ Write-Host '[step] Validando runtime de Graphify...'
130
+ $py = Get-PythonCommand
131
+ $pyCmd = $py[0]
132
+ $pyArgs = @()
133
+ if ($py.Length -gt 1) {
134
+ $pyArgs = $py[1..($py.Length - 1)]
135
+ }
136
+
137
+ & $pyCmd @pyArgs -c "import graphify.serve, mcp; print('GRAPHIFY_OK')"
138
+ if ($LASTEXITCODE -ne 0) {
139
+ throw 'Graphify runtime no disponible.'
140
+ }
141
+
142
+ if (-not $SkipCbmAutoIndex) {
143
+ Write-Host '[step] Habilitando auto-index en codebase-memory-mcp...'
144
+ & codebase-memory-mcp config set auto_index true
145
+ if ($LASTEXITCODE -ne 0) {
146
+ throw "codebase-memory-mcp config set auto_index fallo con exit code $LASTEXITCODE"
147
+ }
148
+ & codebase-memory-mcp config set auto_index_limit 50000
149
+ if ($LASTEXITCODE -ne 0) {
150
+ throw "codebase-memory-mcp config set auto_index_limit fallo con exit code $LASTEXITCODE"
151
+ }
152
+ }
153
+
154
+ if (-not (Test-Path '.\context\graphify-out\graph.json')) {
155
+ Write-Host '[step] Generando graph.json de Graphify...'
156
+ & $pyCmd @pyArgs -m graphify extract scripts --no-cluster --out context
157
+ if ($LASTEXITCODE -ne 0) {
158
+ throw "graphify extract fallo con exit code $LASTEXITCODE"
159
+ }
160
+ }
161
+
162
+ if (-not $SkipRepomixRefresh) {
163
+ if ($hasRepomix) {
164
+ Write-Host '[step] Refrescando snapshot Repomix...'
165
+ & pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\context\build-repomix.ps1
166
+ if ($LASTEXITCODE -ne 0) {
167
+ throw "build-repomix fallo con exit code $LASTEXITCODE"
168
+ }
169
+ }
170
+ else {
171
+ Write-Host '[info] Repomix no instalado; se omite refresh de snapshot.' -ForegroundColor DarkYellow
172
+ }
173
+ }
174
+
175
+ Write-Host '[step] Ejecutando smoke de routing...'
176
+ & $pyCmd @pyArgs .\scripts\intake\run-routing-evals.py
177
+ if ($LASTEXITCODE -ne 0) {
178
+ throw "run-routing-evals fallo con exit code $LASTEXITCODE"
179
+ }
180
+
181
+ Write-Host ''
182
+ Write-Host 'Motores optimizados y validados.' -ForegroundColor Green
183
+ Write-Host 'Recomendado: reiniciar VS Code/Copilot Chat para recargar MCP con los comandos locales.'
@@ -0,0 +1,3 @@
1
+ npm install -g @colbymchenry/codegraph
2
+ codegraph install
3
+ codegraph init
@@ -0,0 +1,3 @@
1
+ npm install -g gitnexus@latest
2
+ gitnexus setup
3
+ gitnexus analyze
@@ -0,0 +1,2 @@
1
+ uv tool install graphify
2
+ graphify install --project
@@ -0,0 +1,205 @@
1
+ param(
2
+ [switch]$SkipCodebaseMemory,
3
+ [switch]$SkipTokenSaver,
4
+ [switch]$SkipCodegraph,
5
+ [switch]$SkipGitnexus,
6
+ [switch]$SkipGraphify,
7
+ [switch]$SkipRepomix,
8
+ [switch]$PortableMode
9
+ )
10
+
11
+ $ErrorActionPreference = 'Stop'
12
+
13
+ $repoRoot = (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path
14
+ Set-Location $repoRoot
15
+ $toolingManifestPath = Join-Path $repoRoot 'tooling/tooling.manifest.json'
16
+
17
+ function Test-Command {
18
+ param([Parameter(Mandatory = $true)][string]$Name)
19
+
20
+ return [bool](Get-Command -Name $Name -ErrorAction SilentlyContinue)
21
+ }
22
+
23
+ function Install-NpmGlobalPackage {
24
+ param(
25
+ [Parameter(Mandatory = $true)][string]$Package,
26
+ [Parameter(Mandatory = $true)][string]$ExpectedCommand
27
+ )
28
+
29
+ if (Test-Command $ExpectedCommand) {
30
+ Write-Host "[ok] $ExpectedCommand already installed"
31
+ return
32
+ }
33
+
34
+ if (-not (Test-Command 'npm')) {
35
+ throw "npm is required to install $Package. Install Node.js first: https://nodejs.org/"
36
+ }
37
+
38
+ Write-Host "[install] npm install -g $Package"
39
+ npm install -g $Package
40
+ }
41
+
42
+ function Get-ToolingManifest {
43
+ param([Parameter(Mandatory = $true)][string]$Path)
44
+
45
+ if (-not (Test-Path $Path)) {
46
+ throw "Missing tooling manifest: $Path"
47
+ }
48
+
49
+ return Get-Content -Raw -Path $Path | ConvertFrom-Json -Depth 20
50
+ }
51
+
52
+ function Install-ToolFromManifest {
53
+ param([Parameter(Mandatory = $true)][object]$Tool)
54
+
55
+ $commandName = [string]$Tool.command
56
+ if (Test-Command $commandName) {
57
+ Write-Host "[ok] $commandName already installed"
58
+ return
59
+ }
60
+
61
+ $install = $Tool.install
62
+ $installKind = [string]$install.kind
63
+
64
+ switch ($installKind) {
65
+ 'npm-global' {
66
+ Install-NpmGlobalPackage -Package ([string]$install.package) -ExpectedCommand $commandName
67
+ }
68
+ 'powershell-script' {
69
+ $scriptUrl = [string]$install.script_url
70
+ if (-not $scriptUrl) {
71
+ throw "Missing script_url for manifest tool $($Tool.name)"
72
+ }
73
+
74
+ Write-Host "[install] $commandName via official Windows setup script"
75
+ Invoke-RestMethod $scriptUrl | Invoke-Expression
76
+ }
77
+ default {
78
+ throw "Unsupported install kind '$installKind' for manifest tool $($Tool.name)"
79
+ }
80
+ }
81
+ }
82
+
83
+ function Test-PythonImport {
84
+ param(
85
+ [Parameter(Mandatory = $true)][string]$PythonCommand,
86
+ [string[]]$PythonArgs = @(),
87
+ [Parameter(Mandatory = $true)][string]$Module
88
+ )
89
+
90
+ & $PythonCommand @PythonArgs -c "import $Module" *> $null
91
+ return ($LASTEXITCODE -eq 0)
92
+ }
93
+
94
+ function Install-PythonRequirements {
95
+ param(
96
+ [Parameter(Mandatory = $true)][string]$PythonCommand,
97
+ [string[]]$PythonArgs = @(),
98
+ [Parameter(Mandatory = $true)][string]$RequirementsPath
99
+ )
100
+
101
+ if (-not (Test-Path $RequirementsPath)) {
102
+ throw "Missing Python requirements file: $RequirementsPath"
103
+ }
104
+
105
+ Write-Host "[install] $PythonCommand $($PythonArgs -join ' ') -m pip install -r $RequirementsPath"
106
+ & $PythonCommand @PythonArgs -m pip install -r $RequirementsPath
107
+ if ($LASTEXITCODE -ne 0) {
108
+ throw "Failed to install Python requirements from $RequirementsPath"
109
+ }
110
+ }
111
+
112
+ function Resolve-PythonCommand {
113
+ if (Test-Command 'py') {
114
+ return @('py', '-3.14')
115
+ }
116
+ if (Test-Command 'python') {
117
+ return @('python')
118
+ }
119
+ throw 'Python 3.14 is required for graphify MCP. Install Python first: https://www.python.org/downloads/'
120
+ }
121
+
122
+ Write-Host '== MCP platform prerequisites setup =='
123
+
124
+ $toolingManifest = Get-ToolingManifest -Path $toolingManifestPath
125
+ $externalCliEntries = @($toolingManifest.external_clis)
126
+ $toolByCommand = @{}
127
+ foreach ($tool in $externalCliEntries) {
128
+ $toolByCommand[[string]$tool.command] = $tool
129
+ }
130
+
131
+ if (-not $SkipCodebaseMemory) {
132
+ Install-ToolFromManifest -Tool $toolByCommand['codebase-memory-mcp']
133
+ }
134
+
135
+ if (-not $SkipTokenSaver) {
136
+ Install-ToolFromManifest -Tool $toolByCommand['token-saver-mcp']
137
+ }
138
+
139
+ if (-not $SkipCodegraph) {
140
+ Install-ToolFromManifest -Tool $toolByCommand['codegraph']
141
+ Write-Host '[setup] codegraph install'
142
+ codegraph install
143
+ if (-not (Test-Path '.codegraph')) {
144
+ Write-Host '[setup] codegraph init -i'
145
+ codegraph init -i
146
+ }
147
+ else {
148
+ Write-Host '[ok] .codegraph index already exists'
149
+ }
150
+ }
151
+
152
+ if (-not $SkipGitnexus) {
153
+ Install-ToolFromManifest -Tool $toolByCommand['gitnexus']
154
+ Write-Host '[setup] gitnexus setup'
155
+ gitnexus setup
156
+ }
157
+
158
+ if (-not $SkipRepomix) {
159
+ Install-ToolFromManifest -Tool $toolByCommand['repomix']
160
+ }
161
+
162
+ if (-not $SkipGraphify) {
163
+ $py = Resolve-PythonCommand
164
+ $pyCmd = $py[0]
165
+ $pyArgs = @()
166
+ if ($py.Length -gt 1) {
167
+ $pyArgs = $py[1..($py.Length - 1)]
168
+ }
169
+
170
+ if ($py.Length -gt 1) {
171
+ Write-Host "[setup] Using Python launcher: $($py -join ' ')"
172
+ }
173
+ else {
174
+ Write-Host "[setup] Using Python launcher: $pyCmd"
175
+ }
176
+
177
+ Install-PythonRequirements -PythonCommand $pyCmd -PythonArgs $pyArgs -RequirementsPath 'requirements.txt'
178
+
179
+ if (-not (Test-PythonImport -PythonCommand $pyCmd -PythonArgs $pyArgs -Module 'graphify.serve')) {
180
+ throw 'graphify.serve import failed after installation.'
181
+ }
182
+
183
+ if (-not (Test-PythonImport -PythonCommand $pyCmd -PythonArgs $pyArgs -Module 'mcp')) {
184
+ throw 'mcp module import failed after graphify installation.'
185
+ }
186
+
187
+ if (-not (Test-Path 'context/graphify-out/graph.json')) {
188
+ Write-Host '[setup] graphify extract scripts --no-cluster --out context'
189
+ & $pyCmd @pyArgs -m graphify extract scripts --no-cluster --out context
190
+ }
191
+ else {
192
+ Write-Host '[ok] context/graphify-out/graph.json already exists'
193
+ }
194
+ }
195
+
196
+ Write-Host ''
197
+ Write-Host 'Setup complete. Recommended next checks:'
198
+ if ($PortableMode) {
199
+ Write-Host ' 1) .\scripts\setup\validate-context.ps1 -PortableMode'
200
+ }
201
+ else {
202
+ Write-Host ' 1) .\scripts\setup\validate-context.ps1'
203
+ }
204
+ Write-Host ' 2) .\scripts\intake\run-repo-intake.cmd'
205
+ Write-Host ' 3) /mcp (in your agent) to verify servers are active'
@@ -0,0 +1,71 @@
1
+ param(
2
+ [switch]$ForceReindex,
3
+ [switch]$NoServe,
4
+ [switch]$NoOpenBrowser,
5
+ [string]$BindHost = '127.0.0.1',
6
+ [int]$Port = 4747,
7
+ [int]$WaitSeconds = 12
8
+ )
9
+
10
+ $ErrorActionPreference = 'Stop'
11
+
12
+ function Test-GitNexusEndpoint {
13
+ param(
14
+ [string]$Url
15
+ )
16
+
17
+ try {
18
+ $response = Invoke-WebRequest -UseBasicParsing -Uri $Url -TimeoutSec 2
19
+ return ($response.StatusCode -ge 200 -and $response.StatusCode -lt 500)
20
+ }
21
+ catch {
22
+ return $false
23
+ }
24
+ }
25
+
26
+ if (-not (Get-Command gitnexus -ErrorAction SilentlyContinue)) {
27
+ throw 'gitnexus no esta instalado o no esta en PATH. Ejecuta scripts/setup/setup-prerequisites.ps1 primero.'
28
+ }
29
+
30
+ $status = gitnexus status | Out-String
31
+ $needsIndex = $ForceReindex -or ($status -match 'Repository not indexed')
32
+
33
+ if ($needsIndex) {
34
+ Write-Host '[gitnexus] Indexando repositorio actual...'
35
+ gitnexus analyze .
36
+ }
37
+ else {
38
+ Write-Host '[gitnexus] Repositorio ya indexado.'
39
+ }
40
+
41
+ $url = "http://$BindHost`:$Port"
42
+
43
+ if (-not $NoServe) {
44
+ if (Test-GitNexusEndpoint -Url $url) {
45
+ Write-Host "[gitnexus] Backend ya activo en $url"
46
+ }
47
+ else {
48
+ Write-Host "[gitnexus] Iniciando backend en $url ..."
49
+ Start-Process -FilePath 'cmd.exe' -ArgumentList "/c gitnexus serve --host $BindHost --port $Port" -WindowStyle Minimized | Out-Null
50
+
51
+ $started = $false
52
+ for ($i = 0; $i -lt $WaitSeconds; $i++) {
53
+ Start-Sleep -Seconds 1
54
+ if (Test-GitNexusEndpoint -Url $url) {
55
+ $started = $true
56
+ break
57
+ }
58
+ }
59
+
60
+ if (-not $started) {
61
+ Write-Host "[gitnexus] Aviso: no hubo respuesta HTTP en $url tras $WaitSeconds s." -ForegroundColor DarkYellow
62
+ }
63
+ }
64
+ }
65
+
66
+ if (-not $NoOpenBrowser) {
67
+ Write-Host "[gitnexus] Abriendo UI: $url"
68
+ Start-Process $url
69
+ }
70
+
71
+ Write-Host '[gitnexus] Listo.'