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,562 @@
1
+ # Octocode Research API Reference
2
+
3
+ > HTTP API on `localhost:1987` by default (configurable via `OCTOCODE_RESEARCH_HOST` / `OCTOCODE_RESEARCH_PORT`) - All tools via POST `/tools/call/:toolName`
4
+ > **v2.1.0** - Process managed by PM2
5
+
6
+ ## Quick Start
7
+
8
+ ```bash
9
+ # Development
10
+ npm run dev # Start with hot reload
11
+
12
+ # Production (PM2)
13
+ npm run pm2:start # Start with PM2
14
+ npm run pm2:logs # View logs
15
+ npm run pm2:monit # Dashboard
16
+
17
+ # Health & Discovery
18
+ curl http://localhost:1987/health # Health check
19
+ curl http://localhost:1987/tools/list # List tools
20
+ curl http://localhost:1987/tools/info/localSearchCode # Get schema (BEFORE calling!)
21
+ ```
22
+
23
+ ---
24
+
25
+ ## Routes Overview
26
+
27
+ | Route | Method | Purpose |
28
+ |-------|--------|---------|
29
+ | `/health` | GET | Server health & circuit status |
30
+ | `/tools/list` | GET | List all 13 tools (concise) |
31
+ | `/tools/info` | GET | All tools with details |
32
+ | `/tools/info/:toolName` | GET | Specific tool schema (**call before using!**) |
33
+ | `/tools/system` | GET | System instructions (**load first**) |
34
+ | `/tools/metadata` | GET | Raw metadata summary |
35
+ | `/tools/call/:toolName` | POST | Execute any tool via JSON body |
36
+ | `/prompts/list` | GET | List all prompts |
37
+ | `/prompts/info/:promptName` | GET | Specific prompt content |
38
+
39
+ ---
40
+
41
+ ## Health & Discovery
42
+
43
+ ### `GET /health`
44
+ ```bash
45
+ curl http://localhost:1987/health
46
+ ```
47
+ Response:
48
+ ```json
49
+ {
50
+ "status": "ok",
51
+ "port": 1987,
52
+ "version": "2.1.0",
53
+ "uptime": 123,
54
+ "processManager": "pm2",
55
+ "memory": { "heapUsed": 27, "heapTotal": 42, "rss": 132 },
56
+ "circuits": {},
57
+ "errors": { "queueSize": 0, "recentErrors": [] }
58
+ }
59
+ ```
60
+
61
+ | Field | Description |
62
+ |-------|-------------|
63
+ | `status` | `"ok"` when ready, `"initializing"` during startup |
64
+ | `processManager` | Always `"pm2"` - server is managed by PM2 |
65
+ | `uptime` | Seconds since process start |
66
+ | `memory` | Heap and RSS memory usage in MB |
67
+ | `circuits` | Circuit breaker states (empty when healthy) |
68
+ | `errors` | Recent error queue for debugging |
69
+
70
+ ### `GET /tools/list`
71
+ ```bash
72
+ curl http://localhost:1987/tools/list
73
+ ```
74
+
75
+ ### `GET /tools/info`
76
+ All tools with optional details:
77
+ ```bash
78
+ curl "http://localhost:1987/tools/info?schema=true&hints=true"
79
+ ```
80
+
81
+ ### `GET /tools/info/:toolName`
82
+ **⚠️ Call this BEFORE using any tool!**
83
+ ```bash
84
+ curl http://localhost:1987/tools/info/localSearchCode
85
+ ```
86
+
87
+ ### `GET /tools/system`
88
+ **Load this FIRST into agent context:**
89
+ ```bash
90
+ curl http://localhost:1987/tools/system
91
+ ```
92
+
93
+ ### `GET /tools/metadata`
94
+ ```bash
95
+ curl http://localhost:1987/tools/metadata
96
+ ```
97
+
98
+ ### `GET /prompts/list`
99
+ ```bash
100
+ curl http://localhost:1987/prompts/list
101
+ ```
102
+
103
+ ### `GET /prompts/info/:promptName`
104
+ ```bash
105
+ curl http://localhost:1987/prompts/info/research
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Calling Tools
111
+
112
+ All tools are called via **POST `/tools/call/:toolName`** with a JSON body.
113
+
114
+ ### Request Format
115
+ ```json
116
+ {
117
+ "queries": [{
118
+ "mainResearchGoal": "High-level goal",
119
+ "researchGoal": "Specific goal for this query",
120
+ "reasoning": "Why this query helps",
121
+ ...toolSpecificParams
122
+ }]
123
+ }
124
+ ```
125
+
126
+ ### Response Format
127
+ ```json
128
+ {
129
+ "tool": "toolName",
130
+ "success": true,
131
+ "data": { ... },
132
+ "hints": ["Next step suggestions..."],
133
+ "research": { "mainResearchGoal": "...", "researchGoal": "...", "reasoning": "..." }
134
+ }
135
+ ```
136
+
137
+ ### Limits
138
+ - Max 3 queries per request
139
+ - All queries require: `mainResearchGoal`, `researchGoal`, `reasoning`
140
+
141
+ ---
142
+
143
+ ## Local Tools
144
+
145
+ ### localSearchCode
146
+
147
+ Search code with ripgrep.
148
+
149
+ | Param | Required | Description |
150
+ |-------|----------|-------------|
151
+ | `pattern` | ✅ | Search pattern |
152
+ | `path` | ✅ | Directory to search |
153
+ | `type` | | File type (ts, js, py) |
154
+ | `filesOnly` | | Return only file paths |
155
+ | `limit` | | Max results |
156
+
157
+ ```bash
158
+ curl -X POST http://localhost:1987/tools/call/localSearchCode \
159
+ -H "Content-Type: application/json" \
160
+ -d '{
161
+ "queries": [{
162
+ "mainResearchGoal": "Find exports",
163
+ "researchGoal": "Locate export statements",
164
+ "reasoning": "Mapping module exports",
165
+ "pattern": "export",
166
+ "path": "/project",
167
+ "filesOnly": true
168
+ }]
169
+ }'
170
+ ```
171
+
172
+ ---
173
+
174
+ ### localGetFileContent
175
+
176
+ Read local file content.
177
+
178
+ | Param | Required | Description |
179
+ |-------|----------|-------------|
180
+ | `path` | ✅ | File path |
181
+ | `startLine` | | Start line number |
182
+ | `endLine` | | End line number |
183
+ | `matchString` | | Extract around pattern |
184
+
185
+ ```bash
186
+ curl -X POST http://localhost:1987/tools/call/localGetFileContent \
187
+ -H "Content-Type: application/json" \
188
+ -d '{
189
+ "queries": [{
190
+ "mainResearchGoal": "Read file",
191
+ "researchGoal": "Get index.ts content",
192
+ "reasoning": "Understanding entry point",
193
+ "path": "/project/src/index.ts",
194
+ "startLine": 1,
195
+ "endLine": 50
196
+ }]
197
+ }'
198
+ ```
199
+
200
+ ---
201
+
202
+ ### localFindFiles
203
+
204
+ Find files by metadata.
205
+
206
+ | Param | Required | Description |
207
+ |-------|----------|-------------|
208
+ | `path` | ✅ | Directory to search |
209
+ | `name` | | Filename pattern (glob) |
210
+ | `type` | | "file" / "directory" |
211
+ | `modifiedWithin` | | Time filter: "1d", "2h" |
212
+
213
+ ```bash
214
+ curl -X POST http://localhost:1987/tools/call/localFindFiles \
215
+ -H "Content-Type: application/json" \
216
+ -d '{
217
+ "queries": [{
218
+ "mainResearchGoal": "Find TypeScript files",
219
+ "researchGoal": "List all .ts files",
220
+ "reasoning": "Mapping source files",
221
+ "path": "/project",
222
+ "name": "*.ts",
223
+ "type": "file"
224
+ }]
225
+ }'
226
+ ```
227
+
228
+ ---
229
+
230
+ ### localViewStructure
231
+
232
+ View directory tree.
233
+
234
+ | Param | Required | Description |
235
+ |-------|----------|-------------|
236
+ | `path` | ✅ | Directory path |
237
+ | `depth` | | Tree depth (1-5) |
238
+ | `filesOnly` | | Show only files |
239
+ | `hidden` | | Include hidden files |
240
+
241
+ ```bash
242
+ curl -X POST http://localhost:1987/tools/call/localViewStructure \
243
+ -H "Content-Type: application/json" \
244
+ -d '{
245
+ "queries": [{
246
+ "mainResearchGoal": "Explore structure",
247
+ "researchGoal": "View src directory",
248
+ "reasoning": "Understanding project layout",
249
+ "path": "/project/src",
250
+ "depth": 2
251
+ }]
252
+ }'
253
+ ```
254
+
255
+ ---
256
+
257
+ ## LSP Tools
258
+
259
+ **Note:** All LSP tools require `lineHint` from `localSearchCode` results.
260
+
261
+ ### lspGotoDefinition
262
+
263
+ Jump to symbol definition.
264
+
265
+ | Param | Required | Description |
266
+ |-------|----------|-------------|
267
+ | `uri` | ✅ | File path |
268
+ | `symbolName` | ✅ | Symbol name |
269
+ | `lineHint` | ✅ | Line number (1-indexed) |
270
+ | `contextLines` | | Lines of context (default: 5) |
271
+
272
+ ```bash
273
+ curl -X POST http://localhost:1987/tools/call/lspGotoDefinition \
274
+ -H "Content-Type: application/json" \
275
+ -d '{
276
+ "queries": [{
277
+ "mainResearchGoal": "Find definition",
278
+ "researchGoal": "Locate createServer",
279
+ "reasoning": "Understanding function source",
280
+ "uri": "/project/src/index.ts",
281
+ "symbolName": "createServer",
282
+ "lineHint": 10
283
+ }]
284
+ }'
285
+ ```
286
+
287
+ ---
288
+
289
+ ### lspFindReferences
290
+
291
+ Find all symbol usages.
292
+
293
+ | Param | Required | Description |
294
+ |-------|----------|-------------|
295
+ | `uri` | ✅ | File path |
296
+ | `symbolName` | ✅ | Symbol name |
297
+ | `lineHint` | ✅ | Line number (1-indexed) |
298
+ | `includeDeclaration` | | Include definition (default: true) |
299
+ | `page` | | Pagination |
300
+
301
+ ```bash
302
+ curl -X POST http://localhost:1987/tools/call/lspFindReferences \
303
+ -H "Content-Type: application/json" \
304
+ -d '{
305
+ "queries": [{
306
+ "mainResearchGoal": "Find usages",
307
+ "researchGoal": "All handleRequest references",
308
+ "reasoning": "Impact analysis",
309
+ "uri": "/project/src/index.ts",
310
+ "symbolName": "handleRequest",
311
+ "lineHint": 25
312
+ }]
313
+ }'
314
+ ```
315
+
316
+ ---
317
+
318
+ ### lspCallHierarchy
319
+
320
+ Trace function call relationships.
321
+
322
+ | Param | Required | Description |
323
+ |-------|----------|-------------|
324
+ | `uri` | ✅ | File path |
325
+ | `symbolName` | ✅ | Symbol name |
326
+ | `lineHint` | ✅ | Line number (1-indexed) |
327
+ | `direction` | ✅ | "incoming" (who calls) / "outgoing" (what it calls) |
328
+ | `depth` | | Call depth (1-3, default: 1) |
329
+
330
+ ```bash
331
+ curl -X POST http://localhost:1987/tools/call/lspCallHierarchy \
332
+ -H "Content-Type: application/json" \
333
+ -d '{
334
+ "queries": [{
335
+ "mainResearchGoal": "Trace calls",
336
+ "researchGoal": "Who calls handleRequest",
337
+ "reasoning": "Understanding call flow",
338
+ "uri": "/project/src/router.ts",
339
+ "symbolName": "handleRequest",
340
+ "lineHint": 42,
341
+ "direction": "incoming"
342
+ }]
343
+ }'
344
+ ```
345
+
346
+ ---
347
+
348
+ ## GitHub Tools
349
+
350
+ **Note:** Requires `GITHUB_TOKEN` environment variable.
351
+
352
+ ### githubSearchCode
353
+
354
+ Search code across GitHub repositories.
355
+
356
+ | Param | Required | Description |
357
+ |-------|----------|-------------|
358
+ | `keywordsToSearch` | ✅ | Array of keywords |
359
+ | `owner` | | Repository owner |
360
+ | `repo` | | Repository name |
361
+ | `path` | | Path filter |
362
+ | `extension` | | File extension |
363
+
364
+ ```bash
365
+ curl -X POST http://localhost:1987/tools/call/githubSearchCode \
366
+ -H "Content-Type: application/json" \
367
+ -d '{
368
+ "queries": [{
369
+ "mainResearchGoal": "Find React hooks",
370
+ "researchGoal": "useState and useEffect usage",
371
+ "reasoning": "Learning hook patterns",
372
+ "keywordsToSearch": ["useState", "useEffect"],
373
+ "owner": "facebook",
374
+ "repo": "react"
375
+ }]
376
+ }'
377
+ ```
378
+
379
+ ---
380
+
381
+ ### githubGetFileContent
382
+
383
+ Read file from GitHub repository.
384
+
385
+ | Param | Required | Description |
386
+ |-------|----------|-------------|
387
+ | `owner` | ✅ | Repository owner |
388
+ | `repo` | ✅ | Repository name |
389
+ | `path` | ✅ | File path |
390
+ | `branch` | | Branch name |
391
+ | `startLine` | | Start line |
392
+ | `endLine` | | End line |
393
+
394
+ ```bash
395
+ curl -X POST http://localhost:1987/tools/call/githubGetFileContent \
396
+ -H "Content-Type: application/json" \
397
+ -d '{
398
+ "queries": [{
399
+ "mainResearchGoal": "Read React source",
400
+ "researchGoal": "Get React.js entry",
401
+ "reasoning": "Understanding React core",
402
+ "owner": "facebook",
403
+ "repo": "react",
404
+ "path": "packages/react/src/React.js"
405
+ }]
406
+ }'
407
+ ```
408
+
409
+ ---
410
+
411
+ ### githubSearchRepositories
412
+
413
+ Search GitHub repositories.
414
+
415
+ | Param | Required | Description |
416
+ |-------|----------|-------------|
417
+ | `keywordsToSearch` | ✅* | Search keywords |
418
+ | `topicsToSearch` | ✅* | Topic tags |
419
+ | `owner` | | Filter by owner |
420
+ | `stars` | | Star filter: ">1000", "100..500" |
421
+ | `sort` | | "stars" / "forks" / "updated" |
422
+
423
+ *At least one of `keywordsToSearch` or `topicsToSearch` required.
424
+
425
+ ```bash
426
+ curl -X POST http://localhost:1987/tools/call/githubSearchRepositories \
427
+ -H "Content-Type: application/json" \
428
+ -d '{
429
+ "queries": [{
430
+ "mainResearchGoal": "Find CLI tools",
431
+ "researchGoal": "TypeScript CLI repos",
432
+ "reasoning": "Research CLI patterns",
433
+ "topicsToSearch": ["typescript", "cli"],
434
+ "stars": ">1000"
435
+ }]
436
+ }'
437
+ ```
438
+
439
+ ---
440
+
441
+ ### githubViewRepoStructure
442
+
443
+ View repository tree structure.
444
+
445
+ | Param | Required | Description |
446
+ |-------|----------|-------------|
447
+ | `owner` | ✅ | Repository owner |
448
+ | `repo` | ✅ | Repository name |
449
+ | `branch` | ✅ | Branch name |
450
+ | `path` | | Subdirectory path |
451
+ | `depth` | | Tree depth (1-2) |
452
+
453
+ ```bash
454
+ curl -X POST http://localhost:1987/tools/call/githubViewRepoStructure \
455
+ -H "Content-Type: application/json" \
456
+ -d '{
457
+ "queries": [{
458
+ "mainResearchGoal": "Explore React",
459
+ "researchGoal": "View packages structure",
460
+ "reasoning": "Understanding monorepo layout",
461
+ "owner": "facebook",
462
+ "repo": "react",
463
+ "branch": "main",
464
+ "path": "packages"
465
+ }]
466
+ }'
467
+ ```
468
+
469
+ ---
470
+
471
+ ### githubSearchPullRequests
472
+
473
+ Search pull requests.
474
+
475
+ | Param | Required | Description |
476
+ |-------|----------|-------------|
477
+ | `owner` | | Repository owner |
478
+ | `repo` | | Repository name |
479
+ | `prNumber` | | Specific PR number |
480
+ | `state` | | "open" / "closed" |
481
+ | `merged` | | Filter merged PRs |
482
+ | `type` | | "metadata" / "fullContent" / "partialContent" |
483
+
484
+ ```bash
485
+ curl -X POST http://localhost:1987/tools/call/githubSearchPullRequests \
486
+ -H "Content-Type: application/json" \
487
+ -d '{
488
+ "queries": [{
489
+ "mainResearchGoal": "Find merged PRs",
490
+ "researchGoal": "Recent merged React PRs",
491
+ "reasoning": "Understanding recent changes",
492
+ "owner": "facebook",
493
+ "repo": "react",
494
+ "state": "closed",
495
+ "merged": true,
496
+ "limit": 5
497
+ }]
498
+ }'
499
+ ```
500
+
501
+ ---
502
+
503
+ ## Package Search
504
+
505
+ ### packageSearch
506
+
507
+ Search npm or PyPI packages.
508
+
509
+ | Param | Required | Description |
510
+ |-------|----------|-------------|
511
+ | `name` | ✅ | Package name |
512
+ | `ecosystem` | | "npm" (default) / "python" |
513
+ | `searchLimit` | | Max results |
514
+
515
+ ```bash
516
+ curl -X POST http://localhost:1987/tools/call/packageSearch \
517
+ -H "Content-Type: application/json" \
518
+ -d '{
519
+ "queries": [{
520
+ "mainResearchGoal": "Find package",
521
+ "researchGoal": "Get express info",
522
+ "reasoning": "Checking package details",
523
+ "name": "express",
524
+ "ecosystem": "npm"
525
+ }]
526
+ }'
527
+ ```
528
+
529
+ ---
530
+
531
+ ## Error Responses
532
+
533
+ | Code | Description |
534
+ |------|-------------|
535
+ | 400 | Validation error - check required params |
536
+ | 404 | Route/tool not found - check spelling |
537
+ | 503 | Circuit open - service temporarily unavailable |
538
+
539
+ ### 404 Response Example
540
+ ```json
541
+ {
542
+ "success": false,
543
+ "error": {
544
+ "message": "Route not found: GET /invalidRoute",
545
+ "code": "NOT_FOUND",
546
+ "availableRoutes": [
547
+ "GET /health",
548
+ "GET /tools/list",
549
+ "GET /tools/info/:toolName",
550
+ "GET /tools/system",
551
+ "POST /tools/call/:toolName",
552
+ "GET /prompts/list",
553
+ "GET /prompts/info/:promptName"
554
+ ],
555
+ "hint": "All tools are called via POST /tools/call/{toolName}"
556
+ }
557
+ }
558
+ ```
559
+
560
+ ---
561
+
562
+ *Octocode Research v2.1.0*