Commit Graph

23 Commits

Author SHA1 Message Date
Olcan
a386841947 mount user settings in sandbox (#239) 2025-05-01 12:08:24 -07:00
Jacob Richman
7e8f379dfb Save settings to ~/.gemini/settings.json and optionally /your/workspace/.gemini/settings.json (#237) 2025-05-01 10:34:07 -07:00
Brandon Keiji
b27aae26c8 refactor: async-ify yargs (#236) 2025-05-01 01:00:53 +00:00
Allen Hutchison
8cf3e1611e Adding a full_context command line argument. (#158)
* Adding a full_context command line argument.

* Update packages/cli/src/config/config.ts

Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>

* lint fix.

---------

Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-04-24 16:08:29 -07:00
Olcan
aed42a726a remove target_dir flag (#149) 2025-04-24 10:21:10 -07:00
Allen Hutchison
9bc9c6e6c5 Question flag (#125) 2025-04-22 18:32:03 -07:00
Olcan
a7fba66832 env var to set default model, display model on lower right (#110) 2025-04-21 23:25:10 -07:00
Jaana Dogan
d4614619b4 Remove dead comments (#90) 2025-04-21 13:06:46 -07:00
Juliette Love
a76d9b4dcf Adds shell command allowlist (#68)
* Wire through passthrough commands

* Add default passthrough commands

* Clean up config passing to useGeminiStream
2025-04-20 21:06:22 +01:00
Juliette Love
a66ad2e2af Simple debug mode for CLI side (#66)
* Adds debug mode config flag.

* Wire through debug lines

* Add debug mode logging example

* Run format

* Run format again
2025-04-20 20:20:40 +01:00
Evan Senter
3fce6cea27 Starting to modularize into separate cli / server packages. (#55)
* Starting to move a lot of code into packages/server

* More of the massive refactor, builds and runs, some issues though.

* Fixing outstanding issue with double messages.

* Fixing a minor UI issue.

* Fixing the build post-merge.

* Running formatting.

* Addressing comments.
2025-04-19 19:45:42 +01:00
Jaana Dogan
65e8e3ed1f Show error when GEMINI_API_KEY is not set (#52)
Also fix the bug where the API key is used accidentally as the model name.
2025-04-18 19:26:16 -07:00
Tyler
4354458cad Add apache2 SPDX headers to all source files (#48) 2025-04-18 17:44:24 -07:00
Taylor Mullen
383b917784 Run npm run format
- This has the entirety of the changes.

Part of https://b.corp.google.com/issues/411720532
2025-04-18 18:10:57 -04:00
Jaana Dogan
328846c6e3 Remove extra args from config (#27)
We don't have a use case for them yet.
2025-04-18 11:26:39 -07:00
Jaana Dogan
3afaa8033b Introduce a config module to manage configuration (#22)
* Introduce a config module to manage configuration

* Remove public modifier
2025-04-18 11:12:18 -07:00
Evan Senter
dbf4c3a37c Revert "Including a test harness for it, and making sure the cursor is always at the end."
This reverts commit 97db77997f.
2025-04-18 18:36:33 +01:00
Brandon Keiji
999d0568fa Refactor: Update API key missing message with link (#23) 2025-04-18 10:25:32 -07:00
Evan Senter
97db77997f Including a test harness for it, and making sure the cursor is always at the end. 2025-04-18 18:16:52 +01:00
Taylor Mullen
e0339993ae Initial auto-fixing of linting errors.
- This is the result of runing `npm lint -- -fix`
2025-04-18 12:41:02 -04:00
Evan Senter
cb30351403 Adding a new parameter for model, and updating the default to 2.5 Flash. (#18) 2025-04-18 17:06:16 +01:00
Taylor Mullen
cfc697a96d Run npm run format
- Also updated README.md accordingly.

Part of https://b.corp.google.com/issues/411384603
2025-04-17 15:29:34 -07:00
Taylor Mullen
add233c504 Initial commit of Gemini Code CLI
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__
2025-04-17 13:19:55 -04:00