Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR implements a comprehensive rebranding and dependency cleanup across the Gobi codebase:
Purpose: Rename the CLI from "cn" to "gobi/gi", remove node-fetch dependency in favor of native fetch/undici, fix spelling errors, and correct package.json field names.
Key Changes:
- Rename CLI command from
cntogobi(withgialias) across all documentation, code, and tests - Replace
node-fetchdependency with native Node.js fetch and undici for advanced proxy/TLS scenarios - Fix
engine→enginestypo in multiple package.json files - Update test fixtures to use generic paths instead of developer-specific paths
- Add repository fields to package.json files across the workspace
Reviewed Changes
Copilot reviewed 131 out of 135 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| test-failures.md | New documentation file tracking test failures and triaging issues |
| sync/src/sync/mod.rs & sync/src/sync.rs | Updated test branch names from nate/pyO3 to example/pyO3 |
| pnpm-lock.yaml | Removed node-fetch dependency entries |
| packages/terminal-security/package.json | Fixed engine → engines typo, added repository field |
| packages/openai-adapters/src/util.ts | Removed patchedFetch import, simplified customFetch implementation |
| packages/openai-adapters/package.json | Removed node-fetch dependency, fixed engine → engines |
| packages/llm-info/package.json | Fixed engine → engines, added repository field |
| packages/hub/package.json | Fixed engine → engines, added repository field |
| packages/gui/vite.config.ts | Changed Sentry org from "gobi-xd" to "gobi", added ProseMirror error suppression |
| packages/gui/tsconfig.node.json | Changed moduleResolution from "bundler" to "Node" |
| packages/gui/tsconfig.json | Changed moduleResolution to "Node", disabled esModuleInterop, reduced types |
| packages/gui/src/util/gi.ts | Renamed function from cn to gi |
| packages/gui/src/pages/gui/ToolCallDiv/FindAndReplace.tsx | Updated imports and function calls to use gi |
| packages/gui/src/pages/config/components/*.tsx | Updated to use gi function instead of cn |
| packages/gui/src/pages/AddNewModel/configs/providers.ts | Updated documentation URLs from continue.dev to gourmand.dev, changed "Gobi" references in descriptions |
| packages/gui/src/pages/AddNewModel/configs/models.ts | BUG: Changed import from @gourmanddev/core to core (invalid) |
| packages/gui/src/index.css | Added import for compat CSS, reformatted comments |
| packages/gui/src/components/ui/*.tsx | Updated all UI components to use gi instead of cn |
| packages/gui/src/components/StyledMarkdownPreview/*.tsx | BUG: Changed import to use core/commands/util (invalid), replaced react-markdown with react-remark |
| packages/gui/src/components/*.tsx | Updated component imports and usage to reference gi |
| packages/gui/src/compat-old-index.css | New CSS file with VSCode variable fallbacks for webview theming |
| packages/gui/package.json | Fixed engine → engines, added repository field |
| packages/gobi-sdk/typescript/src/createOpenAIClient.ts | Removed node-fetch import |
| packages/gobi-sdk/typescript/package.json | BUG: Invalid JSON with trailing comma in exports field, updated test scripts |
| packages/gobi-sdk/typescript/jest.config.js | Added moduleNameMapper for workspace packages and node-fetch |
| packages/gobi-sdk/typescript/mocks/node-fetch.ts | New mock file for node-fetch in tests |
| packages/gobi-sdk/package.json | Added repository field |
| packages/fetch/src/index.ts | Removed patchedFetch export |
| packages/fetch/src/fetch.ts | Complete rewrite to use native fetch and undici instead of node-fetch |
| packages/fetch/package.json | Replaced node-fetch dependencies with undici, fixed engine → engines |
| packages/core/util/treeSitter.ts | Improved tree-sitter loader with fallback paths and dynamic import handling |
| packages/core/test/*.ts | Removed node-fetch imports |
| packages/core/test/mocks/mssql.js | New mock file for mssql tests |
| packages/core/package.json | Removed node-fetch dependency, fixed engine → engines, added repository |
| packages/core/llm/llms/Bedrock.ts | Made guardrails optional in test environment |
| packages/core/llm/llms/Bedrock.test.ts | Updated test assertions for guard content structure |
| packages/core/llm/countTokens.ts | Removed hardcoded developer path from comment |
| packages/core/jest.config.js | Added mssql mock, parse5 mapping, silent mode, test path ignores |
| packages/core/indexing/chunk/code.ts | Added fallback line-based chunker when parser unavailable |
| packages/core/edit/lazy/*.diff | Updated URLs from continue.dev to gourmand.dev |
| packages/core/edit/lazy/deterministic.ts | Added fallback Myers diff when AST parsing fails |
| packages/core/control-plane/*.ts | Removed node-fetch imports |
| packages/core/context/providers/_context-providers.vitest.ts | Removed node-fetch import, reordered imports |
| packages/config-yaml/package.json | Added repository field |
| packages/config-types/package.json | Added repository field |
| packages/binary/package.json | Changed description, enabled build script, removed node-fetch, added repository |
| packages/binary/jest.config.cjs | Added transformIgnorePatterns |
| packages/binary/.gobi/* | New test/mock files for binary package |
| package.json | Added vsix and e2e scripts, fixed engine → engines, added repository |
| extensions/vscode/vitest.config.ts | Added svg-builder aliases to avoid ESM import issues |
| extensions/vscode/src/util/vscode.ts | Made getExtensionUri robust to packaging variations |
| extensions/vscode/src/testShims/*.ts | New shims for svg-builder in tests |
| extensions/vscode/src/testSetup.ts | New vitest setup file with svg-builder mocks |
| extensions/vscode/src/stubs/WorkOsAuthProvider.vitest.ts | Extensive test improvements with proper mocks and timer handling |
| extensions/vscode/src/stubs/WorkOsAuthProvider.ts | Updated to use conditional timer functions for test compatibility |
| extensions/vscode/src/extension.ts | Changed error handling to use built-in VS Code command |
| extensions/vscode/src/autocomplete/tests/*.vitest.ts | Updated mock paths to use full @gourmanddev/core package names |
| extensions/vscode/src/autocomplete/GhostTextAcceptanceTracker.vitest.ts | Improved mocks to be constructible classes |
| extensions/vscode/src/activation/activate.ts | Added defensive check for yaml.schemas availability |
| extensions/vscode/src/activation/*.vitest.ts | Updated mock paths to use full package names |
| extensions/vscode/src/GobiGUIWebviewViewProvider.ts | Refactored HTML generation to use array concatenation, added CSS patching |
| extensions/vscode/scripts/prepackage.js | Added GUI build validation, CSS normalization, jsdom stylesheet copy |
| extensions/vscode/scripts/esbuild.js | Added CSS loader |
| extensions/vscode/package.json | Added vitest config, activation events, authentication providers, updated scripts |
| extensions/vscode/AST_TRACKER_NOTES.md | New documentation for AST tracker troubleshooting |
| extensions/cli/vitest.config.ts | Added coverage provider, src alias |
| extensions/cli/stubs/react-devtools-core.js | Expanded stub with more exports |
| extensions/cli/src/version.ts | Changed to use __dirname, made version check explicit function |
| extensions/cli/src/util/logger.ts | Made sentry import dynamic to avoid circular dependency |
| extensions/cli/src/ui/TipsDisplay.tsx | Changed "cn" references to "gobi"/"gi" |
| extensions/cli/src/tools/fetch.test.ts | Updated mock path to use full package name |
| extensions/cli/src/test-helpers/ui-test-context.ts | Fixed test mutation issue by copying chatMessages array |
| extensions/cli/src/telemetry/posthogService*.ts | Changed ideName from "cn" to "gobi" |
| extensions/cli/src/stream/*.ts | Changed CLI name references, made paths portable, removed hardcoded developer paths |
| extensions/cli/src/services/MCPService.test.ts | Made status assertion more lenient for timing variations |
| extensions/cli/src/sentry.ts | Made initialization explicit instead of auto-running |
| extensions/cli/src/integration/rule-duplication.test.ts | Changed test data from "nate/spanish" to "example/spanish" |
| extensions/cli/src/index.ts | Renamed CLI from "cn" to "gobi", added async init calls |
| extensions/cli/src/hubLoader.test.ts | Made real hub tests conditional on env variable |
| extensions/cli/src/e2e/*.test.ts | Updated test descriptions and expectations to use "gobi" |
| extensions/cli/src/configEnhancer.test.ts | Changed test data to use "example/spanish" |
| extensions/cli/src/auth/workos.ts | Removed node-fetch polyfill |
| extensions/cli/src/asciiArt.ts | Changed CN_ASCII_ART to GI_ASCII_ART |
| extensions/cli/spec/permissions.md | Updated all command examples from "cn" to "gobi" |
| extensions/cli/smoke-test.mjs | Updated to test "gobi" binary instead of "cn" |
| extensions/cli/package.json | Changed bin from "cn" to "gobi"/"gi", removed node-fetch |
| extensions/cli/demo.expect | Updated command to use "gobi" |
| extensions/cli/build.mjs | Complete rewrite with improved build process, fallback shims |
| extensions/cli/README.md | Updated all references from "cn" to "gobi"/"gi" |
| extensions/cli/BUILD.md | Updated build documentation |
| docs/guides/*.mdx | Updated documentation from "cn" to "gobi"/"gi", changed URLs |
| docs/cli/overview.mdx | Updated demo image reference |
| docs/customize/custom-providers.mdx | Changed GitHub issue assignee |
| actions/general-review/action.yml | Updated CLI command from "cn" to "gobi" |
| .vscode/settings.json | Added CSS formatter setting |
| .vscode/launch.json | Updated debug program path from "cn.js" to "gobi.js" |
| .npmrc | New file enforcing engine-strict |
| .github/workflows/*.yaml | Updated branch names and CLI commands |
| .astignore & .astconfig | New AST tracker configuration files |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ,"exports": { | ||
| ".": { | ||
| "import": "./src/index.ts", | ||
| "default": "./src/index.ts" | ||
| } | ||
| } |
There was a problem hiding this comment.
The exports field has a trailing comma before the closing brace, which creates invalid JSON. Remove the comma on line 34 after the closing brace of "engines".
| const { WorkOsAuthProvider } = await import("./WorkOsAuthProvider"); | ||
|
|
||
| // Spy on global.setInterval so we can assert it was scheduled | ||
| const setIntervalSpy = vi.spyOn(global as any, "setInterval"); |
There was a problem hiding this comment.
Unused variable setIntervalSpy.
| }); | ||
| } | ||
|
|
||
| lastIndex = tableRegex.lastIndex; |
There was a problem hiding this comment.
The value assigned to lastIndex here is unused.
Description
[ What changed? Feel free to be brief. ]
AI Code Review
@gobi-reviewChecklist
Screen recording or screenshot
[ When applicable, please include a short screen recording or screenshot - this makes it much easier for us as contributors to review and understand your changes. See this PR as a good example. ]
Tests
[ What tests were added or updated to ensure the changes work as expected? ]