summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui
AgeCommit message (Collapse)Author
2025-04-18Fix remaining tslint errors (YAY).Taylor Mullen
- Also updated ci.yml to ensure that linting failures will break the build. Fully fixes https://b.corp.google.com/issues/411384603
2025-04-18Run `npm run format`Taylor Mullen
- This has the entirety of the changes. Part of https://b.corp.google.com/issues/411720532
2025-04-18Manually fix hooks and utils linting errors (partial)Taylor Mullen
- More changes are to come, this is truly a partial change in order to not disrupt as many people as possible. Part of https://b.corp.google.com/issues/411384603
2025-04-18Iterm refactor (#33)Allen Hutchison
* Add a warning about the flickering in iTerm. * Move the iterm warning out of App.tsx.
2025-04-18Add a warning about the flickering in iTerm. (#32)Allen Hutchison
2025-04-18Warn if `npm run start` is out of date. (#20)Evan Senter
* Adding some wiring to allow the Ink app to warn if there are local development changes that haven't been captured in the recent build of the Gemini CLI. * Adding a new useAppEffects.ts file that wores some useEffect handlers in. * Updating package-lock.json to resolve `npm ci` issues. * Updating package-lock.json and package.json to resolve `npm ci` issues.
2025-04-18Introduce a config module to manage configuration (#22)Jaana Dogan
* Introduce a config module to manage configuration * Remove public modifier
2025-04-18Fix linting errors in a number of core and tool files (partial)Taylor Mullen
- As part of this work I also started building out errors.ts which will be a cumulation of error helpers to better handle the challenging `catch (error: unknown)` requirement. - More changes are to come, this is truly a partial change in order to not disrupt as many people as possible. Part of https://b.corp.google.com/issues/411384603
2025-04-18Revert "Adding some wiring to allow the Ink app to warn if there are local ↵Evan Senter
development changes that haven't been captured in the recent build of the Gemini CLI." This reverts commit 1bfc62dcc2c10e962d4a67009027b7187e690d03.
2025-04-18Revert "Adding support for up / down arrows in the command history."Evan Senter
This reverts commit 3829ac635307a77a1af0141c2db7f4135c74fcf6.
2025-04-18Revert "Including a test harness for it, and making sure the cursor is ↵Evan Senter
always at the end." This reverts commit 97db77997fd6369031d2f1cf750051999fb0b5b5.
2025-04-18Including a test harness for it, and making sure the cursor is always at the ↵Evan Senter
end.
2025-04-18Adding support for up / down arrows in the command history.Evan Senter
2025-04-18Adding some wiring to allow the Ink app to warn if there are local ↵Evan Senter
development changes that haven't been captured in the recent build of the Gemini CLI.
2025-04-18Initial auto-fixing of linting errors.Taylor Mullen
- This is the result of runing `npm lint -- -fix`
2025-04-18Adding a new parameter for model, and updating the default to 2.5 Flash. (#18)Evan Senter
2025-04-17Run `npm run format`Taylor Mullen
- Also updated README.md accordingly. Part of https://b.corp.google.com/issues/411384603
2025-04-17Fix build break (tool -> tools).Taylor Mullen
- Without this we'd get a TS1261 about the name "tool" only differeing from "Tool" (the class) by case.
2025-04-17Improve readability issuesJaana Dogan
This is only the first change of many changes. * Remove redundant autogenerated comments * Use the recommended file name style * Use camelCase for variable names * Don't introduce submodules for relevant types * Don't introduce constants like modules, these are implementation details * Remove empty files
2025-04-17Initial commit of Gemini Code CLITaylor Mullen
This commit introduces the initial codebase for the Gemini Code CLI, a command-line interface designed to facilitate interaction with the Gemini API for software engineering tasks. The code was migrated from a previous git repository as a single squashed commit. Core Features & Components: * **Gemini Integration:** Leverages the `@google/genai` SDK to interact with the Gemini models, supporting chat history, streaming responses, and function calling (tools). * **Terminal UI:** Built with Ink (React for CLIs) providing an interactive chat interface within the terminal, including input prompts, message display, loading indicators, and tool interaction elements. * **Tooling Framework:** Implements a robust tool system allowing Gemini to interact with the local environment. Includes tools for: * File system listing (`ls`) * File reading (`read-file`) * Content searching (`grep`) * File globbing (`glob`) * File editing (`edit`) * File writing (`write-file`) * Executing bash commands (`terminal`) * **State Management:** Handles the streaming state of Gemini responses and manages the conversation history. * **Configuration:** Parses command-line arguments (`yargs`) and loads environment variables (`dotenv`) for setup. * **Project Structure:** Organized into `core`, `ui`, `tools`, `config`, and `utils` directories using TypeScript. Includes basic build (`tsc`) and start scripts. This initial version establishes the foundation for a powerful CLI tool enabling developers to use Gemini for coding assistance directly in their terminal environment. --- Created by yours truly: __Gemini Code__