octocode-cli 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +129 -28
  2. package/out/chunks/chunk-7476PETK.js +309 -0
  3. package/out/chunks/chunk-CVNNNSMQ.js +26 -0
  4. package/out/chunks/chunk-OQBJTZWK.js +60 -0
  5. package/out/chunks/chunk-UCZCF3BQ.js +9 -0
  6. package/out/chunks/command-help-specs-JZXVSLZ5.js +8 -0
  7. package/out/chunks/commands-XBFPLHSQ.js +8 -0
  8. package/out/chunks/help-P7TCOYAJ.js +10 -0
  9. package/out/chunks/main-help-ULF5PAQY.js +10 -0
  10. package/out/chunks/prompts-5E6VKRX5.js +8 -0
  11. package/out/chunks/spinner-URV2OX6O.js +8 -0
  12. package/out/chunks/tool-command-M6VA7P2F.js +8 -0
  13. package/out/octocode-cli.js +1 -1
  14. package/package.json +5 -3
  15. package/skills/README.md +60 -58
  16. package/skills/agentic-flow-best-practices/SKILL.md +280 -0
  17. package/skills/agentic-flow-best-practices/references/agent-collaboration-patterns.md +75 -0
  18. package/skills/agentic-flow-best-practices/references/pr-review-agent-example.md +47 -0
  19. package/skills/agentic-flow-best-practices/references/resources.md +112 -0
  20. package/skills/octocode-brainstorming/.env.example +11 -0
  21. package/skills/octocode-brainstorming/SKILL.md +262 -0
  22. package/skills/octocode-brainstorming/scripts/tavily-search.mjs +138 -0
  23. package/skills/octocode-chrome-devtools/README.md +541 -0
  24. package/skills/octocode-chrome-devtools/SKILL.md +197 -0
  25. package/skills/octocode-chrome-devtools/agents/openai.yaml +7 -0
  26. package/skills/octocode-chrome-devtools/references/CDP_AGENT_REFERENCE.md +401 -0
  27. package/skills/octocode-chrome-devtools/references/CHROME_FLAGS.md +234 -0
  28. package/skills/octocode-chrome-devtools/references/INTENTS.md +108 -0
  29. package/skills/octocode-chrome-devtools/references/INTENTS_AUTH.md +179 -0
  30. package/skills/octocode-chrome-devtools/references/INTENTS_AUTOMATION.md +214 -0
  31. package/skills/octocode-chrome-devtools/references/INTENTS_DEBUG.md +329 -0
  32. package/skills/octocode-chrome-devtools/references/INTENTS_ENVIRONMENT.md +237 -0
  33. package/skills/octocode-chrome-devtools/references/INTENTS_INSPECT.md +263 -0
  34. package/skills/octocode-chrome-devtools/references/INTENTS_STORAGE_CONSENT.md +214 -0
  35. package/skills/octocode-chrome-devtools/references/RECOVERY.md +39 -0
  36. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS.md +43 -0
  37. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_ASYNC_WORKERS.md +345 -0
  38. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_BROWSER.md +403 -0
  39. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_OBSERVE.md +275 -0
  40. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_SPECIAL.md +18 -0
  41. package/skills/octocode-chrome-devtools/scripts/cdp-runner.mjs +503 -0
  42. package/skills/octocode-chrome-devtools/scripts/cdp-sandbox.mjs +123 -0
  43. package/skills/octocode-chrome-devtools/scripts/cdp-template.mjs +81 -0
  44. package/skills/octocode-chrome-devtools/scripts/octocode-chrome-devtools.vpn.example.json +8 -0
  45. package/skills/octocode-chrome-devtools/scripts/open-browser.mjs +362 -0
  46. package/skills/octocode-chrome-devtools/scripts/sourcemap-resolver.mjs +193 -0
  47. package/skills/octocode-chrome-devtools/scripts/undercover.mjs +226 -0
  48. package/skills/octocode-design/README.md +2 -2
  49. package/skills/octocode-documentation-writer/README.md +1 -1
  50. package/skills/octocode-engineer/README.md +1 -1
  51. package/skills/octocode-engineer/SKILL.md +137 -306
  52. package/skills/octocode-engineer/references/cli-reference.md +13 -0
  53. package/skills/octocode-engineer/references/output-files.md +3 -3
  54. package/skills/octocode-engineer/scripts/run.js +146 -146
  55. package/skills/octocode-engineer/src/pipeline/main.ts +1 -17
  56. package/skills/octocode-engineer/src/pipeline/progress.ts +4 -0
  57. package/skills/octocode-engineer/src/reporting/summary-md.test.ts +48 -0
  58. package/skills/octocode-engineer/src/reporting/summary-md.ts +43 -2
  59. package/skills/octocode-install/SKILL.md +1 -1
  60. package/skills/octocode-pull-request-reviewer/README.md +5 -5
  61. package/skills/octocode-pull-request-reviewer/SKILL.md +1 -1
  62. package/skills/octocode-research/AGENTS.md +1 -1
  63. package/skills/octocode-research/README.md +2 -2
  64. package/skills/octocode-research/docs/ARCHITECTURE.md +1 -1
  65. package/skills/octocode-research/scripts/server.js +184 -239
  66. package/skills/octocode-research/src/routes/github.ts +4 -21
  67. package/skills/octocode-research/src/routes/local.ts +4 -21
  68. package/skills/octocode-research/src/utils/fileContentTransform.ts +44 -0
  69. package/skills/octocode-search-skill/SKILL.md +337 -0
  70. package/skills/octocode-search-skill/references/agent-skills-guide.md +177 -0
  71. package/skills/octocode-search-skill/references/discovery-surfaces.md +162 -0
  72. package/skills/octocode-search-skill/references/fetch-and-create-locally.md +57 -0
  73. package/skills/octocode-search-skill/references/install-reference.md +130 -0
  74. package/skills/octocode-search-skill/references/references-template.md +27 -0
  75. package/skills/octocode-search-skill/references/references.md +62 -0
  76. package/skills/octocode-slides/README.md +307 -0
  77. package/skills/octocode-slides/SKILL.md +410 -0
  78. package/skills/octocode-slides/references/01-brief.md +156 -0
  79. package/skills/octocode-slides/references/02-research.md +149 -0
  80. package/skills/octocode-slides/references/03-outline.md +172 -0
  81. package/skills/octocode-slides/references/04-design.md +301 -0
  82. package/skills/octocode-slides/references/05-implementation.md +213 -0
  83. package/skills/octocode-slides/references/06-review.md +258 -0
  84. package/skills/octocode-slides/references/animation.md +281 -0
  85. package/skills/octocode-slides/references/design-system.md +316 -0
  86. package/skills/octocode-slides/references/html-templates.md +673 -0
  87. package/skills/octocode-slides/references/image-generation.md +448 -0
  88. package/skills/octocode-slides/references/resources.md +840 -0
  89. package/skills/octocode-slides/references/slide-rules.md +541 -0
  90. package/skills/octocode-slides/references/wireframes.md +727 -0
  91. package/skills/octocode-slides/scripts/animation.js +182 -0
  92. package/skills/octocode-slides/scripts/base.css +353 -0
  93. package/skills/octocode-slides/scripts/base.html +655 -0
  94. package/skills/octocode-slides/scripts/generate_image.py +221 -0
  95. package/skills/octocode-slides/scripts/navbridge.js +79 -0
  96. package/skills/octocode-slides/scripts/presenter.js +316 -0
  97. package/skills/octocode-slides/scripts/slide.html +248 -0
  98. package/skills/octocode-stats/SKILL.md +73 -0
  99. package/skills/octocode-stats/assets/template.html +1332 -0
  100. package/skills/octocode-stats/scripts/build_dashboard.mjs +407 -0
  101. package/out/chunks/chunk-LH4AZJPA.js +0 -389
  102. package/out/chunks/command-help-specs-CQ3RBLP6.js +0 -8
  103. package/out/chunks/commands-M3QTWKWE.js +0 -51
  104. package/out/chunks/help-XPXP46ZT.js +0 -10
  105. package/out/chunks/main-help-HXFAFHPG.js +0 -10
  106. package/out/chunks/tool-command-VHFLPIHY.js +0 -8
@@ -16,7 +16,7 @@ import {
16
16
  } from './cache.js';
17
17
  import { parseArgs } from './cli.js';
18
18
  import { loadConfigFile, mergeConfigIntoDefaults } from './config-loader.js';
19
- import { createOptions, OptionsError } from './create-options.js';
19
+ import { createOptions } from './create-options.js';
20
20
  import { attachConsoleFeedback, bus } from './progress.js';
21
21
  import { resolveAffectedFiles } from './affected.js';
22
22
  import { saveBaseline, filterKnownFindings } from './baseline.js';
@@ -46,7 +46,6 @@ import {
46
46
  analyzeSourceFile,
47
47
  buildDependencyCriticality,
48
48
  } from '../ast/ts-analyzer.js';
49
- import { isDirectRun } from '../common/is-direct-run.js';
50
49
  import { canonicalScriptKind, increment } from '../common/utils.js';
51
50
  import { computeHotFiles } from '../detectors/index.js';
52
51
  import { runSemanticDetectors } from '../detectors/semantic.js';
@@ -1249,18 +1248,3 @@ function buildFindingStats(
1249
1248
  return { overall, pillars };
1250
1249
  }
1251
1250
 
1252
- if (isDirectRun(import.meta.url)) {
1253
- main()
1254
- .then(code => {
1255
- process.exitCode = code;
1256
- })
1257
- .catch((error: unknown) => {
1258
- if (error instanceof OptionsError) {
1259
- console.error(error.message);
1260
- process.exitCode = EXIT_ERROR;
1261
- } else {
1262
- console.error(error);
1263
- process.exitCode = EXIT_ERROR;
1264
- }
1265
- });
1266
- }
@@ -40,7 +40,11 @@ class ScanBus extends EventEmitter {
40
40
 
41
41
  export const bus = new ScanBus();
42
42
 
43
+ let consoleFeedbackAttached = false;
44
+
43
45
  export function attachConsoleFeedback(): void {
46
+ if (consoleFeedbackAttached) return;
47
+ consoleFeedbackAttached = true;
44
48
  bus.on('progress', (event: ProgressEvent) => {
45
49
  if (event.detail) {
46
50
  process.stderr.write(`[${event.phase}] ${event.message}: ${event.detail}\n`);
@@ -629,6 +629,54 @@ describe('computeQualityAspectRatings', () => {
629
629
  expect(folderAspect!.score).toBeGreaterThanOrEqual(85);
630
630
  });
631
631
 
632
+ it('penalizes leaf folders that accumulate too many files', () => {
633
+ const result = computeQualityAspectRatings([], {
634
+ fileInventory: [
635
+ ...Array.from({ length: 30 }, (_, index) =>
636
+ makeFileEntry({ file: `src/core/module-${index}.ts` })
637
+ ),
638
+ ...Array.from({ length: 5 }, (_, index) =>
639
+ makeFileEntry({ file: `src/api/route-${index}.ts` })
640
+ ),
641
+ ],
642
+ });
643
+
644
+ const folderAspect = result.aspects.find(
645
+ aspect => aspect.aspect === 'folder-topology'
646
+ );
647
+ expect(folderAspect).toBeDefined();
648
+ expect(folderAspect!.score).toBeLessThan(85);
649
+ expect(folderAspect!.signals).toContainEqual(
650
+ expect.objectContaining({
651
+ label: 'Bloated folders',
652
+ value: '1/2',
653
+ effect: 'negative',
654
+ })
655
+ );
656
+ });
657
+
658
+ it('includes folder naming consistency in codebase consistency', () => {
659
+ const result = computeQualityAspectRatings([], {
660
+ fileInventory: [
661
+ makeFileEntry({ file: 'src/user-profile/loadUser.ts' }),
662
+ makeFileEntry({ file: 'src/user_profile/saveUser.ts' }),
663
+ makeFileEntry({ file: 'src/UserProfile/listUser.ts' }),
664
+ ],
665
+ });
666
+
667
+ const consistencyAspect = result.aspects.find(
668
+ aspect => aspect.aspect === 'codebase-consistency'
669
+ );
670
+ expect(consistencyAspect).toBeDefined();
671
+ expect(consistencyAspect!.signals).toContainEqual(
672
+ expect.objectContaining({
673
+ label: 'Dominant folder naming style',
674
+ value: '33%',
675
+ effect: 'negative',
676
+ })
677
+ );
678
+ });
679
+
632
680
  it('ignores generated and minified paths in hybrid quality rating by default', () => {
633
681
  const result = computeQualityAspectRatings(
634
682
  [
@@ -703,13 +703,16 @@ export function computeQualityAspectRatings(
703
703
  );
704
704
  const avgDepth = average(depthValues);
705
705
  const topLevelCounts = new Map<string, number>();
706
+ const folderCounts = new Map<string, number>();
706
707
  const dirSegments = new Set<string>();
707
708
  const vagueDirPattern = /^(util|utils|common|shared|misc|helper|helpers|tmp|temp)$/i;
708
709
  for (const file of topologyPaths) {
709
710
  const normalized = normalizeScanPath(file);
710
711
  const parts = normalized.split('/').filter(Boolean);
711
712
  const top = parts[0] || '.';
713
+ const folder = parts.length <= 1 ? '.' : parts.slice(0, -1).join('/');
712
714
  topLevelCounts.set(top, (topLevelCounts.get(top) || 0) + 1);
715
+ folderCounts.set(folder, (folderCounts.get(folder) || 0) + 1);
713
716
  for (const segment of parts.slice(0, -1)) dirSegments.add(segment);
714
717
  }
715
718
  const dominantRootRatio =
@@ -721,11 +724,23 @@ export function computeQualityAspectRatings(
721
724
  ? 0
722
725
  : [...dirSegments].filter(segment => vagueDirPattern.test(segment)).length
723
726
  / dirSegments.size;
727
+ const maxFolderFileCount =
728
+ folderCounts.size === 0 ? 0 : Math.max(...folderCounts.values());
729
+ const maxFolderShare = maxFolderFileCount / totalFiles;
730
+ const folderBloatPressure =
731
+ maxFolderFileCount < 12 ? 0 : Math.max(0, maxFolderShare - 0.35);
732
+ const bloatedFolderCount = [...folderCounts.values()].filter(
733
+ count => count >= 20 || (count >= 12 && count / totalFiles >= 0.35)
734
+ ).length;
735
+ const folderBucketCount = Math.max(1, folderCounts.size);
736
+ const bloatedFolderRatio = bloatedFolderCount / folderBucketCount;
724
737
  const folderScore = clampScore(
725
738
  100
726
739
  - softPenalty(Math.max(0, (avgDepth - 4) / 3), 20, 1.3)
727
740
  - softPenalty(Math.max(0, dominantRootRatio - 0.55), 18, 2.0)
728
741
  - softPenalty(vagueDirRatio, 24, 2.2)
742
+ - softPenalty(folderBloatPressure, 18, 2.0)
743
+ - softPenalty(bloatedFolderRatio, 14, 1.8)
729
744
  );
730
745
  aspects.push({
731
746
  aspect: 'folder-topology',
@@ -735,7 +750,7 @@ export function computeQualityAspectRatings(
735
750
  grade: gradeScore(folderScore),
736
751
  confidence: confidenceFromSample(filePaths.length),
737
752
  rationale:
738
- 'Rates how navigable the folder model is by blending depth balance, top-level concentration, and reliance on vague utility/common directories.',
753
+ 'Rates how navigable the folder model is by blending depth balance, top-level concentration, leaf-folder bloat, and reliance on vague utility/common directories.',
739
754
  signals: [
740
755
  {
741
756
  label: 'Average path depth',
@@ -752,6 +767,16 @@ export function computeQualityAspectRatings(
752
767
  value: `${Math.round(vagueDirRatio * 100)}%`,
753
768
  effect: vagueDirRatio > 0.2 ? 'negative' : 'neutral',
754
769
  },
770
+ {
771
+ label: 'Largest folder file count',
772
+ value: String(maxFolderFileCount),
773
+ effect: maxFolderFileCount >= 20 ? 'negative' : 'neutral',
774
+ },
775
+ {
776
+ label: 'Bloated folders',
777
+ value: `${bloatedFolderCount}/${folderBucketCount}`,
778
+ effect: bloatedFolderCount > 0 ? 'negative' : 'neutral',
779
+ },
755
780
  ],
756
781
  });
757
782
 
@@ -940,14 +965,25 @@ export function computeQualityAspectRatings(
940
965
  const style = classifyFileNameStyle(baseName);
941
966
  styleCounts.set(style, (styleCounts.get(style) || 0) + 1);
942
967
  }
968
+ const folderStyleCounts = new Map<string, number>();
969
+ for (const segment of dirSegments) {
970
+ const style = classifyFileNameStyle(segment);
971
+ folderStyleCounts.set(style, (folderStyleCounts.get(style) || 0) + 1);
972
+ }
943
973
  const dominantStyleRatio =
944
974
  styleCounts.size === 0 ? 1 : Math.max(...styleCounts.values()) / totalFiles;
975
+ const folderSegmentCount = Math.max(1, dirSegments.size);
976
+ const dominantFolderStyleRatio =
977
+ folderStyleCounts.size === 0
978
+ ? 1
979
+ : Math.max(...folderStyleCounts.values()) / folderSegmentCount;
945
980
  const tsFileCount = filePaths.filter(file => /\.(ts|tsx)$/i.test(file)).length;
946
981
  const jsFileCount = filePaths.filter(file => /\.(js|jsx|mjs|cjs)$/i.test(file)).length;
947
982
  const mixedExtensionRatio = (Math.min(tsFileCount, jsFileCount) / totalFiles) * 2;
948
983
  const consistencyScore = clampScore(
949
984
  100
950
985
  - softPenalty(1 - dominantStyleRatio, 24, 2.0)
986
+ - softPenalty(1 - dominantFolderStyleRatio, 12, 1.8)
951
987
  - softPenalty(mixedExtensionRatio, 12, 1.6)
952
988
  - softPenalty(genericFileCount / totalFiles, 10, 1.6)
953
989
  );
@@ -959,13 +995,18 @@ export function computeQualityAspectRatings(
959
995
  grade: gradeScore(consistencyScore),
960
996
  confidence: confidenceFromSample(filePaths.length),
961
997
  rationale:
962
- 'Rates naming/structure consistency with soft penalties for mixed filename styles, mixed TS/JS surface area, and generic file naming concentration.',
998
+ 'Rates naming/structure consistency with soft penalties for mixed file and folder naming styles, mixed TS/JS surface area, and generic file naming concentration.',
963
999
  signals: [
964
1000
  {
965
1001
  label: 'Dominant naming style',
966
1002
  value: `${Math.round(dominantStyleRatio * 100)}%`,
967
1003
  effect: dominantStyleRatio >= 0.7 ? 'positive' : 'negative',
968
1004
  },
1005
+ {
1006
+ label: 'Dominant folder naming style',
1007
+ value: `${Math.round(dominantFolderStyleRatio * 100)}%`,
1008
+ effect: dominantFolderStyleRatio >= 0.7 ? 'positive' : 'negative',
1009
+ },
969
1010
  {
970
1011
  label: 'TS/JS mix ratio',
971
1012
  value: `${Math.round((Math.min(tsFileCount, jsFileCount) / totalFiles) * 100)}%`,
@@ -306,4 +306,4 @@ Tools responding = setup complete.
306
306
  | Skills not loading | Verify `~/<client>/skills/<skill>/SKILL.md` has `name` + `description` |
307
307
  | Already installed, want to update | Add `--force`: `npx octocode-cli install --ide cursor --force` |
308
308
 
309
- Docs: [Auth](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/docs/AUTHENTICATION_SETUP.md) · [CLI Reference](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-cli/docs/CLI_REFERENCE.md) · [Skills](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-cli/docs/SKILLS_GUIDE.md)
309
+ Docs: [Auth](https://github.com/bgauryy/octocode-mcp/blob/main/docs/configuration/providers/AUTHENTICATION_SETUP.md) · [CLI Reference](https://github.com/bgauryy/octocode-mcp/blob/main/docs/dev/reference/CLI_REFERENCE.md) · [Skills](https://github.com/bgauryy/octocode-mcp/blob/main/docs/dev/SKILLS_GUIDE.md)
@@ -36,8 +36,8 @@ npx add-skill https://github.com/bgauryy/octocode-mcp/tree/main/skills/octocode-
36
36
 
37
37
  ### For PR Mode (Remote Pull Requests)
38
38
 
39
- - **Octocode MCP server** running with GitHub/GitLab authentication
40
- - See [Authentication Setup](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/docs/AUTHENTICATION_SETUP.md)
39
+ - **Octocode MCP server** running with GitHub authentication
40
+ - See [Authentication Setup](https://github.com/bgauryy/octocode-mcp/blob/main/docs/configuration/providers/AUTHENTICATION_SETUP.md)
41
41
 
42
42
  ### For Local Mode (Local Changes) — `ENABLE_LOCAL=true`
43
43
 
@@ -64,7 +64,7 @@ export ENABLE_LOCAL=true
64
64
  | **Local Filesystem** | `localSearchCode`, `localViewStructure`, `localFindFiles`, `localGetFileContent` | Search, explore, and read code in your workspace |
65
65
  | **LSP Semantic** | `lspGotoDefinition`, `lspFindReferences`, `lspCallHierarchy` | Jump to definitions, find all usages, trace call chains |
66
66
 
67
- > **Full documentation:** [Local Tools Reference](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/docs/LOCAL_TOOLS_REFERENCE.md) | [Configuration Reference](https://github.com/bgauryy/octocode-mcp/blob/main/docs/CONFIGURATION_REFERENCE.md)
67
+ > **Full documentation:** [Local Tools Reference](https://github.com/bgauryy/octocode-mcp/blob/main/docs/dev/reference/LOCAL_TOOLS_REFERENCE.md) | [Configuration Reference](https://github.com/bgauryy/octocode-mcp/blob/main/docs/configuration/CONFIGURATION_REFERENCE.md)
68
68
 
69
69
  **Verify it's working:**
70
70
 
@@ -237,8 +237,8 @@ Optionally saved to:
237
237
  | [references/verification-checklist.md](./references/verification-checklist.md) | Full delivery checklist |
238
238
  | [references/parallel-agent-protocol.md](./references/parallel-agent-protocol.md) | Multi-agent swarm strategy |
239
239
  | [references/output-template.md](./references/output-template.md) | Report format template (PR + Local) |
240
- | [Local Tools Reference](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/docs/LOCAL_TOOLS_REFERENCE.md) | Full local + LSP tool documentation |
241
- | [Configuration Reference](https://github.com/bgauryy/octocode-mcp/blob/main/docs/CONFIGURATION_REFERENCE.md) | `ENABLE_LOCAL` and other settings |
240
+ | [Local Tools Reference](https://github.com/bgauryy/octocode-mcp/blob/main/docs/dev/reference/LOCAL_TOOLS_REFERENCE.md) | Full local + LSP tool documentation |
241
+ | [Configuration Reference](https://github.com/bgauryy/octocode-mcp/blob/main/docs/configuration/CONFIGURATION_REFERENCE.md) | `ENABLE_LOCAL` and other settings |
242
242
 
243
243
  ---
244
244
 
@@ -104,7 +104,7 @@ Or in the Octocode config file (`local.enabled: true`).
104
104
 
105
105
  Set ENABLE_LOCAL=true in your Octocode MCP configuration.
106
106
 
107
- See: https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/docs/LOCAL_TOOLS_REFERENCE.md
107
+ See: https://github.com/bgauryy/octocode-mcp/blob/main/docs/dev/reference/LOCAL_TOOLS_REFERENCE.md
108
108
 
109
109
  Alternatively, push your changes to a PR and I can review that instead.
110
110
  ```
@@ -346,4 +346,4 @@ yarn install
346
346
 
347
347
  ---
348
348
 
349
- *This skill wraps `octocode-mcp` tools as HTTP endpoints. For tool-specific documentation, see the [octocode-mcp package](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/AGENTS.md).*
349
+ *This skill wraps `octocode-mcp` tools as HTTP endpoints. For tool-specific documentation, see the [octocode-mcp package](https://github.com/bgauryy/octocode-mcp/blob/main/AGENTS.md).*
@@ -42,7 +42,7 @@ The server is not just a pass-through — it provides a persistent runtime layer
42
42
  npx add-skill https://github.com/bgauryy/octocode-mcp/tree/main/skills/octocode-research
43
43
  ```
44
44
 
45
- > Requires GitHub auth. See [Authentication Setup](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/docs/AUTHENTICATION_SETUP.md).
45
+ > Requires GitHub auth. See [Authentication Setup](https://github.com/bgauryy/octocode-mcp/blob/main/docs/configuration/providers/AUTHENTICATION_SETUP.md).
46
46
 
47
47
  Or manually:
48
48
 
@@ -201,7 +201,7 @@ Collects de-identified telemetry (usage counts, error rates). Never collects sou
201
201
  | [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) | Architecture |
202
202
  | [docs/API_REFERENCE.md](./docs/API_REFERENCE.md) | Full API reference |
203
203
  | [docs/FLOWS.md](./docs/FLOWS.md) | Request flow diagrams |
204
- | [Troubleshooting](https://github.com/bgauryy/octocode-mcp/blob/main/docs/TROUBLESHOOTING.md) | Common issues |
204
+ | [Troubleshooting](https://github.com/bgauryy/octocode-mcp/blob/main/docs/configuration/TROUBLESHOOTING.md) | Common issues |
205
205
 
206
206
  ---
207
207
 
@@ -63,7 +63,7 @@ The `octocode-research` skill is an HTTP API server that provides code research
63
63
 
64
64
  ┌─────────────────────────────────────────────────────────────────┐
65
65
  │ External Systems │
66
- │ • Local filesystem (ripgrep, grep, fs)
66
+ │ • Local filesystem (bundled ripgrep, fs)
67
67
  │ • GitHub API (via Octokit) │
68
68
  │ • NPM Registry API │
69
69
  │ • PyPI API │