summaryrefslogtreecommitdiff
path: root/package.json
AgeCommit message (Collapse)Author
2025-06-23Use concurrently to run start script with GCP telemetry (#1329)Jerop Kipruto
## 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-22feat: Only show ctrl-s when idle (#1299)N. Taylor Mullen
2025-06-19Auth First Run (#1207)matt korwel
Co-authored-by: Tommaso Sciortino <[email protected]> Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-19refactor: remove docker tagging step from sandbox publishing (#1223)Brandon Keiji
2025-06-16Preflight and integration npx (#1096)matt korwel
2025-06-15Add a command for starting Gemini CLI with GCP telemetry (#1079)Jerop Kipruto
This command enables starting the application with GCP telemetry: ```shell npm run start:gcp ```
2025-06-15Add telemetry command and refactor telemetry settings (#1060)Jerop Kipruto
#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 > [email protected] 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-12chore(deps-dev): bump esbuild from 0.23.1 to 0.25.0 (#872)dependabot[bot]
Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-09Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility โ†ตmatt korwel
(#784)
2025-06-08Rollforward AST changes to unblock Sandboxing (#863)matt korwel
2025-06-08use -s flag (to skip npm install + build) for build_sandbox.sh when running โ†ตOlcan
via npm run build:all (#858)
2025-06-08fix(deps): externalize tree-sitter (#840)matt korwel
Submitting without approval to fix broken deployment on main. But also, we should lock this down.
2025-06-07Creating Node AST Tool. (#756)matt korwel
2025-06-05Add support for `.geminiignore` file (#757)Eddie Santos
2025-06-05Checks for diff changes before displaying the code snippet (#751)anj-s
2025-05-31feat: allow custom filename for context files (#654)Allen Hutchison
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-30Refactor: Align build scripts with core package rename (#641)Scott Densmore
2025-05-30Rename server->core (#638)Tommaso Sciortino
2025-05-30fix(sandbox): prepare package.json before building sandbox image (#626)Brandon Keiji
2025-05-30feat(sandbox): use package config to dictate sandbox image name (#624)Brandon Keiji
2025-05-30use npx json instead of jq (#617)Olcan
2025-05-29fix: publish @gemini-code/server (#605)Brandon Keiji
2025-05-29fix name in package.jsonSeth Troisi
2025-05-29feat: publish root Dockerfile to our image registry (#599)Brandon Keiji
2025-05-28feat: add git branch name to footer (#589)Brandon Keiji
2025-05-28Display git commit info in the /about section. (#567)DeWitt Clinton
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-27feat: Publish test coverage summaries to PRs (#513)Allen Hutchison
2025-05-26feat: Replace SQLite with JSON logging for macOS sandbox compatibilityTaylor Mullen
- 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-23feat: Enable npx execution on tagged versionsTaylor Mullen
- 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-23feat: Enable npx execution directly from GitHub URLTaylor Mullen
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-23feat: add emphasis to tool confirmations (#502)Brandon Keiji
2025-05-21Feat: Add test coverage scripts and ignore reports (#477)Allen Hutchison
2025-05-20Support Images and PDFs (#447)Jacob Richman
2025-05-16fix: Ensure filename is available for diff rendering in write-fileTaylor Mullen
This commit resolves a bug where the `write-file` operation could fail to render content due to a missing filename. The fix involves: - Ensuring `fileName` is consistently passed to `DiffRenderer.tsx` through `ToolConfirmationMessage.tsx`, `ToolMessage.tsx`, and `useGeminiStream.ts`. - Modifying `edit.ts` and `write-file.ts` to include `fileName` in the `FileDiff` object. - Expanding the `FileDiff` interface in `tools.ts` to include `fileName`. Additionally, this commit enhances the diff rendering by: - Adding syntax highlighting based on file extension in `DiffRenderer.tsx`. - Adding more language mappings to `getLanguageFromExtension` in `DiffRenderer.tsx`. - Added lots of tests for all the above. Fixes https://b.corp.google.com/issues/418125982
2025-05-15feat: Enable CI test reporting and artifact management (#367)N. Taylor Mullen
2025-05-08Add bundling support.Taylor Mullen
- This can now be invoked with `npm run bundle`, it creates a `bundle/` folder that has: - gemini.js - sandbox-macos-minimal.sb - sandbox-macos-strict.sb - shell.json - shell.md - This doesn't include any sort of automation for auto bundling pieces. It's just the root capability which we can weave into other locations. Fixes https://b.corp.google.com/issues/411432723
2025-05-07fix: use react-jsx for typecheck (#280)Brandon Keiji
2025-05-07feat: add build:sandbox and build:all npm scripts (#274)Brandon Keiji
2025-05-07fix(sandbox): consolidate dev and prod sandbox (#273)Brandon Keiji
2025-04-25feat: prototype publish sandbox script with npm package (#182)Brandon Keiji
2025-04-24feat: add flag to customize package version during pre-release staging (#155)Brandon Keiji
2025-04-23feat: add react dev tools (#143)Brandon Keiji
2025-04-23feat: set dogfood artifact registry as the default publishing endpoint (#135)Brandon Keiji
2025-04-21fix: point npmrc to dogfood artifact registry (#108)Brandon Keiji
2025-04-21enable debugging through sandbox (#88)Olcan
2025-04-21feat: add custom eslint rule for cross-package imports (#77)Brandon Keiji
2025-04-21seamless sandboxing (just set GEMINI_CODE_SANDBOX=true in .env) (#76)Olcan
2025-04-20Revert debug undo.Taylor Mullen
2025-04-20Update README to reflect current state of the world.Taylor Mullen
- We now have CI/CD - We have linting support (so added a section) - Fixed `npm run debug` to allow debugging again.
2025-04-20add linter for checking license headers (and eslint --fix target to match, โ†ตTyler
and fix missing license headers while we're here) (#62)