octocode-cli 1.2.6 → 1.2.8

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 (303) hide show
  1. package/LICENSE +21 -63
  2. package/README.md +85 -142
  3. package/out/octocode-cli.js +7063 -6934
  4. package/package.json +8 -6
  5. package/skills/README.md +97 -120
  6. package/skills/octocode-code-engineer/.claude/settings.local.json +18 -0
  7. package/skills/octocode-code-engineer/.octocode/rfc/RFC-code-engineer-weakness-fixes.md +255 -0
  8. package/skills/octocode-code-engineer/.plan/VALIDATED_PLAN.md +223 -0
  9. package/skills/octocode-code-engineer/README.md +178 -0
  10. package/skills/octocode-code-engineer/SKILL.md +418 -0
  11. package/skills/octocode-code-engineer/coverage/architecture.ts.html +7828 -0
  12. package/skills/octocode-code-engineer/coverage/ast-helpers.ts.html +211 -0
  13. package/skills/octocode-code-engineer/coverage/ast-search.ts.html +1795 -0
  14. package/skills/octocode-code-engineer/coverage/base.css +224 -0
  15. package/skills/octocode-code-engineer/coverage/block-navigation.js +87 -0
  16. package/skills/octocode-code-engineer/coverage/cache.ts.html +376 -0
  17. package/skills/octocode-code-engineer/coverage/cli.ts.html +982 -0
  18. package/skills/octocode-code-engineer/coverage/clover.xml +3217 -0
  19. package/skills/octocode-code-engineer/coverage/collect-effects.ts.html +664 -0
  20. package/skills/octocode-code-engineer/coverage/collect-input-sources.ts.html +577 -0
  21. package/skills/octocode-code-engineer/coverage/collect-performance.ts.html +331 -0
  22. package/skills/octocode-code-engineer/coverage/collect-prototype-pollution.ts.html +421 -0
  23. package/skills/octocode-code-engineer/coverage/collect-security.ts.html +604 -0
  24. package/skills/octocode-code-engineer/coverage/collect-test-profile.ts.html +589 -0
  25. package/skills/octocode-code-engineer/coverage/coverage-final.json +30 -0
  26. package/skills/octocode-code-engineer/coverage/dependencies.ts.html +997 -0
  27. package/skills/octocode-code-engineer/coverage/dependency-summary.ts.html +688 -0
  28. package/skills/octocode-code-engineer/coverage/discovery.ts.html +322 -0
  29. package/skills/octocode-code-engineer/coverage/favicon.png +0 -0
  30. package/skills/octocode-code-engineer/coverage/graph-analytics.ts.html +1510 -0
  31. package/skills/octocode-code-engineer/coverage/index.html +536 -0
  32. package/skills/octocode-code-engineer/coverage/index.ts.html +826 -0
  33. package/skills/octocode-code-engineer/coverage/metrics.ts.html +553 -0
  34. package/skills/octocode-code-engineer/coverage/pipeline.ts.html +2044 -0
  35. package/skills/octocode-code-engineer/coverage/prettify.css +1 -0
  36. package/skills/octocode-code-engineer/coverage/prettify.js +2 -0
  37. package/skills/octocode-code-engineer/coverage/report-analysis.ts.html +1570 -0
  38. package/skills/octocode-code-engineer/coverage/report-writer.ts.html +1102 -0
  39. package/skills/octocode-code-engineer/coverage/security-detectors.ts.html +1747 -0
  40. package/skills/octocode-code-engineer/coverage/semantic-detectors.ts.html +2152 -0
  41. package/skills/octocode-code-engineer/coverage/semantic.ts.html +1897 -0
  42. package/skills/octocode-code-engineer/coverage/sort-arrow-sprite.png +0 -0
  43. package/skills/octocode-code-engineer/coverage/sorter.js +210 -0
  44. package/skills/octocode-code-engineer/coverage/summary-md.ts.html +1222 -0
  45. package/skills/octocode-code-engineer/coverage/test-quality-detectors.ts.html +1039 -0
  46. package/skills/octocode-code-engineer/coverage/tree-sitter-analyzer.ts.html +955 -0
  47. package/skills/octocode-code-engineer/coverage/ts-analyzer.ts.html +1213 -0
  48. package/skills/octocode-code-engineer/coverage/types.ts.html +2473 -0
  49. package/skills/octocode-code-engineer/coverage/utils.ts.html +820 -0
  50. package/skills/octocode-code-engineer/eslint.config.mjs +54 -0
  51. package/skills/octocode-code-engineer/minify-scripts.mjs +32 -0
  52. package/skills/octocode-code-engineer/package.json +54 -0
  53. package/skills/octocode-code-engineer/references/agent-ast-reading-rfc.md +95 -0
  54. package/skills/octocode-code-engineer/references/architecture-techniques.md +121 -0
  55. package/skills/octocode-code-engineer/references/ast-search.md +210 -0
  56. package/skills/octocode-code-engineer/references/ast-tree-search.md +151 -0
  57. package/skills/octocode-code-engineer/references/cli-reference.md +167 -0
  58. package/skills/octocode-code-engineer/references/concepts.md +107 -0
  59. package/skills/octocode-code-engineer/references/finding-categories.md +128 -0
  60. package/skills/octocode-code-engineer/references/improvement-roadmap.md +304 -0
  61. package/skills/octocode-code-engineer/references/output-files.md +144 -0
  62. package/skills/octocode-code-engineer/references/playbooks.md +204 -0
  63. package/skills/octocode-code-engineer/references/present-results.md +136 -0
  64. package/skills/octocode-code-engineer/references/tool-workflows.md +566 -0
  65. package/skills/octocode-code-engineer/references/validate-investigate.md +225 -0
  66. package/skills/octocode-code-engineer/scripts/analysis/dependencies.js +1 -0
  67. package/skills/octocode-code-engineer/scripts/analysis/dependency-summary.js +1 -0
  68. package/skills/octocode-code-engineer/scripts/analysis/discovery.js +1 -0
  69. package/skills/octocode-code-engineer/scripts/analysis/graph-analytics.js +1 -0
  70. package/skills/octocode-code-engineer/scripts/analysis/semantic.js +1 -0
  71. package/skills/octocode-code-engineer/scripts/ast/helpers.js +1 -0
  72. package/skills/octocode-code-engineer/scripts/ast/metrics.js +1 -0
  73. package/skills/octocode-code-engineer/scripts/ast/search.js +2 -0
  74. package/skills/octocode-code-engineer/scripts/ast/tree-search.js +2 -0
  75. package/skills/octocode-code-engineer/scripts/ast/tree-sitter.js +1 -0
  76. package/skills/octocode-code-engineer/scripts/ast/ts-analyzer.js +1 -0
  77. package/skills/octocode-code-engineer/scripts/collectors/chains.js +1 -0
  78. package/skills/octocode-code-engineer/scripts/collectors/effects.js +1 -0
  79. package/skills/octocode-code-engineer/scripts/collectors/input-sources.js +1 -0
  80. package/skills/octocode-code-engineer/scripts/collectors/performance.js +1 -0
  81. package/skills/octocode-code-engineer/scripts/collectors/prototype-pollution.js +1 -0
  82. package/skills/octocode-code-engineer/scripts/collectors/security.js +1 -0
  83. package/skills/octocode-code-engineer/scripts/collectors/test-profile.js +1 -0
  84. package/skills/octocode-code-engineer/scripts/common/is-direct-run.js +1 -0
  85. package/skills/octocode-code-engineer/scripts/common/utils.js +1 -0
  86. package/skills/octocode-code-engineer/scripts/detectors/code-quality.js +1 -0
  87. package/skills/octocode-code-engineer/scripts/detectors/cohesion.js +1 -0
  88. package/skills/octocode-code-engineer/scripts/detectors/coupling.js +1 -0
  89. package/skills/octocode-code-engineer/scripts/detectors/cycle.js +1 -0
  90. package/skills/octocode-code-engineer/scripts/detectors/dead-code.js +1 -0
  91. package/skills/octocode-code-engineer/scripts/detectors/import-style.js +1 -0
  92. package/skills/octocode-code-engineer/scripts/detectors/index.js +1 -0
  93. package/skills/octocode-code-engineer/scripts/detectors/security.js +1 -0
  94. package/skills/octocode-code-engineer/scripts/detectors/semantic.js +1 -0
  95. package/skills/octocode-code-engineer/scripts/detectors/shared.js +1 -0
  96. package/skills/octocode-code-engineer/scripts/detectors/test-quality.js +1 -0
  97. package/skills/octocode-code-engineer/scripts/index.js +1 -0
  98. package/skills/octocode-code-engineer/scripts/pipeline/cache.js +1 -0
  99. package/skills/octocode-code-engineer/scripts/pipeline/cli.js +1 -0
  100. package/skills/octocode-code-engineer/scripts/pipeline/main.js +2 -0
  101. package/skills/octocode-code-engineer/scripts/reporting/analysis.js +1 -0
  102. package/skills/octocode-code-engineer/scripts/reporting/summary-md.js +1 -0
  103. package/skills/octocode-code-engineer/scripts/reporting/writer.js +1 -0
  104. package/skills/octocode-code-engineer/scripts/types/constants.js +1 -0
  105. package/skills/octocode-code-engineer/scripts/types/index.js +1 -0
  106. package/skills/octocode-code-engineer/scripts/types/interfaces.js +1 -0
  107. package/skills/octocode-code-engineer/src/analysis/dependencies.test.ts +545 -0
  108. package/skills/octocode-code-engineer/src/analysis/dependencies.ts +406 -0
  109. package/skills/octocode-code-engineer/src/analysis/dependency-summary.test.ts +566 -0
  110. package/skills/octocode-code-engineer/src/analysis/dependency-summary.ts +257 -0
  111. package/skills/octocode-code-engineer/src/analysis/discovery.test.ts +420 -0
  112. package/skills/octocode-code-engineer/src/analysis/discovery.ts +87 -0
  113. package/skills/octocode-code-engineer/src/analysis/graph-analytics.test.ts +449 -0
  114. package/skills/octocode-code-engineer/src/analysis/graph-analytics.ts +534 -0
  115. package/skills/octocode-code-engineer/src/analysis/semantic.test.ts +1533 -0
  116. package/skills/octocode-code-engineer/src/analysis/semantic.ts +830 -0
  117. package/skills/octocode-code-engineer/src/ast/helpers.test.ts +185 -0
  118. package/skills/octocode-code-engineer/src/ast/helpers.ts +62 -0
  119. package/skills/octocode-code-engineer/src/ast/metrics.test.ts +304 -0
  120. package/skills/octocode-code-engineer/src/ast/metrics.ts +204 -0
  121. package/skills/octocode-code-engineer/src/ast/search.test.ts +647 -0
  122. package/skills/octocode-code-engineer/src/ast/search.ts +648 -0
  123. package/skills/octocode-code-engineer/src/ast/tree-search.test.ts +199 -0
  124. package/skills/octocode-code-engineer/src/ast/tree-search.ts +392 -0
  125. package/skills/octocode-code-engineer/src/ast/tree-sitter.test.ts +407 -0
  126. package/skills/octocode-code-engineer/src/ast/tree-sitter.ts +402 -0
  127. package/skills/octocode-code-engineer/src/ast/ts-analyzer.test.ts +1864 -0
  128. package/skills/octocode-code-engineer/src/ast/ts-analyzer.ts +509 -0
  129. package/skills/octocode-code-engineer/src/collectors/chains.ts +74 -0
  130. package/skills/octocode-code-engineer/src/collectors/effects.test.ts +490 -0
  131. package/skills/octocode-code-engineer/src/collectors/effects.ts +332 -0
  132. package/skills/octocode-code-engineer/src/collectors/input-sources.test.ts +144 -0
  133. package/skills/octocode-code-engineer/src/collectors/input-sources.ts +196 -0
  134. package/skills/octocode-code-engineer/src/collectors/performance.test.ts +82 -0
  135. package/skills/octocode-code-engineer/src/collectors/performance.ts +141 -0
  136. package/skills/octocode-code-engineer/src/collectors/prototype-pollution.test.ts +55 -0
  137. package/skills/octocode-code-engineer/src/collectors/prototype-pollution.ts +162 -0
  138. package/skills/octocode-code-engineer/src/collectors/security.test.ts +124 -0
  139. package/skills/octocode-code-engineer/src/collectors/security.ts +309 -0
  140. package/skills/octocode-code-engineer/src/collectors/test-profile.test.ts +97 -0
  141. package/skills/octocode-code-engineer/src/collectors/test-profile.ts +269 -0
  142. package/skills/octocode-code-engineer/src/common/is-direct-run.test.ts +32 -0
  143. package/skills/octocode-code-engineer/src/common/is-direct-run.ts +13 -0
  144. package/skills/octocode-code-engineer/src/common/utils.test.ts +463 -0
  145. package/skills/octocode-code-engineer/src/common/utils.ts +304 -0
  146. package/skills/octocode-code-engineer/src/detectors/code-quality.ts +966 -0
  147. package/skills/octocode-code-engineer/src/detectors/cohesion.ts +539 -0
  148. package/skills/octocode-code-engineer/src/detectors/coupling.ts +323 -0
  149. package/skills/octocode-code-engineer/src/detectors/cycle.ts +349 -0
  150. package/skills/octocode-code-engineer/src/detectors/dead-code.ts +320 -0
  151. package/skills/octocode-code-engineer/src/detectors/import-style.ts +376 -0
  152. package/skills/octocode-code-engineer/src/detectors/index.test.ts +3061 -0
  153. package/skills/octocode-code-engineer/src/detectors/index.ts +88 -0
  154. package/skills/octocode-code-engineer/src/detectors/security.test.ts +882 -0
  155. package/skills/octocode-code-engineer/src/detectors/security.ts +821 -0
  156. package/skills/octocode-code-engineer/src/detectors/semantic.ts +758 -0
  157. package/skills/octocode-code-engineer/src/detectors/shared.ts +49 -0
  158. package/skills/octocode-code-engineer/src/detectors/test-quality.test.ts +388 -0
  159. package/skills/octocode-code-engineer/src/detectors/test-quality.ts +367 -0
  160. package/skills/octocode-code-engineer/src/index.test.ts +4425 -0
  161. package/skills/octocode-code-engineer/src/index.ts +403 -0
  162. package/skills/octocode-code-engineer/src/pipeline/cache.test.ts +199 -0
  163. package/skills/octocode-code-engineer/src/pipeline/cache.ts +130 -0
  164. package/skills/octocode-code-engineer/src/pipeline/cli.test.ts +493 -0
  165. package/skills/octocode-code-engineer/src/pipeline/cli.ts +344 -0
  166. package/skills/octocode-code-engineer/src/pipeline/main.test.ts +174 -0
  167. package/skills/octocode-code-engineer/src/pipeline/main.ts +1074 -0
  168. package/skills/octocode-code-engineer/src/pipeline.test.ts +84 -0
  169. package/skills/octocode-code-engineer/src/reporting/analysis.test.ts +782 -0
  170. package/skills/octocode-code-engineer/src/reporting/analysis.ts +688 -0
  171. package/skills/octocode-code-engineer/src/reporting/output-contract.test.ts +463 -0
  172. package/skills/octocode-code-engineer/src/reporting/summary-md.test.ts +421 -0
  173. package/skills/octocode-code-engineer/src/reporting/summary-md.ts +714 -0
  174. package/skills/octocode-code-engineer/src/reporting/writer.ts +430 -0
  175. package/skills/octocode-code-engineer/src/sanity.test.ts +47 -0
  176. package/skills/octocode-code-engineer/src/types/constants.ts +248 -0
  177. package/skills/octocode-code-engineer/src/types/index.ts +80 -0
  178. package/skills/octocode-code-engineer/src/types/interfaces.ts +682 -0
  179. package/skills/octocode-code-engineer/tsconfig.json +17 -0
  180. package/skills/octocode-code-engineer/vitest.config.ts +8 -0
  181. package/skills/octocode-documentation-writer/README.md +113 -0
  182. package/skills/octocode-documentation-writer/SKILL.md +886 -0
  183. package/skills/octocode-documentation-writer/references/agent-discovery-analysis.md +453 -0
  184. package/skills/octocode-documentation-writer/references/agent-documentation-writer.md +255 -0
  185. package/skills/octocode-documentation-writer/references/agent-engineer-questions.md +247 -0
  186. package/skills/octocode-documentation-writer/references/agent-orchestrator.md +370 -0
  187. package/skills/octocode-documentation-writer/references/agent-qa-validator.md +227 -0
  188. package/skills/octocode-documentation-writer/references/agent-researcher.md +250 -0
  189. package/skills/octocode-documentation-writer/schemas/analysis-schema.json +886 -0
  190. package/skills/octocode-documentation-writer/schemas/discovery-tasks.json +96 -0
  191. package/skills/octocode-documentation-writer/schemas/documentation-structure.json +373 -0
  192. package/skills/octocode-documentation-writer/schemas/partial-discovery-schema.json +102 -0
  193. package/skills/octocode-documentation-writer/schemas/partial-research-schema.json +98 -0
  194. package/skills/octocode-documentation-writer/schemas/qa-results-schema.json +113 -0
  195. package/skills/octocode-documentation-writer/schemas/questions-schema.json +228 -0
  196. package/skills/octocode-documentation-writer/schemas/research-schema.json +104 -0
  197. package/skills/octocode-documentation-writer/schemas/state-schema.json +222 -0
  198. package/skills/octocode-documentation-writer/schemas/work-assignments-schema.json +74 -0
  199. package/skills/octocode-plan/SKILL.md +122 -116
  200. package/skills/octocode-prompt-optimizer/SKILL.md +617 -0
  201. package/skills/octocode-pull-request-reviewer/README.md +249 -0
  202. package/skills/octocode-pull-request-reviewer/SKILL.md +479 -0
  203. package/skills/octocode-pull-request-reviewer/references/dependency-check.md +74 -0
  204. package/skills/octocode-pull-request-reviewer/references/domain-reviewers.md +24 -0
  205. package/skills/octocode-pull-request-reviewer/references/execution-lifecycle.md +441 -0
  206. package/skills/octocode-pull-request-reviewer/references/flow-analysis-protocol.md +64 -0
  207. package/skills/octocode-pull-request-reviewer/references/output-template.md +174 -0
  208. package/skills/octocode-pull-request-reviewer/references/parallel-agent-protocol.md +182 -0
  209. package/skills/octocode-pull-request-reviewer/references/review-guidelines.md +26 -0
  210. package/skills/octocode-pull-request-reviewer/references/verification-checklist.md +40 -0
  211. package/skills/octocode-research/.claude/settings.local.json +46 -0
  212. package/skills/octocode-research/.octocode/plan/code-review-fixes/plan.md +312 -0
  213. package/skills/octocode-research/.octocode/plan/code-review-fixes/research.md +212 -0
  214. package/skills/octocode-research/.octocode/plans/NODE_SERVER_START_PLAN.md +755 -0
  215. package/skills/octocode-research/.octocode/research/code-review/research.md +371 -0
  216. package/skills/octocode-research/.octocode/review/IMPROVEMENTS.md +391 -0
  217. package/skills/octocode-research/.octocode/review/REVIEW_PLAN.md +289 -0
  218. package/skills/octocode-research/.octocode/review/REVIEW_REPORT.md +356 -0
  219. package/skills/octocode-research/AGENTS.md +349 -0
  220. package/skills/octocode-research/README.md +494 -0
  221. package/skills/octocode-research/SKILL.md +652 -274
  222. package/skills/octocode-research/docs/API_REFERENCE.md +562 -0
  223. package/skills/octocode-research/docs/ARCHITECTURE.md +554 -0
  224. package/skills/octocode-research/docs/FLOWS.md +577 -0
  225. package/skills/octocode-research/docs/OVERVIEW.md +564 -0
  226. package/skills/octocode-research/docs/SERVER_FLOWS.md +631 -0
  227. package/skills/octocode-research/ecosystem.config.cjs +88 -0
  228. package/skills/octocode-research/eslint.config.mjs +27 -0
  229. package/skills/octocode-research/package.json +84 -0
  230. package/skills/octocode-research/references/GUARDRAILS.md +40 -0
  231. package/skills/octocode-research/references/PARALLEL_AGENT_PROTOCOL.md +178 -0
  232. package/skills/octocode-research/references/roast-prompt.md +149 -0
  233. package/skills/octocode-research/scripts/server-init.d.ts +2 -0
  234. package/skills/octocode-research/scripts/server-init.js +2 -0
  235. package/skills/octocode-research/scripts/server.d.ts +8 -0
  236. package/skills/octocode-research/scripts/server.js +445 -0
  237. package/skills/octocode-research/src/__tests__/integration/circuitBreaker.test.ts +205 -0
  238. package/skills/octocode-research/src/__tests__/integration/routes.test.ts +374 -0
  239. package/skills/octocode-research/src/__tests__/unit/circuitBreaker.test.ts +245 -0
  240. package/skills/octocode-research/src/__tests__/unit/errorHandler.test.ts +183 -0
  241. package/skills/octocode-research/src/__tests__/unit/httpPreprocess.test.ts +157 -0
  242. package/skills/octocode-research/src/__tests__/unit/logger.test.ts +143 -0
  243. package/skills/octocode-research/src/__tests__/unit/queryParser.test.ts +130 -0
  244. package/skills/octocode-research/src/__tests__/unit/responseBuilder.test.ts +469 -0
  245. package/skills/octocode-research/src/__tests__/unit/retry.test.ts +205 -0
  246. package/skills/octocode-research/src/index.ts +186 -0
  247. package/skills/octocode-research/src/mcpCache.ts +49 -0
  248. package/skills/octocode-research/src/middleware/errorHandler.ts +65 -0
  249. package/skills/octocode-research/src/middleware/logger.ts +61 -0
  250. package/skills/octocode-research/src/middleware/queryParser.ts +115 -0
  251. package/skills/octocode-research/src/middleware/readiness.ts +17 -0
  252. package/skills/octocode-research/src/routes/github.ts +197 -0
  253. package/skills/octocode-research/src/routes/local.ts +175 -0
  254. package/skills/octocode-research/src/routes/lsp.ts +177 -0
  255. package/skills/octocode-research/src/routes/package.ts +127 -0
  256. package/skills/octocode-research/src/routes/prompts.ts +138 -0
  257. package/skills/octocode-research/src/routes/tools.ts +677 -0
  258. package/skills/octocode-research/src/server-init.ts +363 -0
  259. package/skills/octocode-research/src/server.ts +285 -0
  260. package/skills/octocode-research/src/types/errorGuards.ts +151 -0
  261. package/skills/octocode-research/src/types/express.d.ts +76 -0
  262. package/skills/octocode-research/src/types/guards.ts +98 -0
  263. package/skills/octocode-research/src/types/mcp.ts +119 -0
  264. package/skills/octocode-research/src/types/responses.ts +199 -0
  265. package/skills/octocode-research/src/types/toolTypes.ts +33 -0
  266. package/skills/octocode-research/src/utils/asyncTimeout.ts +116 -0
  267. package/skills/octocode-research/src/utils/circuitBreaker.ts +492 -0
  268. package/skills/octocode-research/src/utils/colors.ts +53 -0
  269. package/skills/octocode-research/src/utils/errorQueue.ts +71 -0
  270. package/skills/octocode-research/src/utils/logEmoji.ts +103 -0
  271. package/skills/octocode-research/src/utils/logger.ts +413 -0
  272. package/skills/octocode-research/src/utils/resilience.ts +169 -0
  273. package/skills/octocode-research/src/utils/responseBuilder.ts +495 -0
  274. package/skills/octocode-research/src/utils/responseFactory.ts +100 -0
  275. package/skills/octocode-research/src/utils/responseParser.ts +272 -0
  276. package/skills/octocode-research/src/utils/retry.ts +280 -0
  277. package/skills/octocode-research/src/utils/routeFactory.ts +117 -0
  278. package/skills/octocode-research/src/utils/url.ts +20 -0
  279. package/skills/octocode-research/src/validation/httpPreprocess.ts +155 -0
  280. package/skills/octocode-research/src/validation/index.ts +2 -0
  281. package/skills/octocode-research/src/validation/schemas.ts +578 -0
  282. package/skills/octocode-research/src/validation/toolCallSchema.ts +132 -0
  283. package/skills/octocode-research/tsconfig.json +21 -0
  284. package/skills/octocode-research/tsdown.config.ts +42 -0
  285. package/skills/octocode-research/vitest.config.ts +20 -0
  286. package/skills/octocode-researcher/SKILL.md +461 -0
  287. package/skills/octocode-researcher/references/fallbacks.md +120 -0
  288. package/skills/{octocode-local-search → octocode-researcher}/references/tool-reference.md +132 -49
  289. package/skills/{octocode-local-search → octocode-researcher}/references/workflow-patterns.md +204 -4
  290. package/skills/octocode-rfc-generator/SKILL.md +223 -0
  291. package/skills/octocode-rfc-generator/references/rfc-template.md +193 -0
  292. package/skills/octocode-roast/SKILL.md +63 -21
  293. package/skills/octocode-implement/SKILL.md +0 -293
  294. package/skills/octocode-implement/references/execution-phases.md +0 -317
  295. package/skills/octocode-implement/references/tool-reference.md +0 -403
  296. package/skills/octocode-implement/references/workflow-patterns.md +0 -385
  297. package/skills/octocode-local-search/SKILL.md +0 -449
  298. package/skills/octocode-pr-review/SKILL.md +0 -391
  299. package/skills/octocode-pr-review/references/domain-reviewers.md +0 -105
  300. package/skills/octocode-pr-review/references/execution-lifecycle.md +0 -116
  301. package/skills/octocode-pr-review/references/research-flows.md +0 -75
  302. package/skills/octocode-research/references/tool-reference.md +0 -304
  303. package/skills/octocode-research/references/workflow-patterns.md +0 -325
@@ -0,0 +1,391 @@
1
+ # Octocode Research Skill - Improvements
2
+
3
+ > **Generated from**: Code Review (2026-01-16)
4
+ > **Status**: Proposed
5
+ > **Priority Scale**: P0 (Critical) → P1 (High) → P2 (Medium) → P3 (Low)
6
+
7
+ ---
8
+
9
+ ## Summary
10
+
11
+ This document outlines actionable improvements identified during the code review. Items are organized by priority and include implementation guidance.
12
+
13
+ ---
14
+
15
+ ## P0 - Critical
16
+
17
+ ### 1. Add Unit Tests for Utility Functions
18
+
19
+ **Status**: Not Started
20
+ **Effort**: Medium (2-3 days)
21
+ **Risk if unaddressed**: Breaking changes go undetected, regression risk
22
+
23
+ #### Files Needing Tests
24
+
25
+ | File | Lines | Priority | Test Focus |
26
+ |------|-------|----------|------------|
27
+ | `responseBuilder.ts` | 497 | **Critical** | 7 formatters, pagination, empty states |
28
+ | `retry.ts` | 261 | **Critical** | Backoff calculation, error detection |
29
+ | `logger.ts` | 298 | **High** | File rotation, fallback, cross-platform |
30
+ | `resilience.ts` | 114 | **High** | Circuit breaker + retry integration |
31
+ | `routeFactory.ts` | 113 | **Medium** | Factory pattern, validation pipeline |
32
+ | `responseParser.ts` | 152 | **Medium** | YAML parsing, hints extraction |
33
+
34
+ #### Implementation Plan
35
+
36
+ 1. Create `src/__tests__/unit/` directory
37
+ 2. Add tests for `responseBuilder.ts`:
38
+ ```typescript
39
+ // responseBuilder.test.ts
40
+ describe('ResearchResponse', () => {
41
+ describe('searchResults', () => {
42
+ it('formats files with match counts')
43
+ it('handles empty results')
44
+ it('adds pagination hints when hasMore')
45
+ it('truncates file list at 10 files')
46
+ })
47
+ describe('fileContent', () => {
48
+ it('formats content with code fence')
49
+ it('detects language from extension')
50
+ it('includes line range info')
51
+ })
52
+ // ... other formatters
53
+ })
54
+ ```
55
+
56
+ 3. Add tests for `retry.ts`:
57
+ ```typescript
58
+ // retry.test.ts
59
+ describe('withRetry', () => {
60
+ it('returns immediately on success')
61
+ it('retries on retryable error')
62
+ it('throws on non-retryable error')
63
+ it('applies exponential backoff')
64
+ it('caps delay at maxDelayMs')
65
+ })
66
+ describe('error detection', () => {
67
+ it('isRateLimited detects 429 status')
68
+ it('isTimeout detects ETIMEDOUT')
69
+ // ... other error types
70
+ })
71
+ ```
72
+
73
+ 4. Update `vitest.config.ts` with coverage thresholds:
74
+ ```typescript
75
+ coverage: {
76
+ thresholds: {
77
+ statements: 70,
78
+ branches: 60,
79
+ functions: 70,
80
+ lines: 70,
81
+ }
82
+ }
83
+ ```
84
+
85
+ ---
86
+
87
+ ## P1 - High Priority
88
+
89
+ ### 2. Sanitize Query Parameters in Error Logs
90
+
91
+ **Status**: Not Started
92
+ **Effort**: Small (1-2 hours)
93
+ **Risk if unaddressed**: Sensitive data exposure in logs
94
+
95
+ **File**: `src/middleware/errorHandler.ts:21-26`
96
+
97
+ **Current Code**:
98
+ ```typescript
99
+ logWarn(`[VALIDATION] ${req.method} ${req.path}: ${error.message}`, {
100
+ path: req.path,
101
+ query: req.query, // Full query params logged
102
+ details: error.details,
103
+ });
104
+ ```
105
+
106
+ **Proposed Fix**:
107
+ ```typescript
108
+ const sanitizedQuery = sanitizeQueryParams(req.query);
109
+ logWarn(`[VALIDATION] ${req.method} ${req.path}: ${error.message}`, {
110
+ path: req.path,
111
+ query: sanitizedQuery,
112
+ details: error.details,
113
+ });
114
+
115
+ // Add to utils/logger.ts or separate file
116
+ function sanitizeQueryParams(query: Record<string, unknown>): Record<string, unknown> {
117
+ const sensitiveKeys = ['token', 'key', 'secret', 'password', 'auth', 'credential'];
118
+ const sanitized: Record<string, unknown> = {};
119
+
120
+ for (const [key, value] of Object.entries(query)) {
121
+ const isaSensitive = sensitiveKeys.some(s => key.toLowerCase().includes(s));
122
+ sanitized[key] = isSensitive ? '[REDACTED]' : value;
123
+ }
124
+
125
+ return sanitized;
126
+ }
127
+ ```
128
+
129
+ ---
130
+
131
+ ### 3. Update ARCHITECTURE.md Documentation
132
+
133
+ **Status**: Not Started
134
+ **Effort**: Small (1 hour)
135
+ **Risk if unaddressed**: Developer confusion, onboarding friction
136
+
137
+ **Issues**:
138
+
139
+ 1. **Endpoint table uses wrong paths**:
140
+ - Document: `/local/search`, `/lsp/definition`, `/github/search`
141
+ - Actual: `/localSearchCode`, `/lspGotoDefinition`, `/githubSearchCode`
142
+
143
+ 2. **Directory structure incomplete**:
144
+ - Missing: `routes/tools.ts`, `routes/prompts.ts`
145
+ - Lists non-existent: `rateLimitHandler.ts`
146
+
147
+ 3. **Data flow diagram outdated**:
148
+ - References old route paths
149
+
150
+ **Action**: Update all endpoint references to match actual routes in `server.ts`.
151
+
152
+ ---
153
+
154
+ ### 4. Remove Dead Code in Context Propagation
155
+
156
+ **Status**: Not Started
157
+ **Effort**: Small (30 minutes)
158
+ **Risk if unaddressed**: Code confusion, maintenance burden
159
+
160
+ **File**: `src/middleware/contextPropagation.ts`
161
+
162
+ **Current State**:
163
+ - `ResearchContext` interface defined but never used
164
+ - Cleanup interval logs but doesn't clean anything
165
+ - No actual context tracking implemented
166
+
167
+ **Options**:
168
+
169
+ A. **Remove entirely** (if not planned):
170
+ - Delete `contextPropagation.ts`
171
+ - Remove import from `server.ts`
172
+ - Keep `stopContextCleanup` as no-op for shutdown compatibility
173
+
174
+ B. **Implement properly** (if needed):
175
+ - Add actual context storage (Map with session ID)
176
+ - Implement cleanup logic (remove stale sessions)
177
+ - Wire up to routes for session tracking
178
+
179
+ **Recommendation**: Option A - Remove unless there's a planned use case.
180
+
181
+ ---
182
+
183
+ ## P2 - Medium Priority
184
+
185
+ ### 5. Add Coverage Thresholds to Vitest Config
186
+
187
+ **Status**: Not Started
188
+ **Effort**: Small (15 minutes)
189
+
190
+ **File**: `vitest.config.ts`
191
+
192
+ **Current**:
193
+ ```typescript
194
+ coverage: {
195
+ provider: 'v8',
196
+ reporter: ['text', 'html'],
197
+ include: ['src/**/*.ts'],
198
+ exclude: ['src/__tests__/**', 'src/types/**'],
199
+ }
200
+ ```
201
+
202
+ **Proposed**:
203
+ ```typescript
204
+ coverage: {
205
+ provider: 'v8',
206
+ reporter: ['text', 'html', 'lcov'],
207
+ include: ['src/**/*.ts'],
208
+ exclude: ['src/__tests__/**', 'src/types/**'],
209
+ thresholds: {
210
+ statements: 70,
211
+ branches: 60,
212
+ functions: 70,
213
+ lines: 70,
214
+ }
215
+ }
216
+ ```
217
+
218
+ ---
219
+
220
+ ### 6. Document Symlink Security Consideration
221
+
222
+ **Status**: Not Started
223
+ **Effort**: Small (15 minutes)
224
+
225
+ **File**: `SKILL.md` or `docs/SECURITY.md`
226
+
227
+ **Issue**: The `followSymlinks` option in local routes could allow traversal outside intended directories via symlinks.
228
+
229
+ **Proposed Documentation**:
230
+ ```markdown
231
+ ### Symlink Handling
232
+
233
+ The `followSymlinks` option (default: `false`) controls whether symbolic links
234
+ are followed during file operations.
235
+
236
+ **Security Note**: When enabled, symlinks could point to files outside the
237
+ intended search directory. Only enable this option when:
238
+ - You control the directory structure
239
+ - Symlinks are intentional and trusted
240
+ - The server is not exposed to untrusted users
241
+ ```
242
+
243
+ ---
244
+
245
+ ### 7. Improve Error Type Detection in Retry Logic
246
+
247
+ **Status**: Not Started
248
+ **Effort**: Small (1 hour)
249
+
250
+ **File**: `src/utils/retry.ts`
251
+
252
+ **Current Issue**: Error detection relies on string matching which is fragile.
253
+
254
+ **Example**:
255
+ ```typescript
256
+ function isLspNotReady(err: unknown): boolean {
257
+ const error = err as { message?: string; code?: string };
258
+ return (
259
+ error?.message?.includes('not initialized') || // Fragile
260
+ error?.message?.includes('server not started') ||
261
+ error?.message?.includes('LSP') || // Too broad
262
+ error?.code === 'LSP_NOT_READY' ||
263
+ false
264
+ );
265
+ }
266
+ ```
267
+
268
+ **Proposed Improvement**:
269
+ ```typescript
270
+ // Define error codes as constants
271
+ const LSP_ERROR_CODES = ['LSP_NOT_READY', 'LSP_NOT_INITIALIZED', 'ECONNREFUSED'] as const;
272
+ const LSP_ERROR_PATTERNS = [/not initialized/i, /server not started/i] as const;
273
+
274
+ function isLspNotReady(err: unknown): boolean {
275
+ const error = err as { message?: string; code?: string };
276
+
277
+ // Check error codes first (more reliable)
278
+ if (error?.code && LSP_ERROR_CODES.includes(error.code as any)) {
279
+ return true;
280
+ }
281
+
282
+ // Fall back to message patterns
283
+ if (error?.message) {
284
+ return LSP_ERROR_PATTERNS.some(pattern => pattern.test(error.message!));
285
+ }
286
+
287
+ return false;
288
+ }
289
+ ```
290
+
291
+ ---
292
+
293
+ ## P3 - Low Priority
294
+
295
+ ### 8. Add Request ID for Log Correlation
296
+
297
+ **Status**: Not Started
298
+ **Effort**: Small (1-2 hours)
299
+
300
+ Add request ID header support for correlating logs across requests.
301
+
302
+ **Implementation**:
303
+ ```typescript
304
+ // middleware/requestId.ts
305
+ import { randomUUID } from 'crypto';
306
+
307
+ export function requestIdMiddleware(req: Request, res: Response, next: NextFunction) {
308
+ req.id = req.headers['x-request-id'] as string || randomUUID();
309
+ res.setHeader('x-request-id', req.id);
310
+ next();
311
+ }
312
+
313
+ // Update logger to include request ID
314
+ function logToolCall(entry: ToolLogEntry & { requestId?: string }) {
315
+ // ...
316
+ }
317
+ ```
318
+
319
+ ---
320
+
321
+ ### 9. Add Health Check Details
322
+
323
+ **Status**: Not Started
324
+ **Effort**: Small (30 minutes)
325
+
326
+ Enhance `/health` endpoint with more diagnostic info.
327
+
328
+ **Current**:
329
+ ```typescript
330
+ res.json({ status: 'ok', port: PORT, version: '2.0.0' });
331
+ ```
332
+
333
+ **Proposed**:
334
+ ```typescript
335
+ res.json({
336
+ status: 'ok',
337
+ port: PORT,
338
+ version: '2.0.0',
339
+ uptime: process.uptime(),
340
+ memory: process.memoryUsage(),
341
+ circuits: {
342
+ lsp: getCircuitState('lsp'),
343
+ github: getCircuitState('github'),
344
+ }
345
+ });
346
+ ```
347
+
348
+ ---
349
+
350
+ ### 10. Consider Rate Limiting
351
+
352
+ **Status**: Not Started
353
+ **Effort**: Medium (2-4 hours)
354
+
355
+ Add basic rate limiting to prevent abuse if server is exposed.
356
+
357
+ **Options**:
358
+ - `express-rate-limit` package
359
+ - Custom middleware using circuit breaker pattern
360
+
361
+ **Note**: Only needed if server will be exposed beyond localhost.
362
+
363
+ ---
364
+
365
+ ## Implementation Tracking
366
+
367
+ | # | Item | Priority | Status | Assignee |
368
+ |---|------|----------|--------|----------|
369
+ | 1 | Unit tests for utilities | P0 | Not Started | - |
370
+ | 2 | Sanitize query params in logs | P1 | Not Started | - |
371
+ | 3 | Update ARCHITECTURE.md | P1 | Not Started | - |
372
+ | 4 | Remove dead code | P1 | Not Started | - |
373
+ | 5 | Coverage thresholds | P2 | Not Started | - |
374
+ | 6 | Document symlink security | P2 | Not Started | - |
375
+ | 7 | Improve error detection | P2 | Not Started | - |
376
+ | 8 | Request ID correlation | P3 | Not Started | - |
377
+ | 9 | Health check details | P3 | Not Started | - |
378
+ | 10 | Rate limiting | P3 | Not Started | - |
379
+
380
+ ---
381
+
382
+ ## Quick Wins (< 1 hour each)
383
+
384
+ 1. Add coverage thresholds to vitest.config.ts
385
+ 2. Document symlink security
386
+ 3. Remove dead code in contextPropagation.ts
387
+ 4. Update endpoint references in ARCHITECTURE.md
388
+
389
+ ---
390
+
391
+ *Last updated: 2026-01-16*
@@ -0,0 +1,289 @@
1
+ # Octocode Research Skill - Code Review Plan
2
+
3
+ > **Target**: `/Users/guybary/octocode-mcp/skills/octocode-research`
4
+ > **Version**: 2.0.0
5
+ > **Type**: Express.js HTTP Server wrapping `octocode-mcp` tools
6
+
7
+ ---
8
+
9
+ ## 📋 Executive Summary
10
+
11
+ **Project Purpose**: HTTP API server (port 1987) providing code research capabilities via REST endpoints that wrap `octocode-mcp` tool functions.
12
+
13
+ **Tech Stack**:
14
+ - Express.js 4.x (HTTP server)
15
+ - TypeScript 5.x (strict mode)
16
+ - Zod 3.x (validation)
17
+ - Vitest (testing)
18
+ - octocode-mcp (core dependency)
19
+
20
+ **File Stats**:
21
+ - Source files: ~31 TypeScript files
22
+ - Test files: 2 integration tests
23
+ - Documentation: 4 markdown files
24
+
25
+ ---
26
+
27
+ ## 🔍 Review Areas
28
+
29
+ ### 1. Core Architecture Review
30
+
31
+ | File | Purpose | Review Focus |
32
+ |------|---------|--------------|
33
+ | `src/server.ts` | Express app setup, route mounting, graceful shutdown | Error handling, middleware order, shutdown logic |
34
+ | `src/index.ts` | Re-exports from octocode-mcp | Export completeness, naming consistency |
35
+ | `src/mcpCache.ts` | MCP response caching | Cache invalidation, memory management |
36
+
37
+ **Key Questions**:
38
+ - [ ] Is the middleware pipeline order optimal?
39
+ - [ ] Does graceful shutdown handle all edge cases?
40
+ - [ ] Is error propagation consistent across routes?
41
+
42
+ ---
43
+
44
+ ### 2. Routes Review
45
+
46
+ | Route File | Endpoints | Review Focus |
47
+ |------------|-----------|--------------|
48
+ | `src/routes/local.ts` | `/local/search`, `/local/content`, `/local/find`, `/local/structure` | Path validation, file access security |
49
+ | `src/routes/lsp.ts` | `/lsp/definition`, `/lsp/references`, `/lsp/calls` | LSP error handling, timeout management |
50
+ | `src/routes/github.ts` | `/github/search`, `/github/content`, `/github/repos`, `/github/structure`, `/github/prs` | Rate limiting, auth token handling |
51
+ | `src/routes/package.ts` | `/package/search` | Registry API resilience |
52
+ | `src/routes/tools.ts` | `/tools/list`, `/tools/info/:name`, `/tools/call/:toolName`, `/tools/system` | Schema validation, tool discovery |
53
+ | `src/routes/prompts.ts` | `/prompts/list`, `/prompts/info/:name` | Prompt loading, caching |
54
+
55
+ **Key Questions**:
56
+ - [ ] Are all routes properly validating input?
57
+ - [ ] Is error handling consistent across route groups?
58
+ - [ ] Are async operations properly awaited?
59
+ - [ ] Is response format consistent (status, data, hints)?
60
+
61
+ ---
62
+
63
+ ### 3. Middleware Review
64
+
65
+ | Middleware | Purpose | Review Focus |
66
+ |------------|---------|--------------|
67
+ | `contextPropagation.ts` | Research session context | Context lifecycle, memory leaks |
68
+ | `errorHandler.ts` | Error response formatting | Error types coverage, stack trace handling |
69
+ | `logger.ts` | Request/response logging | Log format, sensitive data masking |
70
+ | `queryParser.ts` | Zod validation | Schema completeness, coercion safety |
71
+
72
+ **Key Questions**:
73
+ - [ ] Does context propagation handle concurrent requests?
74
+ - [ ] Are all error types properly mapped to HTTP status codes?
75
+ - [ ] Is sensitive data (tokens, paths) masked in logs?
76
+ - [ ] Does query parser handle edge cases (empty, malformed)?
77
+
78
+ ---
79
+
80
+ ### 4. Validation Review
81
+
82
+ | File | Content | Review Focus |
83
+ |------|---------|--------------|
84
+ | `src/validation/schemas.ts` | Zod schemas for all endpoints | Schema completeness, constraint accuracy |
85
+ | `src/validation/index.ts` | Schema exports | Export organization |
86
+
87
+ **Key Questions**:
88
+ - [ ] Do schemas match actual tool requirements?
89
+ - [ ] Are optional vs required fields correct?
90
+ - [ ] Are numeric constraints (min/max) appropriate?
91
+ - [ ] Are string patterns (paths, patterns) validated?
92
+
93
+ ---
94
+
95
+ ### 5. Utilities Review
96
+
97
+ | Utility | Purpose | Review Focus |
98
+ |---------|---------|--------------|
99
+ | `responseBuilder.ts` (14.7KB) | Role-based response formatting | **Largest file** - complexity, maintainability |
100
+ | `circuitBreaker.ts` (7.2KB) | Circuit breaker pattern | State management, timeout handling |
101
+ | `retry.ts` (6.3KB) | Retry with backoff | Backoff strategy, max attempts |
102
+ | `responseParser.ts` | MCP response parsing | Error handling, type safety |
103
+ | `responseFactory.ts` | Response creation helpers | Consistency, reusability |
104
+ | `resilience.ts` | Resilience utilities | Integration with retry/circuit breaker |
105
+ | `routeFactory.ts` | Route creation helpers | DRY principles, pattern consistency |
106
+ | `logger.ts` (7.8KB) | File-based logging | File rotation, performance |
107
+ | `colors.ts` | Console color functions | Terminal compatibility |
108
+
109
+ **Key Questions**:
110
+ - [ ] Is `responseBuilder.ts` over-engineered? Can it be simplified?
111
+ - [ ] Are circuit breaker thresholds appropriate?
112
+ - [ ] Is retry logic preventing infinite loops?
113
+ - [ ] Is file logging performant under load?
114
+
115
+ ---
116
+
117
+ ### 6. Types Review
118
+
119
+ | File | Content | Review Focus |
120
+ |------|---------|--------------|
121
+ | `types/express.d.ts` | Express type extensions | Type completeness |
122
+ | `types/guards.ts` | Type guard functions | Guard correctness, exhaustiveness |
123
+ | `types/mcp.ts` | MCP protocol types | Alignment with octocode-mcp |
124
+ | `types/responses.ts` | Response types | Consistency with actual responses |
125
+ | `types/toolTypes.ts` | Tool parameter types | Alignment with schemas |
126
+
127
+ **Key Questions**:
128
+ - [ ] Are type guards exhaustive?
129
+ - [ ] Do types match runtime behavior?
130
+ - [ ] Are MCP types in sync with octocode-mcp?
131
+
132
+ ---
133
+
134
+ ### 7. Testing Review
135
+
136
+ | Test File | Coverage | Review Focus |
137
+ |-----------|----------|--------------|
138
+ | `__tests__/integration/routes.test.ts` (12.3KB) | Route integration tests | Coverage completeness, edge cases |
139
+ | `__tests__/integration/circuitBreaker.test.ts` (6.1KB) | Circuit breaker tests | State transitions, timing |
140
+
141
+ **Key Questions**:
142
+ - [ ] Are all routes covered by tests?
143
+ - [ ] Are error scenarios tested?
144
+ - [ ] Are edge cases (empty inputs, timeouts) covered?
145
+ - [ ] Is test isolation maintained?
146
+
147
+ **Gaps Identified**:
148
+ - ⚠️ No unit tests for individual utilities
149
+ - ⚠️ No unit tests for middleware
150
+ - ⚠️ Only 2 integration test files
151
+
152
+ ---
153
+
154
+ ### 8. Documentation Review
155
+
156
+ | Document | Purpose | Review Focus |
157
+ |----------|---------|--------------|
158
+ | `SKILL.md` | Agent usage guide | Accuracy, completeness |
159
+ | `AGENTS.md` | Development guide | Developer onboarding |
160
+ | `docs/ARCHITECTURE.md` | System design | Accuracy, diagrams |
161
+ | `docs/IMPROVEMENTS.md` | Future work | Prioritization |
162
+ | `docs/BUG_RESPONSE_FORMAT.md` | Bug tracking | Template completeness |
163
+ | `docs/DESIGN_NODE_SERVER_MANAGEMENT.md` | Design decisions | Implementation alignment |
164
+
165
+ **Key Questions**:
166
+ - [ ] Does SKILL.md match actual API behavior?
167
+ - [ ] Is AGENTS.md up-to-date with current structure?
168
+ - [ ] Are architectural diagrams accurate?
169
+
170
+ ---
171
+
172
+ ### 9. Scripts Review
173
+
174
+ | Script | Purpose | Review Focus |
175
+ |--------|---------|--------------|
176
+ | `scripts/server.ts` | Server management | Start/stop reliability |
177
+ | `scripts/init.ts` | Initialization | Idempotency |
178
+ | `scripts/discover.ts` | Tool discovery | MCP integration |
179
+ | `scripts/call.ts` | Tool calling | Error handling |
180
+ | `scripts/prompt.ts` | Prompt fetching | Caching |
181
+ | `scripts/getToolsInfo.ts` | Tool info extraction | Schema accuracy |
182
+ | `scripts/common.ts` | Shared utilities | Reusability |
183
+
184
+ **Key Questions**:
185
+ - [ ] Does `install.sh` handle all edge cases?
186
+ - [ ] Is server start/stop idempotent?
187
+ - [ ] Do scripts have proper error messages?
188
+
189
+ ---
190
+
191
+ ### 10. Security Review
192
+
193
+ **Critical Areas**:
194
+ | Area | Risk | Check |
195
+ |------|------|-------|
196
+ | Path Validation | Path traversal | Validate paths in local routes |
197
+ | Token Handling | Token exposure | Check log masking |
198
+ | Error Messages | Info leakage | Review error detail level |
199
+ | Input Validation | Injection | Review Zod schemas for completeness |
200
+
201
+ **Key Questions**:
202
+ - [ ] Are file paths sanitized before access?
203
+ - [ ] Are GitHub tokens masked in logs/responses?
204
+ - [ ] Do error messages avoid leaking sensitive info?
205
+ - [ ] Is there rate limiting on the server?
206
+
207
+ ---
208
+
209
+ ## 📊 Review Checklist
210
+
211
+ ### Priority 1 (Critical)
212
+ - [ ] Security: Path validation in local routes
213
+ - [ ] Security: Token handling in GitHub routes
214
+ - [ ] Error Handling: Consistent error responses
215
+ - [ ] Validation: Schema completeness
216
+
217
+ ### Priority 2 (Important)
218
+ - [ ] Testing: Increase coverage (unit tests for utils)
219
+ - [ ] Resilience: Circuit breaker configuration
220
+ - [ ] Performance: Response builder complexity
221
+ - [ ] Logging: Sensitive data masking
222
+
223
+ ### Priority 3 (Nice to Have)
224
+ - [ ] Documentation: Update ARCHITECTURE.md diagrams
225
+ - [ ] Code Style: Reduce responseBuilder.ts complexity
226
+ - [ ] Scripts: Improve error messages
227
+
228
+ ---
229
+
230
+ ## 🏗️ Suggested Review Order
231
+
232
+ 1. **Security First**: `routes/local.ts`, `routes/github.ts` - path & token handling
233
+ 2. **Core Flow**: `server.ts` → `middleware/*` → `routes/*`
234
+ 3. **Validation**: `validation/schemas.ts` - ensure completeness
235
+ 4. **Utilities**: `responseBuilder.ts` - complexity analysis
236
+ 5. **Tests**: Review coverage, identify gaps
237
+ 6. **Documentation**: Verify accuracy
238
+
239
+ ---
240
+
241
+ ## 📁 Files by Complexity
242
+
243
+ ### High Complexity (> 10KB)
244
+ | File | Size | Priority |
245
+ |------|------|----------|
246
+ | `src/validation/schemas.ts` | 19.4KB | P1 - Validation completeness |
247
+ | `src/utils/responseBuilder.ts` | 14.7KB | P2 - Refactoring candidate |
248
+ | `src/routes/tools.ts` | 11.8KB | P1 - Tool discovery |
249
+
250
+ ### Medium Complexity (5-10KB)
251
+ | File | Size | Priority |
252
+ |------|------|----------|
253
+ | `src/utils/logger.ts` | 7.8KB | P2 |
254
+ | `src/utils/circuitBreaker.ts` | 7.2KB | P2 |
255
+ | `src/routes/github.ts` | 7.0KB | P1 |
256
+ | `src/routes/local.ts` | 6.2KB | P1 |
257
+ | `src/utils/retry.ts` | 6.3KB | P2 |
258
+ | `src/routes/lsp.ts` | 5.8KB | P2 |
259
+ | `src/server.ts` | 5.5KB | P1 |
260
+
261
+ ### Low Complexity (< 5KB)
262
+ All remaining files - standard review
263
+
264
+ ---
265
+
266
+ ## 🎯 Expected Outcomes
267
+
268
+ 1. **Security Report**: Path validation and token handling findings
269
+ 2. **Test Coverage Report**: Current coverage + gaps
270
+ 3. **Code Quality Report**: Complexity, maintainability scores
271
+ 4. **Documentation Audit**: Accuracy checklist
272
+ 5. **Recommendations**: Prioritized action items
273
+
274
+ ---
275
+
276
+ ## 📅 Estimated Review Time
277
+
278
+ | Phase | Time | Description |
279
+ |-------|------|-------------|
280
+ | Security Review | 2-3 hours | Routes, middleware, validation |
281
+ | Core Review | 3-4 hours | Server, routes, middleware |
282
+ | Utilities Review | 2-3 hours | Response builder, circuit breaker |
283
+ | Testing Review | 1-2 hours | Coverage analysis |
284
+ | Documentation | 1 hour | Accuracy verification |
285
+ | **Total** | **9-13 hours** | Full comprehensive review |
286
+
287
+ ---
288
+
289
+ *Generated by Octocode Research 🔍🐙*