Commit graph

184 commits

Author SHA1 Message Date
matt korwel
5032b27011
0.4.0 (#8136) 2025-09-10 00:23:44 +00:00
joshualitt
f0bbfe5f0a
feat(core): Download ripgrep at runtime, if enabled. (#7818) 2025-09-08 21:44:56 +00:00
Sandy Tao
c031f538df
chore(release): v0.3.4 (#7902)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-09-06 20:53:00 +00:00
Sandy Tao
fe15b04f33
chore(release): v0.3.3 (#7854)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-09-06 04:30:24 +00:00
Gal Zahavi
dfd622e096
fix(ci): fix windows e2e tests (#7749) 2025-09-05 23:54:46 +00:00
Pascal Birchler
c38247ed5c
Reduce bundle size & check it in CI (#7395) 2025-09-04 21:00:27 +00:00
matt korwel
e088c06a9a
chore(release): v0.3.1 (#7742)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-09-04 12:57:14 -07:00
matt korwel
deda119bea
Takethree (#7740)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>
Co-authored-by: christine betts <chrstn@uw.edu>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Bryan Morgan <bryanmorgan@google.com>
Co-authored-by: anthony bushong <agmsb@users.noreply.github.com>
2025-09-04 19:27:51 +00:00
ljxfstorm
f80f7b445c
Restore missing resolved and integrity of some dependencies and add check of lockfile integrity (#5336)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
2025-08-29 16:43:56 +00:00
N. Taylor Mullen
4b60cba66b
chore(release): v0.2.2 (#7319) 2025-08-28 09:08:03 -07:00
N. Taylor Mullen
59cdf5933f
chore(release): v0.2.1 (#7200) 2025-08-27 00:04:08 -07:00
cornmander
1baa74ebbf
Update build command to set GEMINI_SANDBOX var. (#7159)
Bypassing flaky test.
2025-08-26 20:11:39 -04:00
Adam Weidman
bfef867ba7
Add a2a-server package to gemini-cli (#6597) 2025-08-26 20:49:25 +00:00
Jacob Richman
df79433bec
Downgrade version of ripgrep to the version from 7 months ago without a node 22 dependency (#7132) 2025-08-26 18:58:19 +00:00
yoshi-taka
0324dc2eb2
chore: unused deps (#7109)
Co-authored-by: cornmander <shikhman@google.com>
2025-08-26 15:20:56 +00:00
yoshi-taka
28912589d0
unused deps (#4732) 2025-08-25 22:17:48 +00:00
christine betts
0bd496bd51
[extensions] Add extension management install command (#6703) 2025-08-25 17:02:10 +00:00
Pascal Birchler
49cce8a15d
chore(test): install and configure vitest eslint plugin (#3228)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-08-25 14:21:47 +00:00
fuyou
ef46d64ae5
Fix(grep): memory overflow in grep search and enhance test coverage (#5911)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-08-22 06:10:45 +00:00
Gal Zahavi
f1575f6d8d
feat(core): refactor shell execution to use node-pty (#6491)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-08-19 23:03:51 +00:00
Gal Zahavi
1a2906a8ad
Revert #6088 (#6328) 2025-08-15 17:27:33 +00:00
Gal Zahavi
980091cbc2
feat(core): refactor shell execution to use node-pty (#6088) 2025-08-14 20:40:12 +00:00
matt korwel
3e004048cf
chore(release): v0.1.21 (#6207)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-08-14 06:14:25 +00:00
Tommaso Sciortino
9d023be1d1
Upgrade integration tests to use Vitest (#6021) 2025-08-12 22:57:27 +00:00
Richie Foreman
f34012034c
chore(vscode): Add Build & Launch CLI option to vscode project (#6027) 2025-08-12 18:53:11 +00:00
Shreya Keshive
4ecfb478b0
chore(release): v0.1.19 (#6069)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-08-12 18:37:49 +00:00
Richie Foreman
7cc6b8c270
chore(usage telemetry): Freshen up Clearcut logging (#6013)
Co-authored-by: christine betts <chrstn@uw.edu>
Co-authored-by: Jacob Richman <jacob314@gmail.com>
Co-authored-by: matt korwel <matt.korwel@gmail.com>
2025-08-12 18:31:59 +00:00
Jacob Richman
804c181ac4
chore(integration-tests): refactor to typescript (#5645) 2025-08-12 16:19:09 +00:00
cornmander
110e00178b
Add --experimental-cli to speed up prettier formatting. (#5999)
Co-authored-by: Seth Troisi <sethtroisi@google.com>
Co-authored-by: matt korwel <matt.korwel@gmail.com>
2025-08-11 19:09:12 +00:00
N. Taylor Mullen
c184ec3224
chore(release): v0.1.18 (#5864) 2025-08-08 17:26:43 -07:00
Gal Zahavi
86eaa03f8a
feat(telemetry): Prevent memory leak in ClearcutLogger (#5734) 2025-08-08 01:53:39 +00:00
Lee James
1fb680bacc
bug(tests): fix test errors (#5678)
Co-authored-by: matt korwel <matt.korwel@gmail.com>
2025-08-06 19:26:46 +00:00
N. Taylor Mullen
c7a1de4983
chore(release): v0.1.17 (#5561) 2025-08-04 21:37:32 -07:00
N. Taylor Mullen
70478b92a9
chore(release): v0.1.16 (#5478) 2025-08-03 13:38:03 -07:00
Niladri Das
9a6422f331
fix: CLAUDE.md compatibility for GEMINI.md '@' file import behavior (#2978)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Allen Hutchison <adh@google.com>
2025-07-31 16:36:50 +00:00
N. Taylor Mullen
fd434626c5
chore(release): v0.1.15 (#5163) 2025-07-29 22:03:54 -07:00
christine betts
e05173d9cc
Move vscode extension build into its own command (#4799) 2025-07-24 18:40:50 +00:00
Abhi
9daead63dd
(feat): Initial Version of Custom Commands (#4572) 2025-07-22 04:34:55 +00:00
N. Taylor Mullen
fe00686c58
chore(release): v0.1.13 (#4515) 2025-07-19 13:40:55 -07:00
N. Taylor Mullen
8d9dc44b71
Revert "Update to yargs v18 (#3759)" (#4252) 2025-07-15 12:36:54 -07:00
Pascal Birchler
2862ae7344
Update to yargs v18 (#3759) 2025-07-15 06:09:12 +00:00
N. Taylor Mullen
b018e2d3ad
Fix docker release yaml to use correct commands. (#4025) 2025-07-12 23:46:49 -07:00
N. Taylor Mullen
8cf7f530e1
chore(release): v0.1.12 (#4023) 2025-07-12 23:09:54 -07:00
N. Taylor Mullen
6ebe97c704
chore(release): v0.1.11 (#3939) 2025-07-12 00:33:17 +00:00
matt korwel
75a128e7ee
chore(release): v0.1.10 (#3749)
Co-authored-by: Gaurav <39389231+gsquared94@users.noreply.github.com>
Co-authored-by: Aryan Sawant <156219699+aryanjsawant@users.noreply.github.com>
Co-authored-by: neo.alienson <neo@01man.com>
2025-07-10 16:55:22 +00:00
N. Taylor Mullen
d094026b3b
fix(deps): revert yargs bump and fix npx regression (#3610) 2025-07-08 23:44:56 -07:00
dependabot[bot]
b12149be7c
chore(deps): bump mime-types and @types/mime-types (#3582)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-09 05:44:40 +00:00
dependabot[bot]
f6cd65190f
chore(deps): bump yargs from 17.7.2 to 18.0.0 (#3590)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-09 05:40:56 +00:00
matt korwel
a4097ae6f9
Release and Packaging: Clean up (#3489) 2025-07-07 23:36:51 +00:00
matt korwel
20825e4114
Release misc (#3418) 2025-07-07 03:16:42 +00:00
BigUncle
b564d4a088
fix(core): Sanitize tool parameters to fix 400 API errors (#3300) 2025-07-05 21:58:51 +00:00
matt korwel
a7256f630c
Relase: Clean up and condensing (#3321) 2025-07-05 20:58:59 +00:00
matt korwel
47dc16d243
feat: Update minimum Node.js version to 20 (#3277) 2025-07-05 14:55:15 +00:00
matt korwel
e90e0015ea
Signing tags (#3254) 2025-07-04 22:04:05 +00:00
matt korwel
9ff3592e01
Mk nightly relase tag formatting (#3206) 2025-07-04 16:30:29 +00:00
matt korwel
d43ea268b0
Releasing: Utilizing Github Actions and Tagging for release. (#2852)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-04 03:57:01 +00:00
Brandon Keiji
34935d6558
chore: bump version to 0.1.9 (#2906) 2025-07-01 23:30:04 +00:00
Brandon Keiji
e8d5dec380
chore: bump to 0.1.8 (#2308) 2025-06-28 00:08:16 +00:00
Xi Chen
d35e7d3eb1
Fix a circular dependency (#2246)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-27 20:59:47 +00:00
Brandon Keiji
8d1d40cc7a
chore: bump to 0.1.6 (#2285) 2025-06-27 20:57:07 +00:00
Brandon Keiji
bf873a1d85
feat: add prepublishOnly checks (#2052) 2025-06-26 23:49:43 +00:00
Brandon Keiji
d9892ada7f
fix: add repository field to package.jsons (#2032) 2025-06-26 22:36:34 +00:00
Jennifer Davis
4d4b95a41d
fix: add engines check to ensure older Node.js versions don't fail at… (#1752) 2025-06-26 04:09:40 +00:00
Brandon Keiji
01ff27709d
chore: bump to 0.1.5 (#1731) 2025-06-26 02:48:16 +00:00
Brandon Keiji
a8763abfb7
feat: add release trigger configuration (#1697) 2025-06-26 01:54:58 +00:00
matt korwel
6991ba1387
Version 0 1 1 (#1426) 2025-06-25 13:47:27 +00:00
Brandon Keiji
f6c36f75e3
fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +00:00
matt korwel
9a093e4b51
CI: Linting Fix (#1413)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-25 04:18:51 +00:00
Jerop Kipruto
58572a6eaa
Use concurrently to run start script with GCP telemetry (#1329)
## TLDR

Introduces the `concurrently` package to simplify the dev startup process with GCP telemetry enabled.

## Dive Deeper

Previously, developers had to run the telemetry script and the main application start script in separate terminals. This change updates the `start:gcp` script to use `concurrently`, allowing both processes to be launched and managed with a single command. This improves the developer experience and reduces the chance of forgetting to start one of the required processes. 

## Reviewer Test Plan
Set the required environment variable:

```shell
export OTLP_GOOGLE_CLOUD_PROJECT=<your-project-id>
```

Run the following command:

```shell
npm run start:gcp
```

#750 

cc @teeler
2025-06-23 22:01:22 +00:00
N. Taylor Mullen
3c656cfbc6
feat: Only show ctrl-s when idle (#1299) 2025-06-22 15:57:53 +00:00
matt korwel
04518b52c0
Auth First Run (#1207)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-19 16:52:22 -07:00
Brandon Keiji
10a83a6395
refactor: remove docker tagging step from sandbox publishing (#1223) 2025-06-19 12:19:39 -07:00
matt korwel
df938d6ee8
Preflight and integration npx (#1096) 2025-06-16 15:27:29 +00:00
Jerop Kipruto
7f06ad40c5
Add a command for starting Gemini CLI with GCP telemetry (#1079)
This command enables starting the application with GCP telemetry:

```shell
npm run start:gcp
```
2025-06-15 21:28:29 -04:00
Jerop Kipruto
53753f0455
Add telemetry command and refactor telemetry settings (#1060)
#750 

### Telemetry Settings
Refactors telemetry configuration to use a nested `telemetry` object in `settings.json`, for example:

```json
{
  "telemetry": {
    "enabled": true,
    "target": "gcp"
    "log-prompts": "true"
  },
  "sandbox": false
}
```

The above includes
- Centralized telemetry settings under a `telemetry` object in `settings.json`.
- CLI flags for the `gemini` command to override all telemetry sub-settings:
    - `--telemetry` / `--no-telemetry`
    - `--telemetry-target <local|gcp>`
    - `--telemetry-otlp-endpoint <URL>`
    - `--telemetry-log-prompts` / `--no-telemetry-log-prompts`
- Updates `packages/cli/src/config/config.ts` and `packages/core/src/config/config.ts` to read from the new settings structure and respect the new CLI flags.
- Modifies `scripts/handle-telemetry.js`, `scripts/local_telemetry.js`, and `scripts/telemetry_utils.js` to align with the new settings structure.
- Updates `docs/core/telemetry.md` to reflect the new settings structure, CLI flags, and order of precedence.
- Renames `logUserPromptsEnabled` to `logPrompts` for brevity.

### `npm run telemetry`

Add a new `npm run telemetry` command that uses `scripts/telemetry.js`, automates the entire process of setting up a local and GCP telemetry pipelines, including configuring the necessary settings in the `.gemini/settings.json` workspace file and installing required binaries (e.g. `otelcol-contrib`).

---
```shell
$ npm run telemetry -- --target=gcp

> gemini-cli@0.1.0 telemetry
> node scripts/telemetry.js --target=gcp

⚙️  Using command-line target: gcp
🚀 Running telemetry script for target: gcp.
 Starting Local Telemetry Exporter for Google Cloud 
⚙️  Enabled telemetry in workspace settings.
🔧 Set telemetry OTLP endpoint to http://localhost:4317.
🎯 Set telemetry target to gcp.
 Workspace settings updated.
 Using Google Cloud Project ID: foo-bar

🔑 Please ensure you are authenticated with Google Cloud:
  - Run `gcloud auth application-default login` OR ensure `GOOGLE_APPLICATION_CREDENTIALS` environment variable points to a valid service account key.
  - The account needs "Cloud Trace Agent", "Monitoring Metric Writer", and "Logs Writer" roles.
 otelcol-contrib already exists at /Users/jerop/github/gemini-cli/.gemini/otel/bin/otelcol-contrib
🧹 Cleaning up old processes and logs...
 Deleted old GCP collector log.
📄 Wrote OTEL collector config to /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.yaml
🚀 Starting OTEL collector for GCP... Logs: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log
 Waiting for OTEL collector to start (PID: 17013)...
 OTEL collector started successfully on port 4317.

 Local OTEL collector for GCP is running.

🚀 To send telemetry, run the Gemini CLI in a separate terminal window.

📄 Collector logs are being written to: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log

📊 View your telemetry data in Google Cloud Console:
   - Logs: https://console.cloud.google.com/logs/query;query=logName%3D%22projects%2Ffoo-bar%2Flogs%2Fgemini_cli%22?project=foo-bar
   - Metrics: https://console.cloud.google.com/monitoring/metrics-explorer?project=foo-bar
   - Traces: https://console.cloud.google.com/traces/list?project=foo-bar

Press Ctrl+C to exit.
^C
👋 Shutting down...
⚙️  Disabled telemetry in workspace settings.
🔧 Cleared telemetry OTLP endpoint.
🎯 Cleared telemetry target.
 Workspace settings updated.
🛑 Stopping otelcol-contrib (PID: 17013)...
 otelcol-contrib stopped.
```
2025-06-15 00:47:32 -04:00
dependabot[bot]
9072a4e5ee
chore(deps-dev): bump esbuild from 0.23.1 to 0.25.0 (#872)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-12 06:21:50 +00:00
matt korwel
3b943c1582
Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility (#784) 2025-06-09 12:19:42 -07:00
matt korwel
37edbd8c18
Rollforward AST changes to unblock Sandboxing (#863) 2025-06-08 19:07:25 -07:00
Olcan
7e73f57556
use -s flag (to skip npm install + build) for build_sandbox.sh when running via npm run build:all (#858) 2025-06-08 16:36:52 -07:00
matt korwel
584286cfd9
fix(deps): externalize tree-sitter (#840)
Submitting without approval to fix broken deployment on main. But also, we should lock this down.
2025-06-08 02:05:55 -07:00
matt korwel
f1a4e5d4d3
Creating Node AST Tool. (#756) 2025-06-07 12:07:58 -07:00
Eddie Santos
422c763a55
Add support for .geminiignore file (#757) 2025-06-05 10:15:27 -07:00
anj-s
78b2a28fb6
Checks for diff changes before displaying the code snippet (#751) 2025-06-05 06:48:03 -07:00
Allen Hutchison
53bf778497
feat: allow custom filename for context files (#654)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-05-31 12:49:28 -07:00
Scott Densmore
98699a0ab5
Refactor: Align build scripts with core package rename (#641) 2025-05-30 20:16:35 -07:00
Tommaso Sciortino
21fba832d1
Rename server->core (#638) 2025-05-30 18:25:47 -07:00
Brandon Keiji
cf82b6e127
fix(sandbox): prepare package.json before building sandbox image (#626) 2025-05-30 19:57:46 +00:00
Brandon Keiji
31a7affb74
feat(sandbox): use package config to dictate sandbox image name (#624) 2025-05-30 19:28:46 +00:00
Olcan
094b9dc474
use npx json instead of jq (#617) 2025-05-30 01:12:36 -07:00
Brandon Keiji
2582c20e2a
fix: publish @gemini-code/server (#605) 2025-05-29 23:55:34 +00:00
Seth Troisi
2db5d83023 fix name in package.json 2025-05-29 15:56:05 -07:00
Brandon Keiji
dc94a03f39
feat: publish root Dockerfile to our image registry (#599) 2025-05-29 14:01:44 -07:00
Brandon Keiji
fd6f6b02ea
feat: add git branch name to footer (#589) 2025-05-28 16:30:05 -07:00
DeWitt Clinton
27a773d5b2
Display git commit info in the /about section. (#567)
This change detects the most recent git commit short hash and writes it to the `GIT_COMMIT_INFO` constant in `packages/cli/src/generated/git-commit.sh`, optionally appending the string "(local modifications)" if additional local changes after that commit are detected.

If set, this string is displayed in the `/about` dialog as well as passed into the `/bug` template.

Example:

```
> /about

╭───────────────────────────────────────────────────────────────────────────╮
│                                                                           │
│ About Gemini CLI                                                          │
│                                                                           │
│ CLI Version               development                                     │
│ Git Commit                43370ab (local modifications)                   │
│ Model                     gemini-2.5-pro-preview-05-06                    │
│ Sandbox                   sandbox-exec (minimal)                          │
│ OS                        darwin v23.11.0                                 │
│                                                                           │
╰───────────────────────────────────────────────────────────────────────────╯
```

Additionally, this change updates `.gitignore` to ignore the generated files, `scripts/clean.sh` to remove them, and adds a `npm run generate` stage for this and any other generators we need to write.
2025-05-28 00:04:26 -07:00
Allen Hutchison
4e3c539f5e
feat: Publish test coverage summaries to PRs (#513) 2025-05-27 12:45:28 -07:00
Taylor Mullen
b3f52e215a feat: Replace SQLite with JSON logging for macOS sandbox compatibility
- Removes the sqlite3 dependency and refactors the logging mechanism to use a JSON file (logs.json) instead of a database.
- This change is a temporary workaround to address issues with macOS sandboxing that were caused by the SQLite native module.
- Storing all logs in a single JSON file may introduce scalability concerns in the future.

Fixes https://github.com/google-gemini/gemini-cli/issues/522
2025-05-26 16:13:37 -07:00
Taylor Mullen
4a6833ef49 feat: Enable npx execution on tagged versions
- Modify root package.json to allow publishing
- Update "files" to include only essential bundled assets

This change makes it possible to use npx with tagged versions of the
gemini-cli package (e.g., npx https://github.com/google-gemini/gemini-cli@early-access).
It removes "private: true" and refines the "files" array to ensure
that only the necessary bundled assets are included when the package is
fetched by npx, optimizing download size and ensuring correct execution.
2025-05-23 15:55:29 -07:00
Taylor Mullen
8590efd229 feat: Enable npx execution directly from GitHub URL
This commit modifies the packaging setup to allow the CLI to be
executed directly from its GitHub URL using `npx`, for example:
`npx https://github.com/google-gemini/gemini-cli` (once merged to main).
This is achieved without requiring the bundle to be checked into
the repository.

Key changes and motivations:

- Modify `scripts.prepare` to run `npm run bundle`:
  Ensures the CLI bundle is generated automatically when `npx`
  installs the package from a git URL. This replaces previous
  approaches (e.g., using `prepack`) which were not consistently
  triggered in the `npx` environment.

- Update `scripts.bundle` to use a direct path for `esbuild`
  and externalize `sqlite3`:
  Using `node_modules/.bin/esbuild` provides a more reliable way
  to invoke the bundler. Externalizing `sqlite3` is crucial for
  correctly handling its native addon, preventing runtime errors.

- Add `bin`, `files`, and root `sqlite3` dependency:
  - The `bin` field defines the `gemini` command.
  - The `files` array ensures the generated `bundle/` directory is
    recognized by npm.
  - `sqlite3` is added as a root dependency to ensure it's
    installed by `npx` when `gemini-code` is fetched, allowing the
    externalized module to be resolved.

These changes collectively ensure that the necessary build artifacts
are created on-the-fly during `npx` installation, providing a
seamless execution experience directly from the GitHub repository URL.
2025-05-23 13:55:06 -07:00
Brandon Keiji
01971741e0
feat: add emphasis to tool confirmations (#502) 2025-05-23 05:28:31 +00:00
Allen Hutchison
efee7c6cce
Feat: Add test coverage scripts and ignore reports (#477) 2025-05-21 17:03:22 -07:00