octocode-cli 1.2.8 → 1.2.9

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 (282) hide show
  1. package/README.md +42 -35
  2. package/out/octocode-cli.js +36 -11767
  3. package/package.json +36 -36
  4. package/skills/README.md +42 -114
  5. package/skills/{octocode-code-engineer → octocode-engineer}/.claude/settings.local.json +2 -1
  6. package/skills/octocode-engineer/README.md +99 -0
  7. package/skills/octocode-engineer/SKILL.md +499 -0
  8. package/skills/octocode-engineer/build.mjs +29 -0
  9. package/skills/{octocode-code-engineer → octocode-engineer}/eslint.config.mjs +3 -13
  10. package/skills/{octocode-code-engineer → octocode-engineer}/package.json +28 -27
  11. package/skills/octocode-engineer/references/ast-reference.md +166 -0
  12. package/skills/{octocode-code-engineer → octocode-engineer}/references/cli-reference.md +80 -6
  13. package/skills/octocode-engineer/references/externals.md +86 -0
  14. package/skills/{octocode-code-engineer → octocode-engineer}/references/output-files.md +46 -6
  15. package/skills/octocode-engineer/references/quality-indicators.md +202 -0
  16. package/skills/octocode-engineer/references/tool-workflows.md +298 -0
  17. package/skills/octocode-engineer/references/validation-playbooks.md +99 -0
  18. package/skills/octocode-engineer/scripts/ast/search.js +45 -0
  19. package/skills/octocode-engineer/scripts/ast/tree-search.js +27 -0
  20. package/skills/octocode-engineer/scripts/index.js +173 -0
  21. package/skills/octocode-engineer/scripts/run.js +179 -0
  22. package/skills/octocode-engineer/src/analysis/dependencies.ts +378 -0
  23. package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/discovery.test.ts +57 -0
  24. package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/discovery.ts +43 -0
  25. package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/search.test.ts +113 -0
  26. package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/search.ts +64 -1
  27. package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/tree-sitter.test.ts +118 -2
  28. package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/tree-sitter.ts +65 -3
  29. package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/ts-analyzer.test.ts +281 -1
  30. package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/ts-analyzer.ts +173 -3
  31. package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/security.test.ts +73 -0
  32. package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/security.ts +62 -4
  33. package/skills/octocode-engineer/src/detector-gating.test.ts +59 -0
  34. package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/code-quality.ts +342 -0
  35. package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/index.ts +8 -0
  36. package/skills/{octocode-code-engineer → octocode-engineer}/src/index.test.ts +565 -11
  37. package/skills/octocode-engineer/src/index.ts +468 -0
  38. package/skills/octocode-engineer/src/pipeline/affected.test.ts +147 -0
  39. package/skills/octocode-engineer/src/pipeline/affected.ts +68 -0
  40. package/skills/octocode-engineer/src/pipeline/baseline.test.ts +276 -0
  41. package/skills/octocode-engineer/src/pipeline/baseline.ts +76 -0
  42. package/skills/{octocode-code-engineer → octocode-engineer}/src/pipeline/cli.test.ts +300 -53
  43. package/skills/{octocode-code-engineer → octocode-engineer}/src/pipeline/cli.ts +180 -36
  44. package/skills/octocode-engineer/src/pipeline/config-loader.test.ts +264 -0
  45. package/skills/octocode-engineer/src/pipeline/config-loader.ts +109 -0
  46. package/skills/octocode-engineer/src/pipeline/create-options.ts +55 -0
  47. package/skills/octocode-engineer/src/pipeline/health-score.test.ts +65 -0
  48. package/skills/{octocode-code-engineer → octocode-engineer}/src/pipeline/main.ts +130 -17
  49. package/skills/octocode-engineer/src/pipeline/progress.ts +51 -0
  50. package/skills/octocode-engineer/src/pipeline/reporters.test.ts +155 -0
  51. package/skills/octocode-engineer/src/pipeline/reporters.ts +64 -0
  52. package/skills/octocode-engineer/src/reporting/graph-features.test.ts +279 -0
  53. package/skills/{octocode-code-engineer → octocode-engineer}/src/reporting/output-contract.test.ts +6 -0
  54. package/skills/octocode-engineer/src/reporting/summary-md.test.ts +1066 -0
  55. package/skills/octocode-engineer/src/reporting/summary-md.ts +1604 -0
  56. package/skills/{octocode-code-engineer → octocode-engineer}/src/reporting/writer.ts +136 -13
  57. package/skills/octocode-engineer/src/run.ts +78 -0
  58. package/skills/{octocode-code-engineer → octocode-engineer}/src/sanity.test.ts +1 -1
  59. package/skills/octocode-engineer/src/types/analysis.ts +25 -0
  60. package/skills/octocode-engineer/src/types/collectors.ts +134 -0
  61. package/skills/{octocode-code-engineer → octocode-engineer}/src/types/constants.ts +75 -41
  62. package/skills/octocode-engineer/src/types/core.ts +203 -0
  63. package/skills/octocode-engineer/src/types/dependency.ts +215 -0
  64. package/skills/octocode-engineer/src/types/file-entry.ts +108 -0
  65. package/skills/octocode-engineer/src/types/findings.ts +105 -0
  66. package/skills/{octocode-code-engineer → octocode-engineer}/src/types/index.ts +60 -30
  67. package/skills/octocode-engineer/src/types/tree-sitter.ts +38 -0
  68. package/skills/{octocode-code-engineer → octocode-engineer}/tsconfig.json +1 -0
  69. package/skills/octocode-research/.octocode/scan/.cache/analysis-cache.json +1 -0
  70. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/architecture.json +1 -0
  71. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/ast-trees.txt +5566 -0
  72. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/code-quality.json +1 -0
  73. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/dead-code.json +1 -0
  74. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/file-inventory.json +1 -0
  75. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/findings.json +1 -0
  76. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/graph.md +189 -0
  77. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/security.json +1 -0
  78. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/summary.json +1 -0
  79. package/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/summary.md +265 -0
  80. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/architecture.json +1 -0
  81. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/ast-trees.txt +5555 -0
  82. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/code-quality.json +1 -0
  83. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/dead-code.json +1 -0
  84. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/file-inventory.json +1 -0
  85. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/findings.json +1 -0
  86. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/graph.md +190 -0
  87. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/security.json +1 -0
  88. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/summary.json +1 -0
  89. package/skills/octocode-research/.octocode/scan/2026-03-22T10-40-10-469Z/summary.md +265 -0
  90. package/skills/octocode-research/CHANGELOG.md +60 -0
  91. package/skills/octocode-research/README.md +102 -388
  92. package/skills/octocode-research/SKILL.md +169 -498
  93. package/skills/octocode-research/package.json +19 -31
  94. package/skills/octocode-research/references/PARALLEL_AGENT_PROTOCOL.md +19 -0
  95. package/skills/octocode-research/references/SESSION_MANAGEMENT.md +38 -0
  96. package/skills/octocode-research/scripts/server-init.js +1 -1
  97. package/skills/octocode-research/scripts/server.d.ts +2 -1
  98. package/skills/octocode-research/scripts/server.js +329 -233
  99. package/skills/octocode-research/src/__tests__/integration/promptsRoutes.test.ts +180 -0
  100. package/skills/octocode-research/src/__tests__/integration/serverHttp.test.ts +221 -0
  101. package/skills/octocode-research/src/__tests__/integration/serverLifecycle.test.ts +194 -0
  102. package/skills/octocode-research/src/__tests__/integration/toolsRoutes.test.ts +501 -0
  103. package/skills/octocode-research/src/__tests__/unit/readiness.test.ts +61 -0
  104. package/skills/octocode-research/src/__tests__/unit/resilience.test.ts +192 -0
  105. package/skills/octocode-research/src/__tests__/unit/responseFactory.test.ts +172 -0
  106. package/skills/octocode-research/src/__tests__/unit/responseParser.test.ts +288 -0
  107. package/skills/octocode-research/src/__tests__/unit/schemas.test.ts +509 -0
  108. package/skills/octocode-research/src/index.ts +4 -124
  109. package/skills/octocode-research/src/middleware/queryParser.ts +0 -26
  110. package/skills/octocode-research/src/routes/lsp.ts +58 -59
  111. package/skills/octocode-research/src/routes/package.ts +35 -65
  112. package/skills/octocode-research/src/routes/prompts.ts +3 -3
  113. package/skills/octocode-research/src/routes/tools.ts +8 -20
  114. package/skills/octocode-research/src/server-init.ts +30 -237
  115. package/skills/octocode-research/src/server.ts +50 -23
  116. package/skills/octocode-research/src/types/errorGuards.ts +9 -80
  117. package/skills/octocode-research/src/types/guards.ts +0 -28
  118. package/skills/octocode-research/src/types/mcp.ts +11 -66
  119. package/skills/octocode-research/src/types/responses.ts +11 -129
  120. package/skills/octocode-research/src/utils/circuitBreaker.ts +0 -21
  121. package/skills/octocode-research/src/utils/logger.ts +1 -97
  122. package/skills/octocode-research/src/utils/resilience.ts +2 -12
  123. package/skills/octocode-research/src/utils/responseFactory.ts +0 -42
  124. package/skills/octocode-research/src/utils/responseParser.ts +3 -25
  125. package/skills/octocode-research/src/utils/retry.ts +0 -63
  126. package/skills/octocode-research/src/utils/routeFactory.ts +1 -1
  127. package/skills/octocode-research/src/validation/httpPreprocess.ts +0 -3
  128. package/skills/octocode-research/src/validation/index.ts +0 -1
  129. package/skills/octocode-research/src/validation/schemas.ts +0 -63
  130. package/skills/octocode-research/src/validation/toolCallSchema.ts +3 -3
  131. package/skills/octocode-research/tsdown.config.ts +4 -0
  132. package/skills/octocode-research/vitest.config.ts +3 -0
  133. package/skills/octocode-code-engineer/.plan/VALIDATED_PLAN.md +0 -223
  134. package/skills/octocode-code-engineer/README.md +0 -178
  135. package/skills/octocode-code-engineer/SKILL.md +0 -418
  136. package/skills/octocode-code-engineer/minify-scripts.mjs +0 -32
  137. package/skills/octocode-code-engineer/references/agent-ast-reading-rfc.md +0 -95
  138. package/skills/octocode-code-engineer/references/architecture-techniques.md +0 -121
  139. package/skills/octocode-code-engineer/references/ast-search.md +0 -210
  140. package/skills/octocode-code-engineer/references/ast-tree-search.md +0 -151
  141. package/skills/octocode-code-engineer/references/concepts.md +0 -107
  142. package/skills/octocode-code-engineer/references/finding-categories.md +0 -128
  143. package/skills/octocode-code-engineer/references/improvement-roadmap.md +0 -304
  144. package/skills/octocode-code-engineer/references/playbooks.md +0 -204
  145. package/skills/octocode-code-engineer/references/present-results.md +0 -136
  146. package/skills/octocode-code-engineer/references/tool-workflows.md +0 -566
  147. package/skills/octocode-code-engineer/references/validate-investigate.md +0 -225
  148. package/skills/octocode-code-engineer/scripts/analysis/dependencies.js +0 -1
  149. package/skills/octocode-code-engineer/scripts/analysis/dependency-summary.js +0 -1
  150. package/skills/octocode-code-engineer/scripts/analysis/discovery.js +0 -1
  151. package/skills/octocode-code-engineer/scripts/analysis/graph-analytics.js +0 -1
  152. package/skills/octocode-code-engineer/scripts/analysis/semantic.js +0 -1
  153. package/skills/octocode-code-engineer/scripts/ast/helpers.js +0 -1
  154. package/skills/octocode-code-engineer/scripts/ast/metrics.js +0 -1
  155. package/skills/octocode-code-engineer/scripts/ast/search.js +0 -2
  156. package/skills/octocode-code-engineer/scripts/ast/tree-search.js +0 -2
  157. package/skills/octocode-code-engineer/scripts/ast/tree-sitter.js +0 -1
  158. package/skills/octocode-code-engineer/scripts/ast/ts-analyzer.js +0 -1
  159. package/skills/octocode-code-engineer/scripts/collectors/chains.js +0 -1
  160. package/skills/octocode-code-engineer/scripts/collectors/effects.js +0 -1
  161. package/skills/octocode-code-engineer/scripts/collectors/input-sources.js +0 -1
  162. package/skills/octocode-code-engineer/scripts/collectors/performance.js +0 -1
  163. package/skills/octocode-code-engineer/scripts/collectors/prototype-pollution.js +0 -1
  164. package/skills/octocode-code-engineer/scripts/collectors/security.js +0 -1
  165. package/skills/octocode-code-engineer/scripts/collectors/test-profile.js +0 -1
  166. package/skills/octocode-code-engineer/scripts/common/is-direct-run.js +0 -1
  167. package/skills/octocode-code-engineer/scripts/common/utils.js +0 -1
  168. package/skills/octocode-code-engineer/scripts/detectors/code-quality.js +0 -1
  169. package/skills/octocode-code-engineer/scripts/detectors/cohesion.js +0 -1
  170. package/skills/octocode-code-engineer/scripts/detectors/coupling.js +0 -1
  171. package/skills/octocode-code-engineer/scripts/detectors/cycle.js +0 -1
  172. package/skills/octocode-code-engineer/scripts/detectors/dead-code.js +0 -1
  173. package/skills/octocode-code-engineer/scripts/detectors/import-style.js +0 -1
  174. package/skills/octocode-code-engineer/scripts/detectors/index.js +0 -1
  175. package/skills/octocode-code-engineer/scripts/detectors/security.js +0 -1
  176. package/skills/octocode-code-engineer/scripts/detectors/semantic.js +0 -1
  177. package/skills/octocode-code-engineer/scripts/detectors/shared.js +0 -1
  178. package/skills/octocode-code-engineer/scripts/detectors/test-quality.js +0 -1
  179. package/skills/octocode-code-engineer/scripts/index.js +0 -1
  180. package/skills/octocode-code-engineer/scripts/pipeline/cache.js +0 -1
  181. package/skills/octocode-code-engineer/scripts/pipeline/cli.js +0 -1
  182. package/skills/octocode-code-engineer/scripts/pipeline/main.js +0 -2
  183. package/skills/octocode-code-engineer/scripts/reporting/analysis.js +0 -1
  184. package/skills/octocode-code-engineer/scripts/reporting/summary-md.js +0 -1
  185. package/skills/octocode-code-engineer/scripts/reporting/writer.js +0 -1
  186. package/skills/octocode-code-engineer/scripts/types/constants.js +0 -1
  187. package/skills/octocode-code-engineer/scripts/types/index.js +0 -1
  188. package/skills/octocode-code-engineer/scripts/types/interfaces.js +0 -1
  189. package/skills/octocode-code-engineer/src/analysis/dependencies.ts +0 -406
  190. package/skills/octocode-code-engineer/src/index.ts +0 -403
  191. package/skills/octocode-code-engineer/src/reporting/summary-md.test.ts +0 -421
  192. package/skills/octocode-code-engineer/src/reporting/summary-md.ts +0 -714
  193. package/skills/octocode-code-engineer/src/types/interfaces.ts +0 -682
  194. package/skills/octocode-research/src/types/toolTypes.ts +0 -33
  195. package/skills/octocode-research/src/utils/logEmoji.ts +0 -103
  196. /package/skills/{octocode-code-engineer → octocode-engineer}/.octocode/rfc/RFC-code-engineer-weakness-fixes.md +0 -0
  197. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/architecture.ts.html +0 -0
  198. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/ast-helpers.ts.html +0 -0
  199. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/ast-search.ts.html +0 -0
  200. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/base.css +0 -0
  201. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/block-navigation.js +0 -0
  202. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/cache.ts.html +0 -0
  203. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/cli.ts.html +0 -0
  204. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/clover.xml +0 -0
  205. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/collect-effects.ts.html +0 -0
  206. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/collect-input-sources.ts.html +0 -0
  207. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/collect-performance.ts.html +0 -0
  208. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/collect-prototype-pollution.ts.html +0 -0
  209. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/collect-security.ts.html +0 -0
  210. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/collect-test-profile.ts.html +0 -0
  211. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/coverage-final.json +0 -0
  212. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/dependencies.ts.html +0 -0
  213. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/dependency-summary.ts.html +0 -0
  214. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/discovery.ts.html +0 -0
  215. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/favicon.png +0 -0
  216. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/graph-analytics.ts.html +0 -0
  217. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/index.html +0 -0
  218. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/index.ts.html +0 -0
  219. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/metrics.ts.html +0 -0
  220. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/pipeline.ts.html +0 -0
  221. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/prettify.css +0 -0
  222. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/prettify.js +0 -0
  223. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/report-analysis.ts.html +0 -0
  224. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/report-writer.ts.html +0 -0
  225. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/security-detectors.ts.html +0 -0
  226. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/semantic-detectors.ts.html +0 -0
  227. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/semantic.ts.html +0 -0
  228. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/sort-arrow-sprite.png +0 -0
  229. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/sorter.js +0 -0
  230. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/summary-md.ts.html +0 -0
  231. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/test-quality-detectors.ts.html +0 -0
  232. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/tree-sitter-analyzer.ts.html +0 -0
  233. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/ts-analyzer.ts.html +0 -0
  234. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/types.ts.html +0 -0
  235. /package/skills/{octocode-code-engineer → octocode-engineer}/coverage/utils.ts.html +0 -0
  236. /package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/dependencies.test.ts +0 -0
  237. /package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/dependency-summary.test.ts +0 -0
  238. /package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/dependency-summary.ts +0 -0
  239. /package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/graph-analytics.test.ts +0 -0
  240. /package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/graph-analytics.ts +0 -0
  241. /package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/semantic.test.ts +0 -0
  242. /package/skills/{octocode-code-engineer → octocode-engineer}/src/analysis/semantic.ts +0 -0
  243. /package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/helpers.test.ts +0 -0
  244. /package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/helpers.ts +0 -0
  245. /package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/metrics.test.ts +0 -0
  246. /package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/metrics.ts +0 -0
  247. /package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/tree-search.test.ts +0 -0
  248. /package/skills/{octocode-code-engineer → octocode-engineer}/src/ast/tree-search.ts +0 -0
  249. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/chains.ts +0 -0
  250. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/effects.test.ts +0 -0
  251. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/effects.ts +0 -0
  252. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/input-sources.test.ts +0 -0
  253. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/input-sources.ts +0 -0
  254. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/performance.test.ts +0 -0
  255. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/performance.ts +0 -0
  256. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/prototype-pollution.test.ts +0 -0
  257. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/prototype-pollution.ts +0 -0
  258. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/test-profile.test.ts +0 -0
  259. /package/skills/{octocode-code-engineer → octocode-engineer}/src/collectors/test-profile.ts +0 -0
  260. /package/skills/{octocode-code-engineer → octocode-engineer}/src/common/is-direct-run.test.ts +0 -0
  261. /package/skills/{octocode-code-engineer → octocode-engineer}/src/common/is-direct-run.ts +0 -0
  262. /package/skills/{octocode-code-engineer → octocode-engineer}/src/common/utils.test.ts +0 -0
  263. /package/skills/{octocode-code-engineer → octocode-engineer}/src/common/utils.ts +0 -0
  264. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/cohesion.ts +0 -0
  265. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/coupling.ts +0 -0
  266. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/cycle.ts +0 -0
  267. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/dead-code.ts +0 -0
  268. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/import-style.ts +0 -0
  269. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/index.test.ts +0 -0
  270. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/security.test.ts +0 -0
  271. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/security.ts +0 -0
  272. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/semantic.ts +0 -0
  273. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/shared.ts +0 -0
  274. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/test-quality.test.ts +0 -0
  275. /package/skills/{octocode-code-engineer → octocode-engineer}/src/detectors/test-quality.ts +0 -0
  276. /package/skills/{octocode-code-engineer → octocode-engineer}/src/pipeline/cache.test.ts +0 -0
  277. /package/skills/{octocode-code-engineer → octocode-engineer}/src/pipeline/cache.ts +0 -0
  278. /package/skills/{octocode-code-engineer → octocode-engineer}/src/pipeline/main.test.ts +0 -0
  279. /package/skills/{octocode-code-engineer → octocode-engineer}/src/pipeline.test.ts +0 -0
  280. /package/skills/{octocode-code-engineer → octocode-engineer}/src/reporting/analysis.test.ts +0 -0
  281. /package/skills/{octocode-code-engineer → octocode-engineer}/src/reporting/analysis.ts +0 -0
  282. /package/skills/{octocode-code-engineer → octocode-engineer}/vitest.config.ts +0 -0
@@ -0,0 +1,265 @@
1
+ # Code Quality Scan Report
2
+
3
+ **Generated**: 2026-03-22T10:32:30.560Z
4
+ **Root**: `/Users/guybary/Documents/octocode-mcp/skills/octocode-research`
5
+
6
+ ## Scan Scope
7
+
8
+ | Metric | Count |
9
+ |--------|-------|
10
+ | Files analyzed | 36 |
11
+ | Functions | 283 |
12
+ | Flow nodes | 372 |
13
+ | Dependency files | 52 |
14
+ | Packages | 1 |
15
+
16
+ ## Findings Overview
17
+
18
+ | Severity | Count |
19
+ |----------|-------|
20
+ | Critical | 8 |
21
+ | High | 133 |
22
+ | Medium | 148 |
23
+ | Low | 86 |
24
+ | **Total** | **375** |
25
+
26
+ > **Scoped scan**: Only showing findings for: `src`
27
+
28
+ > **Semantic analysis**: TypeChecker + LanguageService enabled (14 additional categories)
29
+
30
+ ## Health Scores
31
+
32
+ | Pillar | Score | Grade |
33
+ |--------|-------|-------|
34
+ | **Overall** | **15/100** | **F** |
35
+ | Architecture | 37/100 | D |
36
+ | Code Quality | 65/100 | B |
37
+ | Dead Code & Hygiene | 24/100 | D |
38
+ | Security | 73/100 | B |
39
+ | Test Quality | 100/100 | A |
40
+
41
+ ## Top Concern Tags
42
+
43
+ Searchable tags across all findings — use to filter `findings.json` with `jq`.
44
+
45
+ - `dead-code`: 257 findings
46
+ - `semantic`: 137 findings
47
+ - `cleanup`: 118 findings
48
+ - `refactoring`: 79 findings
49
+ - `module-surface`: 75 findings
50
+ - `architecture`: 71 findings
51
+ - `api-surface`: 61 findings
52
+ - `barrel`: 59 findings
53
+ - `dependency`: 26 findings
54
+ - `security`: 22 findings
55
+ - `performance`: 20 findings
56
+ - `change-risk`: 18 findings
57
+
58
+ ## Analysis Signals
59
+
60
+ - **Graph Signal**: src/utils/responseBuilder.ts concentrates dependency pressure (articulation point, 1 bridge edge(s), on critical path, high complexity risk (109)).
61
+ - **AST Signal**: src/server-init.ts performs import-time work that matches the reported side-effect risk.
62
+ - **Combined Interpretation**: Structural chokepoint and Hidden initialization logic both appear in this scan, so use a hybrid investigation instead of a single-lens conclusion.
63
+ - **Confidence**: medium
64
+ - **Recommended Validation**: navigate to the awaited call to check if parallelization is safe (tools: localSearchCode -> lspGotoDefinition)
65
+
66
+ **Investigation Prompts**
67
+ - Inspect src/utils/responseBuilder.ts first and validate the graph claim with localSearchCode plus LSP navigation.
68
+ - Use file-inventory.json for src/server-init.ts to explain why the code shape matches the finding.
69
+ - Use a hybrid investigation before proposing a refactor because the signals do not fully align yet.
70
+ - Cross-check the top hotspot src/utils/logger.ts with the strongest architecture finding before editing code.
71
+
72
+ ## Architecture Health
73
+
74
+ > 68 findings (score: 37/100) — see [`architecture.json`](./architecture.json)
75
+
76
+ | Metric | Value |
77
+ |--------|-------|
78
+ | Modules | 52 |
79
+ | Import edges | 92 |
80
+ | Cycles | 0 |
81
+ | Critical paths | 12 |
82
+ | Root modules | 20 |
83
+ | Leaf modules | 22 |
84
+ | Test-only modules | 4 |
85
+ | Unresolved imports | 0 |
86
+
87
+ - `dependency-cycle`: 0
88
+ - `dependency-critical-path`: 7
89
+ - `dependency-test-only`: 4
90
+ - `architecture-sdp-violation`: 2
91
+ - `high-coupling`: 0
92
+ - `god-module-coupling`: 0
93
+ - `orphan-module`: 3
94
+ - `unreachable-module`: 12
95
+ - `layer-violation`: 0
96
+ - `low-cohesion`: 2
97
+ - `mega-folder`: 0
98
+ - `distance-from-main-sequence`: 7
99
+ - `feature-envy`: 3
100
+ - `untested-critical-code`: 11
101
+ - `over-abstraction`: 13
102
+ - `concrete-dependency`: 0
103
+ - `circular-type-dependency`: 0
104
+ - `shotgun-surgery`: 0
105
+ - `import-side-effect-risk`: 2
106
+ - `cycle-cluster`: 0
107
+ - `broker-module`: 0
108
+ - `bridge-module`: 0
109
+ - `package-boundary-chatter`: 0
110
+ - `startup-risk-hub`: 0
111
+ - `namespace-import`: 0
112
+ - `commonjs-in-esm`: 0
113
+ - `export-star-leak`: 2
114
+ - `mixed-module-format`: 0
115
+
116
+ ## Change Risk Hotspots
117
+
118
+ Files most dangerous to change — high fan-in, complexity, or cycle membership.
119
+
120
+ | File | Risk | Fan-In | Fan-Out | Complexity | Exports | Cycle | Critical Path |
121
+ |------|------|--------|---------|------------|---------|-------|---------------|
122
+ | `src/utils/logger.ts` | 97 | 4 | 2 | 112 | 12 | - | Y |
123
+ | `src/utils/responseBuilder.ts` | 87 | 6 | 0 | 109 | 3 | - | Y |
124
+ | `src/validation/schemas.ts` | 81 | 1 | 1 | 37 | 39 | - | - |
125
+ | `src/utils/circuitBreaker.ts` | 75 | 4 | 3 | 70 | 11 | - | Y |
126
+ | `src/routes/tools.ts` | 58 | 1 | 8 | 79 | 1 | - | Y |
127
+ | `src/types/guards.ts` | 55 | 6 | 0 | 40 | 11 | - | - |
128
+ | `src/server.ts` | 54 | 0 | 11 | 71 | 2 | - | Y |
129
+ | `src/routes/lsp.ts` | 51 | 1 | 7 | 66 | 1 | - | Y |
130
+ | `src/utils/retry.ts` | 50 | 2 | 1 | 66 | 7 | - | - |
131
+ | `src/types/errorGuards.ts` | 48 | 1 | 0 | 47 | 14 | - | - |
132
+ | `src/routes/package.ts` | 47 | 1 | 8 | 57 | 1 | - | Y |
133
+ | `src/routes/github.ts` | 45 | 1 | 7 | 54 | 1 | - | Y |
134
+ | `src/utils/resilience.ts` | 45 | 5 | 3 | 21 | 5 | - | Y |
135
+ | `src/utils/responseFactory.ts` | 44 | 4 | 2 | 38 | 8 | - | - |
136
+ | `src/routes/local.ts` | 41 | 1 | 7 | 46 | 1 | - | Y |
137
+
138
+ ## Code Quality
139
+
140
+ > 45 findings (score: 65/100) — see [`code-quality.json`](./code-quality.json)
141
+
142
+ - `duplicate-function-body`: 0
143
+ - `duplicate-flow-structure`: 0
144
+ - `function-optimization`: 0
145
+ - `cognitive-complexity`: 7
146
+ - `god-module`: 1
147
+ - `god-function`: 0
148
+ - `halstead-effort`: 0
149
+ - `low-maintainability`: 0
150
+ - `excessive-parameters`: 2
151
+ - `unsafe-any`: 0
152
+ - `empty-catch`: 3
153
+ - `switch-no-default`: 0
154
+ - `unused-parameter`: 0
155
+ - `deep-override-chain`: 0
156
+ - `interface-compliance`: 0
157
+ - `type-assertion-escape`: 2
158
+ - `promise-misuse`: 2
159
+ - `narrowable-type`: 4
160
+ - `missing-error-boundary`: 3
161
+ - `await-in-loop`: 4
162
+ - `sync-io`: 4
163
+ - `uncleared-timer`: 2
164
+ - `listener-leak-risk`: 6
165
+ - `unbounded-collection`: 0
166
+ - `similar-function-body`: 5
167
+ - `message-chain`: 0
168
+
169
+ ## Dead Code & Hygiene
170
+
171
+ > 240 findings (score: 24/100) — see [`dead-code.json`](./dead-code.json)
172
+
173
+ - `dead-export`: 58
174
+ - `dead-re-export`: 57
175
+ - `re-export-duplication`: 1
176
+ - `re-export-shadowed`: 0
177
+ - `unused-npm-dependency`: 0
178
+ - `package-boundary-violation`: 0
179
+ - `barrel-explosion`: 1
180
+ - `unused-import`: 0
181
+ - `orphan-implementation`: 0
182
+ - `move-to-caller`: 75
183
+ - `semantic-dead-export`: 45
184
+ - `dead-file`: 3
185
+
186
+ ## Security
187
+
188
+ > 22 findings (score: 73/100) — see [`security.json`](./security.json)
189
+
190
+ - `hardcoded-secret`: 1
191
+ - `eval-usage`: 0
192
+ - `unsafe-html`: 0
193
+ - `sql-injection-risk`: 2
194
+ - `unsafe-regex`: 0
195
+ - `prototype-pollution-risk`: 6
196
+ - `unvalidated-input-sink`: 7
197
+ - `input-passthrough-risk`: 6
198
+ - `path-traversal-risk`: 0
199
+ - `command-injection-risk`: 0
200
+ - `debug-log-leakage`: 0
201
+ - `sensitive-data-logging`: 0
202
+
203
+ ## Test Quality
204
+
205
+ > 0 findings (score: 100/100) — no `test-quality.json` written for this scan
206
+
207
+ - `low-assertion-density`: 0
208
+ - `test-no-assertion`: 0
209
+ - `excessive-mocking`: 0
210
+ - `shared-mutable-state`: 0
211
+ - `missing-test-cleanup`: 0
212
+ - `focused-test`: 0
213
+ - `fake-timer-no-restore`: 0
214
+ - `missing-mock-restoration`: 0
215
+
216
+ > **Note**: Test Quality reflects analyzed test files only. 11 modules flagged as `untested-critical-code` (architecture pillar) have no test coverage — use `--include-tests` for test-quality analysis.
217
+
218
+ ## Top Recommendations
219
+
220
+ - **[CRITICAL]** `src/server.ts` — Critical dependency chain risk: 6 files (2 entry points) *(dependency-critical-path)*
221
+ - **[CRITICAL]** `src/__tests__/integration/routes.test.ts` — Critical dependency chain risk: 6 files (2 entry points) *(dependency-critical-path)*
222
+ - **[CRITICAL]** `src/validation/schemas.ts` — Untested critical code: src/validation/schemas.ts *(untested-critical-code)*
223
+ - **[HIGH]** `src/server-init.ts` — await inside loop — sequential async execution *(await-in-loop)*
224
+ - **[HIGH]** `src/server-init.ts` — await inside loop — sequential async execution *(await-in-loop)*
225
+ - **[HIGH]** `src/index.ts` — Barrel explosion: src/index.ts *(barrel-explosion)*
226
+ - **[HIGH]** `src/routes/lsp.ts` — High cognitive complexity: extractLocations (36) *(cognitive-complexity)*
227
+ - **[HIGH]** `src/routes/package.ts` — High cognitive complexity: extractPackages (33) *(cognitive-complexity)*
228
+ - **[HIGH]** `src/middleware/queryParser.ts` — Unused export: sendToolResult *(dead-export)*
229
+ - **[HIGH]** `src/types/errorGuards.ts` — Unused export: isErrorWithStatus *(dead-export)*
230
+
231
+ ## AST Trees (`ast-trees.txt`)
232
+
233
+ Compact indented text format — each node is `Kind[startLine:endLine]`, nesting = indentation.
234
+
235
+ Run these commands from the skill directory. Current scan: `.octocode/scan/2026-03-22T10-32-27-073Z`.
236
+
237
+ ```
238
+ SourceFile[1:152]
239
+ ImportDeclaration[1]
240
+ FunctionDeclaration[3:20]
241
+ Block[4:19]
242
+ IfStatement[5:12] ...
243
+ ```
244
+
245
+ **Smart navigation:**
246
+
247
+ - Find functions: `node scripts/ast/tree-search.js -i "/Users/guybary/Documents/octocode-mcp/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/ast-trees.txt" -k function_declaration --limit 25`
248
+ - Find classes: `node scripts/ast/tree-search.js -i "/Users/guybary/Documents/octocode-mcp/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/ast-trees.txt" -k class_declaration --limit 25`
249
+ - Find control flow: `node scripts/ast/tree-search.js -i "/Users/guybary/Documents/octocode-mcp/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/ast-trees.txt" -p 'IfStatement|SwitchStatement|ForStatement|WhileStatement' --limit 25`
250
+ - Narrow to one file: `node scripts/ast/tree-search.js -i "/Users/guybary/Documents/octocode-mcp/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/ast-trees.txt" --file "/Users/guybary/Documents/octocode-mcp/skills/octocode-research/src" -k function_declaration --limit 10`
251
+ - Raw text fallback: `rg 'FunctionDeclaration|IfStatement' "/Users/guybary/Documents/octocode-mcp/skills/octocode-research/.octocode/scan/2026-03-22T10-32-27-073Z/ast-trees.txt"`
252
+
253
+ ## Output Files
254
+
255
+ | File | Size | Description |
256
+ |------|------|-------------|
257
+ | [`summary.json`](./summary.json) | 30.0 KB | Scan metadata, agent output, parse errors |
258
+ | [`architecture.json`](./architecture.json) | 135.6 KB | Dependency graph, cycles, critical paths, architecture findings |
259
+ | [`code-quality.json`](./code-quality.json) | 62.0 KB | Duplicate detection, complexity, god modules/functions |
260
+ | [`dead-code.json`](./dead-code.json) | 316.3 KB | Dead files/exports/re-exports, unused deps, boundary violations |
261
+ | [`file-inventory.json`](./file-inventory.json) | 410.6 KB | Per-file function/flow/dependency details |
262
+ | [`findings.json`](./findings.json) | 513.9 KB | All findings across all categories (master list) |
263
+ | [`security.json`](./security.json) | 42.7 KB | security |
264
+ | [`graph.md`](./graph.md) | 9.7 KB | Mermaid dependency graph |
265
+ | [`ast-trees.txt`](./ast-trees.txt) | 141.4 KB | AST tree snapshots (compact indented text — grep/regex friendly) |