diff options
Diffstat (limited to 'packages/cli/src/gemini.ts')
| -rw-r--r-- | packages/cli/src/gemini.ts | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/packages/cli/src/gemini.ts b/packages/cli/src/gemini.ts index 0579f059..3a618b96 100644 --- a/packages/cli/src/gemini.ts +++ b/packages/cli/src/gemini.ts @@ -10,6 +10,12 @@ import { App } from './ui/App.js'; import { loadCliConfig } from './config/config.js'; import { readStdin } from './utils/readStdin.js'; import { GeminiClient } from '@gemini-code/server'; +import { readPackageUp } from 'read-package-up'; +import { fileURLToPath } from 'node:url'; +import { dirname } from 'node:path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); async function main() { const config = loadCliConfig(); @@ -17,14 +23,20 @@ async function main() { // Render UI, passing necessary config values. Check that there is no command line question. if (process.stdin.isTTY && input?.length === 0) { + const readUpResult = await readPackageUp({ cwd: __dirname }); + const cliVersion = + process.env.NODE_ENV === 'development' + ? 'local' + : (readUpResult?.packageJson.version ?? 'unknown'); + render( React.createElement(App, { config, + cliVersion, }), ); return; } - // If not a TTY, read from stdin // This is for cases where the user pipes input directly into the command if (!process.stdin.isTTY) { |
