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,25 @@
1
+ # Context Policy
2
+
3
+ ## Objetivo
4
+
5
+ Usar solo el contexto necesario para resolver la tarea con evidencia trazable y sin retrieval redundante.
6
+
7
+ ## Reglas
8
+
9
+ 1. Recuperar primero artefactos estructurados (manifest, grafo, index) antes de lecturas masivas.
10
+ 2. Limitar tool calls y chunks al minimo necesario para validar una decision.
11
+ 3. Mantener trazabilidad: cuando aplique grounding, citar fuente concreta.
12
+ 4. No mezclar motores equivalentes para la misma pregunta salvo justificacion explicita.
13
+ 5. Si falta evidencia, declarar gap en lugar de inventar contexto.
14
+
15
+ ## Criterios de validacion
16
+
17
+ 1. El flujo muestra seleccion de una sola fuente primaria por tarea.
18
+ 2. Las respuestas con grounding incluyen fuente o ruta verificable.
19
+ 3. No hay lectura completa del repo sin plan por fases.
20
+
21
+ ## Senales de fallo
22
+
23
+ 1. Tool thrashing sin mejora de evidencia.
24
+ 2. Mezcla de motores sin motivo.
25
+ 3. Respuesta con afirmaciones no trazables.
@@ -0,0 +1,25 @@
1
+ # Cost Policy
2
+
3
+ ## Objetivo
4
+
5
+ Minimizar coste operativo de tool calls y retrieval sin perder calidad ni trazabilidad.
6
+
7
+ ## Reglas
8
+
9
+ 1. No usar Azure RAG para codigo local del repositorio.
10
+ 2. Evitar tool thrashing: cada llamada debe aportar evidencia nueva.
11
+ 3. Preferir consultas puntuales a indices/grafos frente a scans globales.
12
+ 4. Evitar snapshots globales si el scope real es parcial.
13
+ 5. Reutilizar artefactos ya generados antes de relanzar pipelines.
14
+
15
+ ## Criterios de validacion
16
+
17
+ 1. Numero de llamadas acotado al objetivo real.
18
+ 2. Sin duplicacion de retrieval para la misma pregunta.
19
+ 3. Sin uso de motor premium cuando existe alternativa local valida.
20
+
21
+ ## Senales de fallo
22
+
23
+ 1. Llamadas repetidas con mismo resultado.
24
+ 2. Recuperar contexto no utilizado en la respuesta final.
25
+ 3. Escalar a motor externo sin razon de negocio o grounding.
@@ -0,0 +1,36 @@
1
+ # Repo Intake Policy
2
+
3
+ ## Objetivo
4
+
5
+ Incorporar repos al ecosistema sin clonar dentro de este repositorio y con metadata valida para routing.
6
+
7
+ ## Reglas
8
+
9
+ 1. No copiar repos terceros dentro de este repo.
10
+ 2. Registrar cada repo en [repo-registry/repos.yml](repo-registry/repos.yml).
11
+ 3. Ejecutar intake para extraer capacidades, dependencias y manifiestos.
12
+ 4. Mantener contrato de naming y reglas de governance del registry.
13
+ 5. Tratar repos opcionales como warning, no como bloqueo, si asi esta definido.
14
+ 6. El trabajo especifico de proyectos gestionados dentro de este repositorio
15
+ debe vivir bajo `projects/`.
16
+ 7. Todo artefacto especifico de un proyecto debe guardarse en
17
+ `projects/<nombre-proyecto>/` y no en la raiz, salvo artefactos globales de
18
+ plataforma expresamente definidos.
19
+
20
+ ## Flujo minimo
21
+
22
+ 1. Registrar entrada en repos registry.
23
+ 2. Validar registry en modo estricto.
24
+ 3. Ejecutar intake y revisar artefactos generados.
25
+
26
+ ## Criterios de validacion
27
+
28
+ 1. Registry valido sin errores bloqueantes.
29
+ 2. Artefactos de intake presentes y legibles.
30
+ 3. Capacidades disponibles para routing y evaluacion.
31
+
32
+ ## Senales de fallo
33
+
34
+ 1. Repo fuera de registry.
35
+ 2. Intake sin artefactos o con metadata incompleta.
36
+ 3. Drift entre registry y capacidades detectadas.
@@ -0,0 +1,25 @@
1
+ # Security Policy
2
+
3
+ ## Objetivo
4
+
5
+ Evitar exposicion de informacion sensible en indexacion, memoria, logs y respuestas.
6
+
7
+ ## Reglas
8
+
9
+ 1. No indexar .env, secretos, tokens, certificados, claves privadas ni datos personales.
10
+ 2. No persistir secretos en memoria de usuario, sesion o repo.
11
+ 3. En caso de duda de sensibilidad, no almacenar y declarar gap.
12
+ 4. No ejecutar acciones destructivas o de alto impacto sin confirmacion humana.
13
+ 5. No incluir credenciales en ejemplos, comandos o artefactos.
14
+
15
+ ## Controles minimos
16
+
17
+ 1. Revisar entradas candidatas antes de indexar o cachear.
18
+ 2. Sanitizar salidas que puedan contener valores sensibles.
19
+ 3. Mantener trazabilidad de bloqueos por seguridad en logs operativos.
20
+
21
+ ## Senales de fallo
22
+
23
+ 1. Secretos visibles en texto plano.
24
+ 2. Datos sensibles en snapshots o indices.
25
+ 3. Respuesta final con credenciales o tokens reales.
@@ -0,0 +1,81 @@
1
+ # Repo Intake
2
+
3
+ Este modulo transforma repos registrados en capacidades consumibles por el routing.
4
+
5
+ Soporta dos modos de origen:
6
+
7
+ - `type: local`: usa un repo ya presente en disco.
8
+ - `type: github`: materializa una copia cacheada local desde GitHub y genera los mismos artefactos de intake que el modo local.
9
+
10
+ ## Estructura
11
+
12
+ - `templates/`: plantillas base (`agent`, `skill`, `context-manifest`).
13
+ - `generated/reports/`: reportes JSON operativos.
14
+ - `generated/<slug>/`: salida canonica JSON-first por repo (sin versionado).
15
+
16
+ ## Nota sobre carpetas vacias
17
+
18
+ Si ves carpetas antiguas de layouts legacy, se pueden eliminar.
19
+ La salida activa vive en `generated/<slug>/...` y `generated/reports/*.json`.
20
+
21
+ ## Flujo recomendado
22
+
23
+ 1. Validar registry: `pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\intake\validate-repo-registry.ps1 -Strict`
24
+ 2. Ejecutar intake: `.\scripts\intake\run-repo-intake.cmd`
25
+ 3. Revisar reportes: `repo-intake/generated/reports/`
26
+
27
+ Registry modes:
28
+
29
+ - `repo-registry/repos.yml`: modo `enterprise`, con repos reales y validacion estricta.
30
+ - `repo-registry/repos.template.json`: modo `template`, portable, permite `repos: []` mientras se configura el ecosistema.
31
+
32
+ Bootstrap recomendado para modo portable en Windows:
33
+
34
+ ```powershell
35
+ .\scripts\intake\init-template-registry.cmd
36
+ .\scripts\intake\run-repo-intake.cmd
37
+ ```
38
+
39
+ Si el registry plantilla sigue vacio, el intake no falla: genera reportes con `0` repos y deja el sistema listo para completar `repo-registry/repos.yml` mas tarde.
40
+
41
+ Al inicializar la plantilla, el script pide interactivamente:
42
+
43
+ - `owner` del registry
44
+ - prefijo de nombres de repo
45
+ - si quieres crear una primera entrada de repo
46
+ - y, si la creas, nombre, dominio y localizacion
47
+ 4. Consumir contratos planos: `repo-intake/generated/<slug>/`
48
+
49
+ ## Registry GitHub (uso real)
50
+
51
+ Entrada minima para un repo GitHub en `repo-registry/repos.yml`:
52
+
53
+ ```json
54
+ {
55
+ "name": "boost_backend_remote",
56
+ "domain": "backend",
57
+ "type": "github",
58
+ "repo_url": "https://github.com/your-org/your-repo.git",
59
+ "branch": "main",
60
+ "cache_location": ".cache/github-repos/boost_backend_remote",
61
+ "approval": {
62
+ "status": "approved",
63
+ "approved_by": "platform-team",
64
+ "approved_date": "2026-07-03",
65
+ "review_ticket": "PLATFORM-GH-001"
66
+ },
67
+ "dependencies": [],
68
+ "engines": {
69
+ "knowledge": "codegraph",
70
+ "execution": "none",
71
+ "snapshot": "repomix"
72
+ }
73
+ }
74
+ ```
75
+
76
+ Comportamiento operativo:
77
+
78
+ - `validate-repo-registry.py --strict` exige `repo_url` valido y `git` disponible.
79
+ - `repo-intake.py` clona o refresca el repo en `cache_location`.
80
+ - El routing y los motores consumen los artefactos generados igual que con repos locales.
81
+ - La cache local vive en `.cache/github-repos/` por defecto y no se debe commitear.
@@ -0,0 +1,4 @@
1
+ # {{AGENT_NAME}}
2
+
3
+ Dominio: {{DOMAIN}}
4
+ Motor: {{PRIMARY_ENGINE}}
@@ -0,0 +1,4 @@
1
+ # Context Manifest — {{REPO_NAME}}
2
+
3
+ Dominio: {{DOMAIN}}
4
+ Ubicación: {{LOCATION}}
@@ -0,0 +1,3 @@
1
+ # {{SKILL_NAME}}
2
+
3
+ Dominio: {{DOMAIN}}
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mcp-first-enterprise/repo-registry/repos.schema.json",
4
+ "title": "Repo Registry Schema",
5
+ "description": "Schema for hybrid repo registry with local and GitHub-backed sources.",
6
+ "type": "object",
7
+ "required": ["repos"],
8
+ "properties": {
9
+ "registry_mode": {
10
+ "type": "string",
11
+ "enum": ["enterprise", "template"]
12
+ },
13
+ "schema_version": {
14
+ "type": "string",
15
+ "pattern": "^[0-9]+\\.[0-9]+$"
16
+ },
17
+ "governance": {
18
+ "type": "object",
19
+ "properties": {
20
+ "owner": { "type": "string", "minLength": 1 },
21
+ "approval_required": { "type": "boolean" },
22
+ "repo_name_prefix": { "type": "string", "minLength": 1 }
23
+ },
24
+ "additionalProperties": true
25
+ },
26
+ "repos": {
27
+ "type": "array",
28
+ "minItems": 0,
29
+ "items": {
30
+ "type": "object",
31
+ "required": ["name", "domain", "type"],
32
+ "properties": {
33
+ "name": { "type": "string", "minLength": 1 },
34
+ "domain": {
35
+ "type": "string",
36
+ "enum": ["backend", "frontend", "community-content", "legacy", "dba", "iot", "ux-ui", "azure-rag", "rag"]
37
+ },
38
+ "location": { "type": "string", "minLength": 1 },
39
+ "type": { "type": "string", "enum": ["local", "github"] },
40
+ "repo_url": { "type": "string", "minLength": 1 },
41
+ "branch": { "type": "string", "minLength": 1 },
42
+ "cache_location": { "type": "string", "minLength": 1 },
43
+ "optional": { "type": "boolean" },
44
+ "engines": {
45
+ "type": "object",
46
+ "properties": {
47
+ "knowledge": { "type": "string" },
48
+ "execution": { "type": "string" },
49
+ "snapshot": { "type": "string" }
50
+ },
51
+ "additionalProperties": true
52
+ },
53
+ "dependencies": {
54
+ "type": "array",
55
+ "items": {
56
+ "type": "object",
57
+ "required": ["ref"],
58
+ "properties": {
59
+ "ref": { "type": "string", "minLength": 1 }
60
+ },
61
+ "additionalProperties": true
62
+ }
63
+ },
64
+ "approval": {
65
+ "type": "object",
66
+ "properties": {
67
+ "status": { "type": "string", "enum": ["approved", "pending", "rejected"] },
68
+ "approved_by": { "type": "string" },
69
+ "approved_date": { "type": "string" },
70
+ "review_ticket": { "type": "string" }
71
+ },
72
+ "additionalProperties": true
73
+ }
74
+ },
75
+ "allOf": [
76
+ {
77
+ "if": {
78
+ "properties": {
79
+ "type": { "const": "local" }
80
+ }
81
+ },
82
+ "then": {
83
+ "required": ["location"]
84
+ }
85
+ },
86
+ {
87
+ "if": {
88
+ "properties": {
89
+ "type": { "const": "github" }
90
+ }
91
+ },
92
+ "then": {
93
+ "required": ["repo_url"]
94
+ }
95
+ }
96
+ ],
97
+ "additionalProperties": true
98
+ }
99
+ }
100
+ },
101
+ "additionalProperties": true
102
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "registry_mode": "template",
3
+ "schema_version": "2.0",
4
+ "governance": {
5
+ "owner": "your-team",
6
+ "approval_required": false,
7
+ "repo_name_prefix": "your-prefix_"
8
+ },
9
+ "repos": [],
10
+ "repo_examples": {
11
+ "local": {
12
+ "name": "your-prefix_backend_local",
13
+ "domain": "backend",
14
+ "type": "local",
15
+ "location": "../your-backend-repo"
16
+ },
17
+ "github": {
18
+ "name": "your-prefix_backend_remote",
19
+ "domain": "backend",
20
+ "type": "github",
21
+ "repo_url": "https://github.com/your-org/your-repo.git",
22
+ "branch": "main",
23
+ "cache_location": ".cache/github-repos/your-prefix_backend_remote"
24
+ }
25
+ }
26
+ }
@@ -0,0 +1 @@
1
+ graphifyy[mcp]
@@ -0,0 +1,109 @@
1
+ # Scripts Index
2
+
3
+ Indice operativo de scripts del repositorio. Objetivo: crecer sin caos, con un punto unico de entrada.
4
+
5
+ ## Estructura canonica (viva)
6
+
7
+ - `scripts/setup/*`: bootstrap y validacion de entorno.
8
+ - `scripts/intake/*`: registry, intake, routing y preflight.
9
+ - `scripts/ops/*`: arranque y cierre diario.
10
+ - `scripts/discovery/*`: descubrimiento y notas de proyecto.
11
+ - `scripts/context/*`: construccion de contexto (Graphify/Repomix/Azure adapter).
12
+ - `scripts/learning/*`: feedback, metricas y gates de aprendizaje.
13
+
14
+ Todas las ejecuciones deben usar rutas canonicas por subcarpeta.
15
+
16
+ ## Convenciones
17
+
18
+ - Preferir `cmd` wrappers en Windows cuando exista equivalente (`run-repo-intake.cmd`).
19
+ - Scripts de verificacion y pipeline deben ser idempotentes.
20
+ - Evitar rutas hardcodeadas fuera del repo.
21
+
22
+ ## Setup y bootstrap
23
+
24
+ - `bootstrap-portable.ps1`: orquesta setup portable + validacion + init registry + intake.
25
+ - `bootstrap-portable.cmd`: wrapper CMD unico recomendado en Windows para bootstrap portable completo.
26
+ - `setup/setup-prerequisites.ps1`: instala y prepara dependencias base (MCP + tooling).
27
+ - `setup/setup-codegraph.ps1`: setup de CodeGraph.
28
+ - `setup/setup-gitnexus.ps1`: setup de GitNexus.
29
+ - `setup/optimize-engines.ps1`: auditoria/optimizacion exhaustiva de motores MCP (CodeGraph, GitNexus, Graphify, Repomix).
30
+ - `setup/start-gitnexus.ps1`: indexa si hace falta, levanta backend web y abre UI local.
31
+ - `setup/setup-graphify.ps1`: setup de Graphify.
32
+ - `setup/validate-context.ps1`: verificacion de prerequisitos locales.
33
+ - `../tooling/tooling.manifest.json`: fuente de verdad de CLIs externos requeridos.
34
+
35
+ ## Repo intake y routing
36
+
37
+ - `intake/validate-repo-registry.py`: valida `repo-registry/repos.yml` (strict opcional). Soporta `type=local` y `type=github`.
38
+ - `intake/validate-repo-registry.ps1`: wrapper PowerShell de validacion del registry.
39
+ - `intake/init-template-registry.ps1`: inicializa `repo-registry/repos.yml` desde la plantilla portable.
40
+ - `intake/init-template-registry.cmd`: wrapper CMD recomendado en Windows para inicializar el registry plantilla.
41
+ - `intake/repo-intake.py`: genera artefactos intake por repo. Para `type=github` materializa/actualiza una cache local y luego genera manifests/capabilities igual que para repos locales.
42
+ - `intake/run-repo-intake.cmd`: wrapper recomendado en Windows para intake.
43
+ - `intake/run-repo-intake.ps1`: wrapper PowerShell para intake.
44
+ - `intake/resolve-routing.py`: resuelve ruta por capabilities/engine/fallback y puede registrar metricas de tokens por llamada con `--input-tokens --output-tokens`.
45
+ - `intake/run-routing-evals.py`: ejecuta casos de prueba de routing.
46
+ - `intake/agent-pipeline-preflight.py`: chequea integridad agente -> skills -> repos.
47
+
48
+ ## Operacion diaria
49
+
50
+ - `ops/hi.ps1`: preflight de inicio (contexto, intake, routing, salud).
51
+ - `ops/bye.ps1`: cierre con refreshes, reportes y retencion automatica de logs de sesion (`observability/logs/session`) con `RetentionDays=15` por defecto.
52
+
53
+ ## Descubrimiento y sincronizacion
54
+
55
+ - `discovery/discover-boost-repos.py`: descubrimiento de repos boost.
56
+ - `discovery/discover-boost-repos.cmd`: wrapper CMD para descubrimiento.
57
+ - `discovery/refresh-project-notes.py`: refresca notas de proyecto desde observabilidad.
58
+
59
+ ## Contexto y snapshots
60
+
61
+ - `context/build-graphify.ps1`: reconstruye salida de Graphify.
62
+ - `context/build-repomix.ps1`: genera snapshot Repomix.
63
+ - `context/azure-rag-mcp-adapter.py`: adaptador para flujo Azure RAG MCP.
64
+
65
+ ## Learning y observabilidad
66
+
67
+ - `learning/record-learning-feedback.py`: registro de feedback de ejecucion.
68
+ - `learning/record-iteration-metrics.py`: registro de metricas por iteracion.
69
+ - `learning/ingest-copilot-session-usage.py`: ingesta best-effort de uso de tokens desde logs de sesion de VS Code Copilot hacia `iteration-metrics.jsonl` (incluye `copilot_credits` cuando el log lo expone).
70
+ - `learning/chat-token-usage-report.py`: reporte agregado de tokens y costo en creditos solo de chat (`usage.source=copilot-session`) con salida JSON+Markdown. Soporta `--plan` (`free|pro|pro+|max|business|enterprise`) y `--seats` para calcular presupuesto mensual incluido y sobreconsumo. Referencia oficial de planes/precio cuando haga falta validar creditos incluidos: https://github.com/features/copilot/plans?ref_cta=View+pricing+and+plans&ref_loc=hero&ref_page=%2Ffeatures_copilot_copilot_business&plans=business
71
+ - `learning/learning-loop-report.py`: reporte de aprendizaje continuo.
72
+ - `learning/iteration-value-report.py`: reporte de valor por iteracion.
73
+ - `learning/autolearning-gate.py`: gate automatizado de aprendizaje.
74
+
75
+ ## Flujos recomendados
76
+
77
+ Setup inicial:
78
+
79
+ ```powershell
80
+ .\scripts\bootstrap-portable.cmd
81
+ .\scripts\setup\setup-prerequisites.ps1
82
+ .\scripts\setup\validate-context.ps1
83
+ .\scripts\setup\optimize-engines.ps1 -InstallMissing
84
+ ```
85
+
86
+ Optimización profunda (skills + embeddings en GitNexus):
87
+
88
+ ```powershell
89
+ .\scripts\setup\optimize-engines.ps1 -DeepGitNexus
90
+ ```
91
+
92
+ Validacion operativa minima:
93
+
94
+ ```powershell
95
+ pwsh -ExecutionPolicy Bypass -NoProfile -File .\scripts\setup\validate-context.ps1 -PortableMode
96
+ .\scripts\intake\init-template-registry.cmd
97
+ py -3 .\scripts\intake\validate-repo-registry.py --strict
98
+ .\scripts\intake\run-repo-intake.cmd
99
+ py -3 .\scripts\intake\agent-pipeline-preflight.py
100
+ py -3 .\scripts\intake\run-routing-evals.py
101
+ ```
102
+
103
+ Operacion diaria:
104
+
105
+ ```powershell
106
+ .\scripts\ops\hi.ps1
107
+ # ... trabajo ...
108
+ .\scripts\ops\bye.ps1
109
+ ```
File without changes
@@ -0,0 +1,4 @@
1
+ @echo off
2
+ setlocal
3
+ pwsh -NoProfile -ExecutionPolicy Bypass -File "%~dp0bootstrap-portable.ps1" %*
4
+ exit /b %ERRORLEVEL%
@@ -0,0 +1,90 @@
1
+ param(
2
+ [switch]$ForceTemplateRegistry,
3
+ [switch]$SkipCodebaseMemory,
4
+ [switch]$SkipTokenSaver,
5
+ [switch]$SkipCodegraph,
6
+ [switch]$SkipGitnexus,
7
+ [switch]$SkipGraphify,
8
+ [switch]$SkipRepomix,
9
+ [string]$Owner,
10
+ [string]$RepoNamePrefix,
11
+ [string]$InitialRepoName,
12
+ [string]$InitialRepoDomain,
13
+ [string]$InitialRepoLocation,
14
+ [switch]$SkipInitialRepo
15
+ )
16
+
17
+ Set-StrictMode -Version Latest
18
+ $ErrorActionPreference = "Stop"
19
+
20
+ $repoRoot = (Resolve-Path (Join-Path $PSScriptRoot '..')).Path
21
+ Set-Location $repoRoot
22
+
23
+ $registryPath = Join-Path $repoRoot 'repo-registry\repos.yml'
24
+ $summaryReportPath = Join-Path $repoRoot 'repo-intake\generated\reports\SUMMARY.json'
25
+ $initRegistryArgs = @('.\scripts\intake\init-template-registry.ps1')
26
+ if (-not [string]::IsNullOrWhiteSpace($Owner)) { $initRegistryArgs += @('-Owner', $Owner) }
27
+ if (-not [string]::IsNullOrWhiteSpace($RepoNamePrefix)) { $initRegistryArgs += @('-RepoNamePrefix', $RepoNamePrefix) }
28
+ if (-not [string]::IsNullOrWhiteSpace($InitialRepoName)) { $initRegistryArgs += @('-InitialRepoName', $InitialRepoName) }
29
+ if (-not [string]::IsNullOrWhiteSpace($InitialRepoDomain)) { $initRegistryArgs += @('-InitialRepoDomain', $InitialRepoDomain) }
30
+ if (-not [string]::IsNullOrWhiteSpace($InitialRepoLocation)) { $initRegistryArgs += @('-InitialRepoLocation', $InitialRepoLocation) }
31
+ if ($SkipInitialRepo) { $initRegistryArgs += '-SkipInitialRepo' }
32
+
33
+ Write-Host '== Portable bootstrap =='
34
+
35
+ pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup\setup-prerequisites.ps1 `
36
+ -PortableMode `
37
+ -SkipCodebaseMemory:$SkipCodebaseMemory `
38
+ -SkipTokenSaver:$SkipTokenSaver `
39
+ -SkipCodegraph:$SkipCodegraph `
40
+ -SkipGitnexus:$SkipGitnexus `
41
+ -SkipGraphify:$SkipGraphify `
42
+ -SkipRepomix:$SkipRepomix
43
+ if ($LASTEXITCODE -ne 0) {
44
+ throw 'Portable setup prerequisites failed.'
45
+ }
46
+
47
+ pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup\validate-context.ps1 -PortableMode
48
+ if ($LASTEXITCODE -ne 0) {
49
+ throw 'Portable context validation failed.'
50
+ }
51
+
52
+ if (-not (Test-Path $registryPath)) {
53
+ Write-Host 'No repo registry found. Initializing portable template registry...'
54
+ pwsh -NoProfile -ExecutionPolicy Bypass -File @initRegistryArgs
55
+ if ($LASTEXITCODE -ne 0) {
56
+ throw 'Template registry initialization failed.'
57
+ }
58
+ }
59
+ elseif ($ForceTemplateRegistry) {
60
+ Write-Host 'Forcing template registry initialization...'
61
+ pwsh -NoProfile -ExecutionPolicy Bypass -File @($initRegistryArgs + '-Force')
62
+ if ($LASTEXITCODE -ne 0) {
63
+ throw 'Forced template registry initialization failed.'
64
+ }
65
+ }
66
+ else {
67
+ Write-Host 'Registry already exists. Reusing current repo-registry\repos.yml.'
68
+ }
69
+
70
+ pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\intake\run-repo-intake.ps1
71
+ if ($LASTEXITCODE -ne 0) {
72
+ throw 'Repo intake failed during portable bootstrap.'
73
+ }
74
+
75
+ Write-Host ''
76
+ Write-Host 'Portable bootstrap completed.'
77
+ if (Test-Path $registryPath) {
78
+ $registry = Get-Content -Raw -Path $registryPath | ConvertFrom-Json -Depth 20
79
+ $registryMode = if (($registry.PSObject.Properties.Name -contains 'registry_mode') -and -not [string]::IsNullOrWhiteSpace([string]$registry.registry_mode)) { [string]$registry.registry_mode } else { 'enterprise' }
80
+ $repoCount = if (($registry.PSObject.Properties.Name -contains 'repos') -and $null -ne $registry.repos) { @($registry.repos).Count } else { 0 }
81
+ Write-Host "Registry summary: mode=$registryMode, repos=$repoCount"
82
+ }
83
+ if (Test-Path $summaryReportPath) {
84
+ $summary = Get-Content -Raw -Path $summaryReportPath | ConvertFrom-Json -Depth 20
85
+ Write-Host "Intake summary: generated for $($summary.repos_count) repos"
86
+ }
87
+ Write-Host 'Artifacts:'
88
+ Write-Host ' - repo-intake/generated/reports/setup-validation.json'
89
+ Write-Host ' - repo-intake/generated/reports/repo-registry-validation.json'
90
+ Write-Host ' - repo-intake/generated/reports/SUMMARY.json'
@@ -0,0 +1 @@
1
+ print("Placeholder adapter for RAG-Azure-Builder. Wire to CLI/API if needed.")
@@ -0,0 +1 @@
1
+ graphify . --update
@@ -0,0 +1 @@
1
+ npx repomix@latest --config context/repomix/repomix.config.json
@@ -0,0 +1,4 @@
1
+ @echo off
2
+ setlocal
3
+ python "%~dp0discover-boost-repos.py" %*
4
+ exit /b %ERRORLEVEL%