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
@@ -1,304 +0,0 @@
1
- # Tool Reference
2
-
3
- Complete parameter reference for Octocode MCP tools.
4
-
5
- **Required Fields (ALL queries)**: `mainResearchGoal`, `researchGoal`, `reasoning`
6
-
7
- ---
8
-
9
- ## Local Tools
10
-
11
- > **Priority**: ALWAYS prefer local tools over shell commands (`grep`, `ls`, `find`, `cat`)
12
-
13
- ### localViewStructure
14
-
15
- Explore local directory structure with filtering and sorting.
16
-
17
- ```typescript
18
- {
19
- path: string; // Directory path (required)
20
- depth?: number; // 1-5 (default 1)
21
- entriesPerPage?: number; // ≤20
22
- entryPageNumber?: number; // Pagination
23
- details?: boolean; // Show file sizes
24
- hidden?: boolean; // Include dotfiles
25
- extensions?: string[]; // Filter by extension
26
- pattern?: string; // Filter by name pattern
27
- filesOnly?: boolean;
28
- directoriesOnly?: boolean;
29
- sortBy?: "name" | "size" | "time" | "extension";
30
- }
31
- ```
32
-
33
- **Tips:**
34
- - Start `depth: 1` at root, drill with `depth: 2` on specific dirs
35
- - Use `details: true` to see file sizes
36
- - Check `packages/` or `apps/` for monorepos
37
-
38
- ### localSearchCode
39
-
40
- Fast pattern search with discovery mode and pagination.
41
-
42
- ```typescript
43
- {
44
- pattern: string; // Search pattern (required)
45
- path: string; // Search root (required)
46
- filesOnly?: boolean; // Discovery mode - just list files
47
- type?: string; // "ts", "py", "js" etc
48
- include?: string[]; // Glob patterns to include
49
- exclude?: string[]; // Glob patterns to exclude
50
- excludeDir?: string[]; // Directories to skip
51
- noIgnore?: boolean; // Search inside node_modules
52
- matchesPerPage?: number; // 1-100
53
- filesPerPage?: number; // ≤20
54
- filePageNumber?: number; // Pagination
55
- contextLines?: number; // Lines around match
56
- caseSensitive?: boolean;
57
- wholeWord?: boolean;
58
- multiline?: boolean;
59
- }
60
- ```
61
-
62
- **Tips:**
63
- - Start with `filesOnly: true` for discovery (fast, token-efficient)
64
- - Use `noIgnore: true` to search inside `node_modules`
65
- - Use `type` for common file extensions
66
- - Returns `location.charOffset/charLength` as BYTE offsets (ripgrep)
67
-
68
- **node_modules Example:**
69
- ```typescript
70
- { pattern: "createContext", path: "node_modules/react", noIgnore: true }
71
- ```
72
-
73
- ### localGetFileContent
74
-
75
- Read local file content with targeted extraction.
76
-
77
- ```typescript
78
- {
79
- path: string; // File path (required)
80
- // Choose ONE strategy:
81
- matchString?: string; // Pattern to find
82
- matchStringContextLines?: number; // 1-50 lines of context
83
- matchStringIsRegex?: boolean;
84
- matchStringCaseSensitive?: boolean;
85
- charOffset?: number; // BYTE offset for pagination
86
- charLength?: number; // BYTES to read (1000-4000 recommended)
87
- startLine?: number; // Line range
88
- endLine?: number;
89
- fullContent?: boolean; // Small files only
90
- }
91
- ```
92
-
93
- **Tips:**
94
- - Prefer `matchString` over `fullContent` for token efficiency
95
- - `charOffset`/`charLength` are BYTES, not characters
96
- - Use `charLength: 2000-4000` for pagination windows
97
- - Large files require `charLength` or `matchString`
98
-
99
- ### localFindFiles
100
-
101
- Find files by metadata (name, time, size, permissions).
102
-
103
- ```typescript
104
- {
105
- path: string; // Search root (required)
106
- name?: string; // "*.ts" pattern
107
- iname?: string; // Case-insensitive name
108
- names?: string[]; // Multiple patterns
109
- type?: "f" | "d" | "l"; // file/directory/link
110
- modifiedWithin?: string; // "7d", "2h", "30m"
111
- modifiedBefore?: string;
112
- sizeGreater?: string; // "10M", "1K"
113
- sizeLess?: string;
114
- excludeDir?: string[];
115
- maxDepth?: number; // 1-10
116
- filesPerPage?: number; // ≤20
117
- filePageNumber?: number;
118
- }
119
- ```
120
-
121
- **Tips:**
122
- - Results sorted by modified time (most recent first)
123
- - Use `modifiedWithin: "7d"` to find recent changes
124
- - Combine with `localGetFileContent` for content
125
-
126
- ---
127
-
128
- ## GitHub Tools
129
-
130
- ### packageSearch
131
-
132
- Find package repo location from npm/PyPI.
133
-
134
- ```typescript
135
- {
136
- name: string; // Package name (required)
137
- ecosystem: "npm" | "python"; // Registry (required)
138
- searchLimit?: number; // 1-10 (npm only)
139
- npmFetchMetadata?: boolean; // Get full npm metadata
140
- pythonFetchMetadata?: boolean; // Get full PyPI metadata
141
- }
142
- ```
143
-
144
- **Tips:**
145
- - Use `searchLimit: 1` if package name is known
146
- - Python always returns 1 result (PyPI limitation)
147
- - Follow with `githubViewRepoStructure` to explore the repo
148
-
149
- ### githubSearchRepositories
150
-
151
- Discover repos by topics, keywords, stars.
152
-
153
- ```typescript
154
- {
155
- keywordsToSearch?: string[]; // Search terms
156
- topicsToSearch?: string[]; // GitHub topics
157
- owner?: string; // Org/user filter
158
- stars?: string; // ">1000", "100..500"
159
- updated?: string; // ">2024-01-01"
160
- sort?: "stars" | "forks" | "updated" | "best-match";
161
- limit?: number; // 1-100
162
- page?: number;
163
- }
164
- ```
165
-
166
- **Tips:**
167
- - Use `stars: ">1000"` to filter noise in public repos
168
- - Check `pushedAt` (last code change) > `updatedAt` (meta change)
169
- - Archived repositories excluded automatically
170
-
171
- ### githubViewRepoStructure
172
-
173
- Map repository directory layout.
174
-
175
- ```typescript
176
- {
177
- owner: string; // Repo owner (required)
178
- repo: string; // Repo name (required)
179
- branch: string; // Branch (required)
180
- path?: string; // Subpath (default "")
181
- depth?: 1 | 2; // Recursion depth
182
- entriesPerPage?: number; // ≤200
183
- entryPageNumber?: number;
184
- }
185
- ```
186
-
187
- **Tips:**
188
- - Start `depth: 1` at root, drill with `depth: 2` on subdirs
189
- - `depth: 2` is slow on large dirs - use on specific subdirectories
190
- - Check `packages/` or `apps/` individually for monorepos
191
- - Auto-filters 85+ directories (.git, node_modules, dist, build, etc.)
192
-
193
- ### githubSearchCode
194
-
195
- Find code patterns across GitHub.
196
-
197
- ```typescript
198
- {
199
- keywordsToSearch: string[]; // Search terms (required)
200
- match: "file" | "path"; // Content vs paths (required)
201
- owner?: string; // Narrow to org
202
- repo?: string; // Narrow to repo
203
- path?: string; // Directory filter (strict prefix)
204
- extension?: string; // File type
205
- filename?: string;
206
- limit?: number; // 1-100
207
- page?: number;
208
- }
209
- ```
210
-
211
- **WARNING:** NEVER cite search results directly. Search snippets are incomplete. ALWAYS follow up with `githubGetFileContent` to verify.
212
-
213
- **Tips:**
214
- - `match: "path"` for finding files by name
215
- - `match: "file"` for searching content
216
- - Prefer specifying `owner` & `repo` for precision and cost
217
- - Start with 1-2 filters; 3+ filters risky (may return empty)
218
- - Path matching is strict prefix: `path: "pkg"` finds `pkg/file`, NOT `parent/pkg/file`
219
-
220
- ### githubGetFileContent
221
-
222
- Read file content with targeted extraction.
223
-
224
- ```typescript
225
- {
226
- owner: string; // (required)
227
- repo: string; // (required)
228
- path: string; // (required)
229
- branch?: string;
230
- // Choose ONE strategy:
231
- startLine?: number; // Line range
232
- endLine?: number;
233
- matchString?: string; // Pattern match
234
- matchStringContextLines?: number; // 1-50
235
- charOffset?: number; // Byte offset
236
- charLength?: number; // Bytes to read
237
- fullContent?: boolean; // Small files only
238
- }
239
- ```
240
-
241
- **Tips:**
242
- - Prefer `matchString` over `fullContent` for token efficiency
243
- - Max file size: 300KB
244
- - For pagination, use branch NAME (e.g., "main"), not commit SHA
245
-
246
- ### githubSearchPullRequests
247
-
248
- Find PR history, metadata, diffs, and discussions.
249
-
250
- ```typescript
251
- {
252
- owner?: string;
253
- repo?: string;
254
- prNumber?: number; // Ignores all other filters
255
- query?: string; // Search text
256
- state?: "open" | "closed";
257
- merged?: boolean;
258
- author?: string;
259
- type?: "metadata" | "fullContent" | "partialContent";
260
- partialContentMetadata?: Array<{
261
- file: string;
262
- additions?: number[];
263
- deletions?: number[];
264
- }>;
265
- withComments?: boolean;
266
- withCommits?: boolean;
267
- limit?: number; // 1-10
268
- }
269
- ```
270
-
271
- **Tips:**
272
- - Start with `type: "metadata"` (token-efficient)
273
- - `prNumber` ignores all other filters
274
- - Use `type: "partialContent"` for specific file diffs
275
- - Avoid `type: "fullContent"` on large PRs
276
-
277
- ---
278
-
279
- ## Error Recovery
280
-
281
- | Situation | Action |
282
- |-----------|--------|
283
- | Empty results | Try semantic variants (auth → login, security, credentials) |
284
- | Too many results | Add filters (path, extension, owner/repo, type) |
285
- | File too large | Use `matchString` or `charLength` pagination |
286
- | Path is directory | Use structure tool instead |
287
- | Rate limit | Wait, try different tool |
288
- | Local not found | Check path exists, try `hidden: true`, verify .gitignore |
289
-
290
- ## Query Batching
291
-
292
- - GitHub tools: Max 3 queries per call
293
- - Local tools: Max 5 queries per call
294
- - Use parallel queries for independent searches
295
-
296
- ```typescript
297
- {
298
- "queries": [
299
- { "pattern": "AuthService", "path": "src", "filesOnly": true },
300
- { "pattern": "authMiddleware", "path": "src", "filesOnly": true },
301
- { "pattern": "AuthUser", "path": "src", "filesOnly": true }
302
- ]
303
- }
304
- ```
@@ -1,325 +0,0 @@
1
- # Workflow Patterns
2
-
3
- Common research flows for different investigation types.
4
-
5
- ---
6
-
7
- ## Local-First Patterns
8
-
9
- ### 1. Explore-First (Unknown Codebase)
10
-
11
- **Use when**: Entry points unclear, mixed tech, new repo.
12
-
13
- ```
14
- localViewStructure(depth=1) → drill dirs(depth=2) → localSearchCode → localGetFileContent
15
- ```
16
-
17
- **Steps:**
18
- 1. **Map Root**: View top-level folders (`depth: 1`)
19
- 2. **Drill Down**: Pick one relevant folder (e.g., `src`)
20
- 3. **Search**: Look for architectural keywords (`App`, `Server`, `Main`)
21
- 4. **Read**: Get content of entry file
22
-
23
- ```json
24
- // 1. Map root
25
- { "path": "", "depth": 1 }
26
-
27
- // 2. Drill into src
28
- { "path": "src", "depth": 2 }
29
-
30
- // 3. Find entry points
31
- { "pattern": "createServer|createApp", "path": "src", "filesOnly": true }
32
-
33
- // 4. Read implementation
34
- { "path": "src/index.ts", "matchString": "createApp" }
35
- ```
36
-
37
- **Pitfall**: Diving deep without map → keep breadth-first.
38
-
39
- ---
40
-
41
- ### 2. Search-First (Know WHAT, not WHERE)
42
-
43
- **Use when**: Feature name, error keyword, class/function known.
44
-
45
- ```
46
- localSearchCode(filesOnly=true) → localGetFileContent(matchString)
47
- ```
48
-
49
- **Steps:**
50
- 1. **Discovery**: Find files containing the term (fast)
51
- 2. **Target**: Pick the most likely file
52
- 3. **Read**: Read specific function with context
53
-
54
- ```json
55
- // 1. Discovery
56
- { "pattern": "AuthService", "path": "src", "type": "ts", "filesOnly": true }
57
-
58
- // 2. Read implementation
59
- { "path": "src/auth/AuthService.ts", "matchString": "class AuthService", "matchStringContextLines": 20 }
60
- ```
61
-
62
- **Pitfall**: Reading full files; prefer `matchString` + small context windows.
63
-
64
- ---
65
-
66
- ### 3. Trace-from-Match (Follow the Trail)
67
-
68
- **Use when**: Found definition, need impact graph (imports/usages).
69
-
70
- ```
71
- localSearchCode(symbol) → localGetFileContent → localSearchCode(usages) → iterate
72
- ```
73
-
74
- **Steps:**
75
- 1. **Find Definition**: Search for the symbol
76
- 2. **Read Implementation**: Get context
77
- 3. **Trace Usages**: Search for imports/calls
78
- 4. **Iterate**: Follow 1-3 focused branches (cap depth)
79
-
80
- ```json
81
- // 1. Find definition
82
- { "pattern": "export.*useAuth", "path": "src", "filesOnly": true }
83
-
84
- // 2. Read implementation
85
- { "path": "src/hooks/useAuth.ts", "matchString": "export function useAuth" }
86
-
87
- // 3. Find usages
88
- { "pattern": "import.*useAuth|useAuth\\(", "path": "src", "filesOnly": true }
89
- ```
90
-
91
- **Pitfall**: Unlimited fan-out; cap depth and batch size.
92
-
93
- ---
94
-
95
- ### 4. Metadata-Driven (Recent Changes)
96
-
97
- **Use when**: Debugging recent breaks, finding config files, large files.
98
-
99
- ```
100
- localFindFiles(modifiedWithin/size) → localGetFileContent
101
- ```
102
-
103
- **Steps:**
104
- 1. **Filter**: Find files by metadata (time, size, type)
105
- 2. **Read**: Examine content of candidates
106
-
107
- ```json
108
- // Find recently modified TypeScript files
109
- { "path": "src", "name": "*.ts", "modifiedWithin": "7d" }
110
-
111
- // Find large files that might need attention
112
- { "path": "", "sizeGreater": "100K", "type": "f" }
113
- ```
114
-
115
- ---
116
-
117
- ### 5. node_modules Inspection
118
-
119
- **Use when**: Debugging dependency behavior, understanding library internals.
120
-
121
- ```
122
- localSearchCode(noIgnore=true) → localGetFileContent → compare with GitHub source
123
- ```
124
-
125
- **Steps:**
126
- 1. **Search Inside**: Use `noIgnore: true` to search node_modules
127
- 2. **Read Local**: Get content from installed version
128
- 3. **Cross-Reference**: Compare with canonical GitHub source
129
-
130
- ```json
131
- // 1. Search inside dependency
132
- { "pattern": "createContext", "path": "node_modules/react", "noIgnore": true }
133
-
134
- // 2. Read local implementation
135
- { "path": "node_modules/react/cjs/react.development.js", "matchString": "createContext" }
136
-
137
- // 3. Compare with canonical (use GitHub tools)
138
- ```
139
-
140
- ---
141
-
142
- ## GitHub Patterns
143
-
144
- ### 6. Package Investigation
145
-
146
- **Goal**: Understand how a package works internally.
147
-
148
- ```
149
- packageSearch → githubViewRepoStructure → githubSearchCode → githubGetFileContent
150
- ```
151
-
152
- **Steps:**
153
- 1. **Locate**: Find the correct repo URL
154
- 2. **Map**: View directory structure (don't map everything)
155
- 3. **Entry**: Find the main entry point (`package.json` main or index file)
156
- 4. **Read**: Get actual content of the entry file
157
-
158
- ```json
159
- // 1. Find repo
160
- { "name": "express", "ecosystem": "npm" }
161
-
162
- // 2. Map structure
163
- { "owner": "expressjs", "repo": "express", "branch": "master", "depth": 1 }
164
-
165
- // 3. Find entry
166
- { "keywordsToSearch": ["index.js"], "match": "path", "owner": "expressjs", "repo": "express" }
167
-
168
- // 4. Read implementation
169
- { "owner": "expressjs", "repo": "express", "path": "lib/express.js", "matchString": "createApplication" }
170
- ```
171
-
172
- ---
173
-
174
- ### 7. Implementation Tracing (Remote)
175
-
176
- **Goal**: Understand how a feature is implemented in an external library.
177
-
178
- **Pattern**: Trace from *User Surface* → *Internal Logic* → *Data Layer*.
179
-
180
- ```
181
- githubSearchCode(surface) → githubGetFileContent → trace imports → repeat
182
- ```
183
-
184
- **Steps:**
185
- 1. **Surface**: Find the public API/Component (e.g., `useState`)
186
- 2. **Definition**: Read the function definition
187
- 3. **Dependency**: Identify one key internal dependency
188
- 4. **Trace**: Search for that dependency's definition
189
- 5. **Repeat**: Continue until you hit the bottom
190
-
191
- ```json
192
- // 1. Find feature surface
193
- { "keywordsToSearch": ["useState"], "match": "file", "path": "packages/react", "owner": "facebook", "repo": "react" }
194
-
195
- // 2. Read definition (The Gate: Read before assuming)
196
- { "owner": "facebook", "repo": "react", "path": "packages/react/src/ReactHooks.js", "matchString": "export function useState" }
197
-
198
- // 3. Trace dependency
199
- { "keywordsToSearch": ["resolveDispatcher"], "match": "file", "owner": "facebook", "repo": "react" }
200
- ```
201
-
202
- ---
203
-
204
- ### 8. Bug Investigation
205
-
206
- **Goal**: Find root cause of a bug.
207
-
208
- ```
209
- githubSearchCode(error) → githubGetFileContent → githubSearchPullRequests
210
- ```
211
-
212
- **Steps:**
213
- 1. **Locate Error**: Find where the error string/code is defined
214
- 2. **Read Context**: Read the condition causing the error
215
- 3. **Blame/History**: Who changed this last and why?
216
-
217
- ```json
218
- // 1. Find error source
219
- { "keywordsToSearch": ["ENOENT"], "match": "file", "owner": "nodejs", "repo": "node" }
220
-
221
- // 2. Read context
222
- { "owner": "nodejs", "repo": "node", "path": "lib/fs.js", "matchString": "ENOENT" }
223
-
224
- // 3. Check history
225
- { "query": "file reader ENOENT", "owner": "nodejs", "repo": "node", "merged": true, "type": "metadata" }
226
- ```
227
-
228
- ---
229
-
230
- ## Cross-Domain Patterns
231
-
232
- ### 9. Local → GitHub (Upstream Research)
233
-
234
- **Use when**: Local code uses a dependency, need canonical source.
235
-
236
- ```
237
- localSearchCode → packageSearch → githubViewRepoStructure → githubGetFileContent
238
- ```
239
-
240
- ```json
241
- // 1. Find import in local code
242
- { "pattern": "import.*from 'axios'", "path": "src", "filesOnly": true }
243
-
244
- // 2. Find package repo
245
- { "name": "axios", "ecosystem": "npm" }
246
-
247
- // 3. Explore upstream
248
- { "owner": "axios", "repo": "axios", "branch": "v1.x", "depth": 1 }
249
-
250
- // 4. Read canonical implementation
251
- { "owner": "axios", "repo": "axios", "path": "lib/core/Axios.js", "matchString": "class Axios" }
252
- ```
253
-
254
- ### 10. GitHub → Local (Impact Analysis)
255
-
256
- **Use when**: Found upstream change, check local impact.
257
-
258
- ```
259
- githubSearchPullRequests → extract changed patterns → localSearchCode
260
- ```
261
-
262
- ```json
263
- // 1. Find breaking change PR
264
- { "query": "breaking change v2", "owner": "some-lib", "repo": "lib", "merged": true }
265
-
266
- // 2. Get changed API (from PR)
267
- // → Extracted: "oldMethod renamed to newMethod"
268
-
269
- // 3. Check local usage
270
- { "pattern": "oldMethod", "path": "src", "filesOnly": true }
271
- ```
272
-
273
- ---
274
-
275
- ## The Verification Gate
276
-
277
- **BEFORE claiming a finding, pass this gate:**
278
-
279
- 1. **IDENTIFY**: What exact lines of code prove this?
280
- 2. **FETCH**: Did you read the *actual file content*? (Search snippets don't count)
281
- 3. **VERIFY**: Does the logic actually do what you think?
282
- 4. **CHECK DATES**: Is this code from 5 years ago?
283
- 5. **ONLY THEN**: Output the finding.
284
-
285
- ---
286
-
287
- ## Batch Queries
288
-
289
- Parallelize independent searches (max 3 GitHub, max 5 local):
290
-
291
- ```json
292
- {
293
- "queries": [
294
- { "pattern": "AuthService", "path": "src", "filesOnly": true },
295
- { "pattern": "authMiddleware", "path": "src", "filesOnly": true },
296
- { "pattern": "AuthUser", "path": "src", "filesOnly": true }
297
- ]
298
- }
299
- ```
300
-
301
- ---
302
-
303
- ## Anti-Patterns
304
-
305
- | Bad | Good |
306
- |-----|------|
307
- | **Citing Search Results** | **Citing File Content** (Read the file!) |
308
- | **"I assume..."** | **"The code shows..."** |
309
- | **"Should work like..."** | **"Logic implements..."** |
310
- | **Broad Search (`auth`)** | **Targeted Search (`class AuthService`)** |
311
- | **Ignoring Dates** | **Checking `lastModified`** |
312
- | **Shell commands for search** | **Local tools with pagination** |
313
- | **Full file dumps** | **matchString + context** |
314
-
315
- ---
316
-
317
- ## Checklist
318
-
319
- - [ ] **Goal defined?** (Atomic question)
320
- - [ ] **Local-first?** (Checked workspace before GitHub)
321
- - [ ] **Code evidence found?** (Line numbers/paths)
322
- - [ ] **The Gate passed?** (Read full content)
323
- - [ ] **Cross-referenced?** (Imports/Usage)
324
- - [ ] **Updated dates checked?**
325
- - [ ] **Gaps documented?**