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,91 @@
1
+ name: TechRiders Effective Coverage Gate
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, develop ]
6
+ paths:
7
+ - 'projects/techriders/**'
8
+ - '.github/workflows/techriders-coverage-effective.yml'
9
+ pull_request:
10
+ branches: [ main, develop ]
11
+ paths:
12
+ - 'projects/techriders/**'
13
+ - '.github/workflows/techriders-coverage-effective.yml'
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ env:
19
+ TECHRIDERS_EFFECTIVE_COVERAGE_MIN: '80'
20
+
21
+ jobs:
22
+ techriders-coverage-effective:
23
+ name: TechRiders Effective Coverage Gate (Windows)
24
+ runs-on: windows-latest
25
+ env:
26
+ TECHRIDERS_BACKEND_PATH: projects/techriders/backend
27
+
28
+ steps:
29
+ - name: Checkout code
30
+ uses: actions/checkout@v4
31
+
32
+ - name: Set up .NET 10 SDK
33
+ uses: actions/setup-dotnet@v4
34
+ with:
35
+ dotnet-version: '10.0.x'
36
+
37
+ - name: Detect TechRiders backend path
38
+ id: detect_backend
39
+ shell: pwsh
40
+ run: |
41
+ if (Test-Path "$env:TECHRIDERS_BACKEND_PATH") {
42
+ "available=true" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
43
+ "TechRiders backend detected at $env:TECHRIDERS_BACKEND_PATH" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
44
+ }
45
+ else {
46
+ "available=false" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
47
+ "TechRiders backend not found in this checkout. Coverage gate skipped." | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
48
+ }
49
+
50
+ - name: Run TechRiders tests with effective coverage
51
+ if: steps.detect_backend.outputs.available == 'true'
52
+ run: |
53
+ dotnet test "$env:TECHRIDERS_BACKEND_PATH\tests\TechRiders.Api.Tests\TechRiders.Api.Tests.csproj" --collect:"XPlat Code Coverage" --settings "$env:TECHRIDERS_BACKEND_PATH\tests\coverage.effective.runsettings"
54
+ shell: pwsh
55
+
56
+ - name: Evaluate effective coverage threshold
57
+ id: coverage_gate
58
+ if: steps.detect_backend.outputs.available == 'true'
59
+ run: |
60
+ $coverageFile = Get-ChildItem -Path "$env:TECHRIDERS_BACKEND_PATH\tests\TechRiders.Api.Tests\TestResults" -Recurse -Filter coverage.cobertura.xml |
61
+ Sort-Object LastWriteTime -Descending |
62
+ Select-Object -First 1
63
+
64
+ if (-not $coverageFile) {
65
+ throw "coverage.cobertura.xml was not generated."
66
+ }
67
+
68
+ [xml]$coverageXml = Get-Content $coverageFile.FullName
69
+ $overall = [math]::Round(([double]$coverageXml.coverage.'line-rate') * 100, 2)
70
+ $minimum = [double]$env:TECHRIDERS_EFFECTIVE_COVERAGE_MIN
71
+
72
+ "coverage_file=$($coverageFile.FullName)" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
73
+ "coverage_overall=$overall" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
74
+
75
+ "## TechRiders Effective Coverage" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
76
+ "- Coverage file: $($coverageFile.FullName)" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
77
+ "- Overall line coverage: $overall%" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
78
+ "- Minimum required: $minimum%" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
79
+
80
+ if ($overall -lt $minimum) {
81
+ throw "Effective coverage gate failed: $overall% < $minimum%"
82
+ }
83
+ shell: pwsh
84
+
85
+ - name: Upload effective coverage report
86
+ if: always() && steps.detect_backend.outputs.available == 'true'
87
+ uses: actions/upload-artifact@v4
88
+ with:
89
+ name: techriders-effective-coverage
90
+ path: projects/techriders/backend/tests/TechRiders.Api.Tests/TestResults/**/coverage.cobertura.xml
91
+ retention-days: 30
@@ -0,0 +1,44 @@
1
+ {
2
+ "servers": {
3
+ "token-saver-mcp": {
4
+ "command": "token-saver-mcp"
5
+ },
6
+ "codebase-memory-mcp": {
7
+ "command": "codebase-memory-mcp"
8
+ },
9
+ "codegraph": {
10
+ "command": "codegraph",
11
+ "args": [
12
+ "serve",
13
+ "--mcp"
14
+ ]
15
+ },
16
+ "gitnexus": {
17
+ "command": "gitnexus",
18
+ "args": [
19
+ "mcp"
20
+ ],
21
+ "env": {
22
+ "GITNEXUS_SEMANTIC_EXACT_SCAN_LIMIT": "50000",
23
+ "GITNEXUS_EMBEDDING_THREADS": "4"
24
+ }
25
+ },
26
+ "repomix": {
27
+ "command": "repomix",
28
+ "args": [
29
+ "--mcp"
30
+ ]
31
+ },
32
+ "graphify": {
33
+ "command": "py",
34
+ "args": [
35
+ "-3.14",
36
+ "-m",
37
+ "graphify.serve",
38
+ "--transport",
39
+ "stdio",
40
+ "context/graphify-out/graph.json"
41
+ ]
42
+ }
43
+ }
44
+ }
package/AGENTS.md ADDED
@@ -0,0 +1,160 @@
1
+ <!-- markdownlint-disable MD013 -->
2
+
3
+ # AGENTS.md — Enterprise Global Contract
4
+
5
+ ## Routing base
6
+
7
+ | Intención | Fuente | Agente | Motor |
8
+ |---|---|---|---|
9
+ | Bug/fix/refactor/test | Código repo único | backend | CodeGraph |
10
+ | Frontend/UI implementación | Código frontend repo único | frontend-agent | CodeGraph |
11
+ | Legacy/migración/multi-repo | Código legacy | legacy | GitNexus |
12
+ | SQL/schema/procedure | SQL/docs técnicas | dba | Graphify |
13
+ | UX/UI/design system | Guías de diseño y patrones UI | ux-ui | Graphify |
14
+ | Knowledge local/docs técnicas | Docs locales | rag-local | Graphify |
15
+ | Contratos/SLA/SharePoint/políticas | Docs corporativos | rag-azure | Azure RAG Builder |
16
+ | IoT/edge/telemetría | Código + docs | iot | GitNexus/CodeGraph + Graphify |
17
+ | Formación/posts/storytelling | Knowledge generado | community-manager | Graphify |
18
+ | Documentación técnica incremental / proyección wiki | Artefactos `repo-intake/generated` | wiki-agent | CodeGraph (fallback Graphify) |
19
+ | Exportar contexto | Repo/docs | snapshot | Repomix |
20
+
21
+ ## Optimización obligatoria
22
+
23
+ - Aplicar Token Saver antes de cualquier retrieval amplio.
24
+ - Aplicar Caveman Mode en loops de debug/coding, salvo que el usuario pida detalle.
25
+ - No sacrificar citas/fuentes por ahorrar tokens cuando la tarea requiere grounding.
26
+
27
+ ## Reglas
28
+
29
+ - No usar todos los motores a la vez.
30
+ - No usar Azure RAG Builder para modificar código.
31
+ - No usar CodeGraph para buscar contratos.
32
+ - No usar Repomix como contexto vivo.
33
+ - Si no hay grounding suficiente, declarar gap.
34
+
35
+ ## Boost-First Always-On
36
+
37
+ Regla obligatoria para todos los agentes:
38
+
39
+ 1. Antes de cualquier edicion o ejecucion de cambios, aplicar seleccion explicita de boost/agente/skill.
40
+ 2. En cada tarea, exponer evidencia minima de ejecucion: boost/agente/skill, motor, fallback (si aplica), validacion.
41
+ 3. Cuando la tarea afecte a un proyecto concreto, persistir trazabilidad en `projects/<nombre-proyecto>/analysis_mcpee/`.
42
+ 4. Si no se puede aplicar el motor esperado (index stale, tool no disponible, etc.), declarar gap y fallback en la salida.
43
+
44
+ ## Primera Pasada Por Boost
45
+
46
+ Regla obligatoria para todos los agentes:
47
+
48
+ 1. La primera pasada sobre un boost, capability o proyecto nuevo debe ser de
49
+ onboarding profundo y con grounding máximo relevante, aunque tarde más.
50
+ 2. En esa primera pasada se debe recuperar la mayor cantidad de contexto útil
51
+ y verificable posible desde las fuentes canónicas del boost: repo-intake,
52
+ onboarding, instrucciones, prompts, skills, agentes locales y documentación
53
+ del propio proyecto.
54
+ 3. Si el boost o proyecto define agentes o subagentes especializados, el
55
+ agente principal debe usarlos cuando estén disponibles o, como mínimo,
56
+ leerlos y aplicar sus reglas como contrato operativo explícito.
57
+ 4. Token Saver sigue activo: no implica lectura masiva ciega, sino pocas
58
+ recuperaciones grandes, estructuradas y con alta densidad de evidencia.
59
+ 5. Tras esa primera pasada profunda, las siguientes iteraciones vuelven al
60
+ modo optimizado normal.
61
+
62
+ ## Always-On Optimization
63
+
64
+ Caveman Mode y Token Saver están siempre activos para todos los agentes.
65
+
66
+ ### Token Saver
67
+
68
+ Aplicar antes de cualquier consulta a CodeGraph, GitNexus, Graphify, Azure RAG Builder o Repomix.
69
+
70
+ ### Caveman
71
+
72
+ Aplicar a toda respuesta. Por defecto usar Caveman Lite/Full según tarea.
73
+
74
+ ### Excepción
75
+
76
+ No eliminar explicación necesaria, fuentes, validación ni contexto crítico. Si hace falta más detalle, cambiar intensidad, no desactivar la optimización.
77
+
78
+ ## Memory-first + Learning
79
+
80
+ All agents MUST:
81
+
82
+ 1. Select memory BEFORE using any tool
83
+ 2. Use cross-memory when multiple domains are involved
84
+ 3. Prefer memories over raw retrieval
85
+ 4. Use previous successful patterns if available (learning)
86
+ 5. Register execution feedback
87
+
88
+ Execution order:
89
+
90
+ Memory → Reasoning → Tool (if needed) → Learning
91
+
92
+ ## Diagrama Visual De Routing
93
+
94
+ ```mermaid
95
+ flowchart LR
96
+ I[Intencion] --> RT[Router]
97
+ RT --> DEV[backend]
98
+ RT --> FE[frontend-agent]
99
+ RT --> LEG[legacy]
100
+ RT --> DBA[dba]
101
+ RT --> RLOCAL[rag-local]
102
+ RT --> RAZ[rag-azure]
103
+ RT --> IOT[iot]
104
+ RT --> COM[community-manager]
105
+ RT --> WIKI[wiki-agent]
106
+ RT --> SNAP[snapshot]
107
+ DEV --> CG[CodeGraph]
108
+ FE --> CG
109
+ LEG --> GN[GitNexus]
110
+ DBA --> GF[Graphify]
111
+ RLOCAL --> GF
112
+ RAZ --> AZRAG[Azure RAG Builder]
113
+ WIKI --> CG
114
+ SNAP --> RPX[Repomix]
115
+ ```
116
+
117
+ <!-- gitnexus:start -->
118
+ # GitNexus — Code Intelligence
119
+
120
+ This project is indexed by GitNexus as **mcp-efficiency-engine**. Use the GitNexus MCP tools to understand code, assess impact, and navigate safely.
121
+
122
+ > Index stale? Run `node .gitnexus/run.cjs analyze` from the project root — it auto-selects an available runner. No `.gitnexus/run.cjs` yet? `npx gitnexus analyze` (npm 11 crash → `npm i -g gitnexus`; #1939).
123
+
124
+ ## Always Do
125
+
126
+ - **MUST run impact analysis before editing any symbol.** Before modifying a function, class, or method, run `impact({target: "symbolName", direction: "upstream"})` and report the blast radius (direct callers, affected processes, risk level) to the user.
127
+ - **MUST run `detect_changes()` before committing** to verify your changes only affect expected symbols and execution flows. For regression review, compare against the default branch: `detect_changes({scope: "compare", base_ref: "main"})`.
128
+ - **MUST warn the user** if impact analysis returns HIGH or CRITICAL risk before proceeding with edits.
129
+ - When exploring unfamiliar code, use `query({search_query: "concept"})` to find execution flows instead of grepping. It returns process-grouped results ranked by relevance.
130
+ - When you need full context on a specific symbol — callers, callees, which execution flows it participates in — use `context({name: "symbolName"})`.
131
+ - For security review, `explain({target: "fileOrSymbol"})` lists taint findings (source→sink flows; needs `analyze --pdg`).
132
+
133
+ ## Never Do
134
+
135
+ - NEVER edit a function, class, or method without first running `impact` on it.
136
+ - NEVER ignore HIGH or CRITICAL risk warnings from impact analysis.
137
+ - NEVER rename symbols with find-and-replace — use `rename` which understands the call graph.
138
+ - NEVER commit changes without running `detect_changes()` to check affected scope.
139
+
140
+ ## Resources
141
+
142
+ | Resource | Use for |
143
+ |----------|---------|
144
+ | `gitnexus://repo/mcp-efficiency-engine/context` | Codebase overview, check index freshness |
145
+ | `gitnexus://repo/mcp-efficiency-engine/clusters` | All functional areas |
146
+ | `gitnexus://repo/mcp-efficiency-engine/processes` | All execution flows |
147
+ | `gitnexus://repo/mcp-efficiency-engine/process/{name}` | Step-by-step execution trace |
148
+
149
+ ## CLI
150
+
151
+ | Task | Read this skill file |
152
+ |------|---------------------|
153
+ | Understand architecture / "How does X work?" | `.claude/skills/gitnexus/gitnexus-exploring/SKILL.md` |
154
+ | Blast radius / "What breaks if I change X?" | `.claude/skills/gitnexus/gitnexus-impact-analysis/SKILL.md` |
155
+ | Trace bugs / "Why is X failing?" | `.claude/skills/gitnexus/gitnexus-debugging/SKILL.md` |
156
+ | Rename / extract / split / refactor | `.claude/skills/gitnexus/gitnexus-refactoring/SKILL.md` |
157
+ | Tools, resources, schema reference | `.claude/skills/gitnexus/gitnexus-guide/SKILL.md` |
158
+ | Index, status, clean, wiki CLI commands | `.claude/skills/gitnexus/gitnexus-cli/SKILL.md` |
159
+
160
+ <!-- gitnexus:end -->
@@ -0,0 +1,57 @@
1
+ # Arquitectura de MCP Efficiency Engine
2
+
3
+ ```mermaid
4
+ flowchart TD
5
+ U[Usuario] --> CM[Caveman Mode / Interaction Policy]
6
+ CM --> O[Orchestrator / Corporate Router]
7
+ O --> A[Agents Layer]
8
+
9
+ A --> DEV[backend]
10
+ A --> LEG[legacy]
11
+ A --> DBA[dba]
12
+ A --> RAG[rag-local]
13
+ A --> AZ[rag-azure]
14
+ A --> IOT[iot]
15
+ A --> COM[community-manager]
16
+ A --> SNAP[snapshot]
17
+
18
+ DEV --> TS[Token Saver Policy]
19
+ LEG --> TS
20
+ DBA --> TS
21
+ RAG --> TS
22
+ AZ --> TS
23
+ IOT --> TS
24
+ COM --> TS
25
+ SNAP --> TS
26
+
27
+ TS --> CG[CodeGraph]
28
+ TS --> GN[GitNexus]
29
+ TS --> GF[Graphify]
30
+ TS --> AZRAG[RAG-Azure-Builder]
31
+ TS --> RPM[Repomix]
32
+
33
+ CG --> CODE[Repos de código]
34
+ GN --> CODE
35
+ GF --> KG[graphify-out / knowledge graph local]
36
+ AZRAG --> AIS[Azure AI Search / embeddings / docs corporativos]
37
+ RPM --> SNAPOUT[Snapshot portable]
38
+
39
+ CODE --> RESP[Respuesta / Acción]
40
+ KG --> RESP
41
+ AIS --> RESP
42
+ SNAPOUT --> RESP
43
+
44
+ RESP --> OBS[Observability]
45
+ OBS --> MET[Metrics]
46
+ OBS --> LOGS[Logs]
47
+ OBS --> EVAL[Evaluation]
48
+ ```
49
+
50
+ ## Lectura rápida
51
+
52
+ ```txt
53
+ Caveman optimiza cómo se habla.
54
+ Token Saver optimiza qué contexto se usa.
55
+ Routing decide qué motor se usa.
56
+ Observability mide si todo funciona.
57
+ ```
@@ -0,0 +1,106 @@
1
+ # Guía de uso — MCP Efficiency Engine
2
+
3
+ ## 1. Cómo queda finalmente todo
4
+
5
+ La arquitectura final tiene seis bloques:
6
+
7
+ ```txt
8
+ 1. MCP para código vivo.
9
+ 2. RAG local para conocimiento técnico.
10
+ 3. Azure RAG Builder para documentos corporativos reales.
11
+ 4. Repo Intake para usar todos tus repos sin copiarlos.
12
+ 5. Token Saver para reducir contexto/coste.
13
+ 6. Caveman Mode para reducir ruido de interacción.
14
+ ```
15
+
16
+ ## 2. Capas
17
+
18
+ ```txt
19
+ Usuario
20
+
21
+ Caveman Mode -> controla cuánto y cómo responde el agente
22
+
23
+ Orchestrator / Router -> decide agente y motor
24
+
25
+ Agente especializado -> aplica rol
26
+
27
+ Skill + Spec -> aplica capacidad y reglas
28
+
29
+ Token Saver -> limita contexto, chunks, ficheros, tool calls
30
+
31
+ Motor -> CodeGraph / GitNexus / Graphify / Azure RAG / Repomix
32
+
33
+ Observability -> mide routing, coste, grounding, eficiencia
34
+ ```
35
+
36
+ ## 3. Decisión de motor
37
+
38
+ ```txt
39
+ Código repo único -> CodeGraph
40
+ Código legacy/multi-repo -> GitNexus
41
+ Docs técnicas/locales -> Graphify
42
+ Docs corporativos reales -> Azure RAG Builder
43
+ Export portable -> Repomix
44
+ Repos externos -> Repo Intake
45
+ ```
46
+
47
+ ## 4. Decisión de optimización
48
+
49
+ ```txt
50
+ Problema de coste/contexto -> Token Saver
51
+ Problema de verbosidad -> Caveman Mode
52
+ Problema de ambos -> Token Saver + Caveman
53
+ ```
54
+
55
+ ## 5. Reglas prácticas
56
+
57
+ - Si el agente va a consultar datos: aplicar Token Saver.
58
+ - Si el usuario está en loop de debug/coding: aplicar Caveman Mode.
59
+ - Si la respuesta es para formación/documentación: Caveman puede relajarse.
60
+ - Si la respuesta necesita trazabilidad: no eliminar fuentes por Caveman.
61
+ - Si Azure RAG recupera demasiados chunks: limitar top-k y pedir solo fuentes necesarias.
62
+ - Si CodeGraph/GitNexus puede devolver símbolo/call path: no leer ficheros completos.
63
+
64
+ ## 6. Regla final
65
+
66
+ ```txt
67
+ No modelas repos.
68
+ Modelas capacidades.
69
+ No optimizas solo tokens.
70
+ Optimizas el pipeline completo.
71
+ ```
72
+
73
+ ## Always-On: decisión final
74
+
75
+ Token Saver y Caveman ya no son modos que se activan manualmente. Son parte del runtime del sistema.
76
+
77
+ ```txt
78
+ Toda petición -> Caveman + Routing + Token Saver + Motor correcto
79
+ ```
80
+
81
+ Esto significa:
82
+
83
+ - todas las respuestas serán más directas por defecto,
84
+ - todo retrieval se hará con contexto mínimo suficiente,
85
+ - las fuentes se conservan cuando sean obligatorias,
86
+ - el sistema solo aumenta detalle si el usuario o el caso lo requiere.
87
+
88
+ ## Diagrama Visual De Uso Diario
89
+
90
+ ```mermaid
91
+ sequenceDiagram
92
+ participant U as Usuario
93
+ participant HI as hi.ps1
94
+ participant CTX as validate-context
95
+ participant IN as repo-intake
96
+ participant EV as routing-evals
97
+ participant BY as bye.ps1
98
+ U->>HI: Inicio de jornada
99
+ HI->>CTX: Validar contratos y estructura
100
+ HI->>IN: Actualizar contexto multi-repo
101
+ HI->>EV: Verificar routing
102
+ U->>U: Trabajo diario
103
+ U->>BY: Cierre de jornada
104
+ BY->>IN: Refresh intake/discovery
105
+ BY->>EV: Comprobacion final
106
+ ```
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 MCP Efficiency Engine Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.