@google/gemini-cli-core 0.21.0-nightly.20251219.70696e364 → 0.21.0-nightly.20251221.8feeffb29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/docs/CONTRIBUTING.md +546 -0
  2. package/dist/docs/architecture.md +80 -0
  3. package/dist/docs/assets/connected_devtools.png +0 -0
  4. package/dist/docs/assets/gemini-screenshot.png +0 -0
  5. package/dist/docs/assets/release_patch.png +0 -0
  6. package/dist/docs/assets/theme-ansi-light.png +0 -0
  7. package/dist/docs/assets/theme-ansi.png +0 -0
  8. package/dist/docs/assets/theme-atom-one.png +0 -0
  9. package/dist/docs/assets/theme-ayu-light.png +0 -0
  10. package/dist/docs/assets/theme-ayu.png +0 -0
  11. package/dist/docs/assets/theme-custom.png +0 -0
  12. package/dist/docs/assets/theme-default-light.png +0 -0
  13. package/dist/docs/assets/theme-default.png +0 -0
  14. package/dist/docs/assets/theme-dracula.png +0 -0
  15. package/dist/docs/assets/theme-github-light.png +0 -0
  16. package/dist/docs/assets/theme-github.png +0 -0
  17. package/dist/docs/assets/theme-google-light.png +0 -0
  18. package/dist/docs/assets/theme-xcode-light.png +0 -0
  19. package/dist/docs/changelogs/index.md +592 -0
  20. package/dist/docs/changelogs/latest.md +225 -0
  21. package/dist/docs/changelogs/preview.md +129 -0
  22. package/dist/docs/changelogs/releases.md +896 -0
  23. package/dist/docs/cli/authentication.md +3 -0
  24. package/dist/docs/cli/checkpointing.md +94 -0
  25. package/dist/docs/cli/commands.md +354 -0
  26. package/dist/docs/cli/configuration.md +780 -0
  27. package/dist/docs/cli/custom-commands.md +315 -0
  28. package/dist/docs/cli/enterprise.md +565 -0
  29. package/dist/docs/cli/gemini-ignore.md +71 -0
  30. package/dist/docs/cli/gemini-md.md +108 -0
  31. package/dist/docs/cli/generation-settings.md +210 -0
  32. package/dist/docs/cli/headless.md +388 -0
  33. package/dist/docs/cli/index.md +63 -0
  34. package/dist/docs/cli/keyboard-shortcuts.md +143 -0
  35. package/dist/docs/cli/model-routing.md +37 -0
  36. package/dist/docs/cli/model.md +62 -0
  37. package/dist/docs/cli/sandbox.md +171 -0
  38. package/dist/docs/cli/session-management.md +158 -0
  39. package/dist/docs/cli/settings.md +112 -0
  40. package/dist/docs/cli/system-prompt.md +93 -0
  41. package/dist/docs/cli/telemetry.md +791 -0
  42. package/dist/docs/cli/themes.md +237 -0
  43. package/dist/docs/cli/token-caching.md +20 -0
  44. package/dist/docs/cli/trusted-folders.md +95 -0
  45. package/dist/docs/cli/tutorials.md +83 -0
  46. package/dist/docs/cli/uninstall.md +47 -0
  47. package/dist/docs/core/index.md +101 -0
  48. package/dist/docs/core/memport.md +244 -0
  49. package/dist/docs/core/policy-engine.md +267 -0
  50. package/dist/docs/core/tools-api.md +131 -0
  51. package/dist/docs/examples/proxy-script.md +83 -0
  52. package/dist/docs/extensions/extension-releasing.md +183 -0
  53. package/dist/docs/extensions/getting-started-extensions.md +245 -0
  54. package/dist/docs/extensions/index.md +293 -0
  55. package/dist/docs/faq.md +154 -0
  56. package/dist/docs/get-started/authentication.md +321 -0
  57. package/dist/docs/get-started/configuration-v1.md +888 -0
  58. package/dist/docs/get-started/configuration.md +1444 -0
  59. package/dist/docs/get-started/deployment.md +143 -0
  60. package/dist/docs/get-started/examples.md +219 -0
  61. package/dist/docs/get-started/gemini-3.md +116 -0
  62. package/dist/docs/get-started/index.md +71 -0
  63. package/dist/docs/get-started/installation.md +141 -0
  64. package/dist/docs/hooks/best-practices.md +806 -0
  65. package/dist/docs/hooks/index.md +665 -0
  66. package/dist/docs/hooks/reference.md +168 -0
  67. package/dist/docs/hooks/writing-hooks.md +1026 -0
  68. package/dist/docs/ide-integration/ide-companion-spec.md +267 -0
  69. package/dist/docs/ide-integration/index.md +202 -0
  70. package/dist/docs/index.md +147 -0
  71. package/dist/docs/integration-tests.md +211 -0
  72. package/dist/docs/issue-and-pr-automation.md +134 -0
  73. package/dist/docs/local-development.md +128 -0
  74. package/dist/docs/mermaid/context.mmd +103 -0
  75. package/dist/docs/mermaid/render-path.mmd +64 -0
  76. package/dist/docs/npm.md +62 -0
  77. package/dist/docs/quota-and-pricing.md +158 -0
  78. package/dist/docs/release-confidence.md +164 -0
  79. package/dist/docs/releases.md +540 -0
  80. package/dist/docs/sidebar.json +297 -0
  81. package/dist/docs/tools/file-system.md +217 -0
  82. package/dist/docs/tools/index.md +95 -0
  83. package/dist/docs/tools/mcp-server.md +1044 -0
  84. package/dist/docs/tools/memory.md +54 -0
  85. package/dist/docs/tools/shell.md +260 -0
  86. package/dist/docs/tools/todos.md +57 -0
  87. package/dist/docs/tools/web-fetch.md +59 -0
  88. package/dist/docs/tools/web-search.md +42 -0
  89. package/dist/docs/tos-privacy.md +96 -0
  90. package/dist/docs/troubleshooting.md +158 -0
  91. package/dist/google-gemini-cli-core-0.21.0-nightly.20251219.70696e364.tgz +0 -0
  92. package/dist/src/agents/delegate-to-agent-tool.test.js +1 -0
  93. package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -1
  94. package/dist/src/agents/introspection-agent.d.ts +23 -0
  95. package/dist/src/agents/introspection-agent.js +72 -0
  96. package/dist/src/agents/introspection-agent.js.map +1 -0
  97. package/dist/src/agents/introspection-agent.test.d.ts +6 -0
  98. package/dist/src/agents/introspection-agent.test.js +47 -0
  99. package/dist/src/agents/introspection-agent.test.js.map +1 -0
  100. package/dist/src/agents/local-executor.js +14 -12
  101. package/dist/src/agents/local-executor.js.map +1 -1
  102. package/dist/src/agents/local-executor.test.js +3 -0
  103. package/dist/src/agents/local-executor.test.js.map +1 -1
  104. package/dist/src/agents/registry.js +6 -0
  105. package/dist/src/agents/registry.js.map +1 -1
  106. package/dist/src/agents/registry.test.js +16 -0
  107. package/dist/src/agents/registry.test.js.map +1 -1
  108. package/dist/src/config/config.d.ts +6 -0
  109. package/dist/src/config/config.js +22 -0
  110. package/dist/src/config/config.js.map +1 -1
  111. package/dist/src/config/config.test.js +59 -1
  112. package/dist/src/config/config.test.js.map +1 -1
  113. package/dist/src/core/client.js +8 -4
  114. package/dist/src/core/client.js.map +1 -1
  115. package/dist/src/core/client.test.js +20 -0
  116. package/dist/src/core/client.test.js.map +1 -1
  117. package/dist/src/core/clientHookTriggers.js +2 -2
  118. package/dist/src/core/clientHookTriggers.js.map +1 -1
  119. package/dist/src/core/coreToolHookTriggers.js +3 -3
  120. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  121. package/dist/src/core/geminiChatHookTriggers.js +3 -3
  122. package/dist/src/core/geminiChatHookTriggers.js.map +1 -1
  123. package/dist/src/core/sessionHookTriggers.js +3 -3
  124. package/dist/src/core/sessionHookTriggers.js.map +1 -1
  125. package/dist/src/generated/git-commit.d.ts +2 -2
  126. package/dist/src/generated/git-commit.js +2 -2
  127. package/dist/src/hooks/hookEventHandler.js +10 -4
  128. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  129. package/dist/src/hooks/hookEventHandler.test.js +40 -0
  130. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  131. package/dist/src/hooks/hookRunner.js +12 -8
  132. package/dist/src/hooks/hookRunner.js.map +1 -1
  133. package/dist/src/hooks/hookRunner.test.js +58 -33
  134. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  135. package/dist/src/mcp/oauth-provider.js +6 -2
  136. package/dist/src/mcp/oauth-provider.js.map +1 -1
  137. package/dist/src/mcp/oauth-provider.test.js +4 -1
  138. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  139. package/dist/src/mcp/oauth-utils.d.ts +8 -1
  140. package/dist/src/mcp/oauth-utils.js +30 -1
  141. package/dist/src/mcp/oauth-utils.js.map +1 -1
  142. package/dist/src/mcp/oauth-utils.test.js +42 -0
  143. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  144. package/dist/src/services/contextManager.d.ts +5 -11
  145. package/dist/src/services/contextManager.js +20 -17
  146. package/dist/src/services/contextManager.js.map +1 -1
  147. package/dist/src/services/contextManager.test.js +40 -41
  148. package/dist/src/services/contextManager.test.js.map +1 -1
  149. package/dist/src/tools/confirmation-policy.test.d.ts +6 -0
  150. package/dist/src/tools/confirmation-policy.test.js +152 -0
  151. package/dist/src/tools/confirmation-policy.test.js.map +1 -0
  152. package/dist/src/tools/edit.js +5 -1
  153. package/dist/src/tools/edit.js.map +1 -1
  154. package/dist/src/tools/get-internal-docs.d.ts +27 -0
  155. package/dist/src/tools/get-internal-docs.js +129 -0
  156. package/dist/src/tools/get-internal-docs.js.map +1 -0
  157. package/dist/src/tools/get-internal-docs.test.d.ts +6 -0
  158. package/dist/src/tools/get-internal-docs.test.js +56 -0
  159. package/dist/src/tools/get-internal-docs.test.js.map +1 -0
  160. package/dist/src/tools/smart-edit.js +5 -1
  161. package/dist/src/tools/smart-edit.js.map +1 -1
  162. package/dist/src/tools/tool-names.d.ts +1 -0
  163. package/dist/src/tools/tool-names.js +1 -0
  164. package/dist/src/tools/tool-names.js.map +1 -1
  165. package/dist/src/tools/web-fetch.js +5 -1
  166. package/dist/src/tools/web-fetch.js.map +1 -1
  167. package/dist/src/tools/write-file.js +5 -1
  168. package/dist/src/tools/write-file.js.map +1 -1
  169. package/dist/src/utils/environmentContext.js +3 -0
  170. package/dist/src/utils/environmentContext.js.map +1 -1
  171. package/dist/src/utils/environmentContext.test.js +2 -0
  172. package/dist/src/utils/environmentContext.test.js.map +1 -1
  173. package/dist/src/utils/events.d.ts +3 -2
  174. package/dist/src/utils/events.js.map +1 -1
  175. package/dist/src/utils/memoryDiscovery.js +1 -1
  176. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  177. package/dist/src/utils/memoryDiscovery.test.js +3 -1
  178. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  179. package/dist/src/utils/shell-utils.js +25 -4
  180. package/dist/src/utils/shell-utils.js.map +1 -1
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +1 -1
  183. package/dist/google-gemini-cli-core-0.21.0-nightly.20251218.739c02bd6.tgz +0 -0
@@ -0,0 +1,158 @@
1
+ # Gemini CLI: Quotas and pricing
2
+
3
+ Gemini CLI offers a generous free tier that covers many individual developers'
4
+ use cases. For enterprise or professional usage, or if you need higher limits,
5
+ several options are available depending on your authentication account type.
6
+
7
+ See [privacy and terms](./tos-privacy.md) for details on the Privacy Policy and
8
+ Terms of Service.
9
+
10
+ > **Note:** Published prices are list price; additional negotiated commercial
11
+ > discounting may apply.
12
+
13
+ This article outlines the specific quotas and pricing applicable to Gemini CLI
14
+ when using different authentication methods.
15
+
16
+ Generally, there are three categories to choose from:
17
+
18
+ - Free Usage: Ideal for experimentation and light use.
19
+ - Paid Tier (fixed price): For individual developers or enterprises who need
20
+ more generous daily quotas and predictable costs.
21
+ - Pay-As-You-Go: The most flexible option for professional use, long-running
22
+ tasks, or when you need full control over your usage.
23
+
24
+ ## Free usage
25
+
26
+ Your journey begins with a generous free tier, perfect for experimentation and
27
+ light use.
28
+
29
+ Your free usage limits depend on your authorization type.
30
+
31
+ ### Log in with Google (Gemini Code Assist for individuals)
32
+
33
+ For users who authenticate by using their Google account to access Gemini Code
34
+ Assist for individuals. This includes:
35
+
36
+ - 1000 model requests / user / day
37
+ - 60 model requests / user / minute
38
+ - Model requests will be made across the Gemini model family as determined by
39
+ Gemini CLI.
40
+
41
+ Learn more at
42
+ [Gemini Code Assist for Individuals Limits](https://developers.google.com/gemini-code-assist/resources/quotas#quotas-for-agent-mode-gemini-cli).
43
+
44
+ ### Log in with Gemini API Key (unpaid)
45
+
46
+ If you are using a Gemini API key, you can also benefit from a free tier. This
47
+ includes:
48
+
49
+ - 250 model requests / user / day
50
+ - 10 model requests / user / minute
51
+ - Model requests to Flash model only.
52
+
53
+ Learn more at
54
+ [Gemini API Rate Limits](https://ai.google.dev/gemini-api/docs/rate-limits).
55
+
56
+ ### Log in with Vertex AI (Express Mode)
57
+
58
+ Vertex AI offers an Express Mode without the need to enable billing. This
59
+ includes:
60
+
61
+ - 90 days before you need to enable billing.
62
+ - Quotas and models are variable and specific to your account.
63
+
64
+ Learn more at
65
+ [Vertex AI Express Mode Limits](https://cloud.google.com/vertex-ai/generative-ai/docs/start/express-mode/overview#quotas).
66
+
67
+ ## Paid tier: Higher limits for a fixed cost
68
+
69
+ If you use up your initial number of requests, you can continue to benefit from
70
+ Gemini CLI by upgrading to one of the following subscriptions:
71
+
72
+ - [Google AI Pro and AI Ultra](https://gemini.google/subscriptions/). This is
73
+ recommended for individual developers. Quotas and pricing are based on a fixed
74
+ price subscription.
75
+
76
+ For predictable costs, you can log in with Google.
77
+
78
+ Learn more at
79
+ [Gemini Code Assist Quotas and Limits](https://developers.google.com/gemini-code-assist/resources/quotas)
80
+
81
+ - [Purchase a Gemini Code Assist Subscription through Google Cloud ](https://cloud.google.com/gemini/docs/codeassist/overview)
82
+ by signing up in the Google Cloud console. Learn more at
83
+ [Set up Gemini Code Assist](https://cloud.google.com/gemini/docs/discover/set-up-gemini).
84
+
85
+ Quotas and pricing are based on a fixed price subscription with assigned
86
+ license seats. For predictable costs, you can sign in with Google.
87
+
88
+ This includes:
89
+ - Gemini Code Assist Standard edition:
90
+ - 1500 model requests / user / day
91
+ - 120 model requests / user / minute
92
+ - Gemini Code Assist Enterprise edition:
93
+ - 2000 model requests / user / day
94
+ - 120 model requests / user / minute
95
+ - Model requests will be made across the Gemini model family as determined by
96
+ Gemini CLI.
97
+
98
+ [Learn more about Gemini Code Assist Standard and Enterprise license limits](https://developers.google.com/gemini-code-assist/resources/quotas#quotas-for-agent-mode-gemini-cli).
99
+
100
+ ## Pay as you go
101
+
102
+ If you hit your daily request limits or exhaust your Gemini Pro quota even after
103
+ upgrading, the most flexible solution is to switch to a pay-as-you-go model,
104
+ where you pay for the specific amount of processing you use. This is the
105
+ recommended path for uninterrupted access.
106
+
107
+ To do this, log in using a Gemini API key or Vertex AI.
108
+
109
+ - Vertex AI (Regular Mode):
110
+ - Quota: Governed by a dynamic shared quota system or pre-purchased
111
+ provisioned throughput.
112
+ - Cost: Based on model and token usage.
113
+
114
+ Learn more at
115
+ [Vertex AI Dynamic Shared Quota](https://cloud.google.com/vertex-ai/generative-ai/docs/resources/dynamic-shared-quota)
116
+ and [Vertex AI Pricing](https://cloud.google.com/vertex-ai/pricing).
117
+
118
+ - Gemini API key:
119
+ - Quota: Varies by pricing tier.
120
+ - Cost: Varies by pricing tier and model/token usage.
121
+
122
+ Learn more at
123
+ [Gemini API Rate Limits](https://ai.google.dev/gemini-api/docs/rate-limits),
124
+ [Gemini API Pricing](https://ai.google.dev/gemini-api/docs/pricing)
125
+
126
+ It’s important to highlight that when using an API key, you pay per token/call.
127
+ This can be more expensive for many small calls with few tokens, but it's the
128
+ only way to ensure your workflow isn't interrupted by quota limits.
129
+
130
+ ## Gemini for workspace plans
131
+
132
+ These plans currently apply only to the use of Gemini web-based products
133
+ provided by Google-based experiences (for example, the Gemini web app or the
134
+ Flow video editor). These plans do not apply to the API usage which powers the
135
+ Gemini CLI. Supporting these plans is under active consideration for future
136
+ support.
137
+
138
+ ## Tips to avoid high costs
139
+
140
+ When using a Pay as you Go API key, be mindful of your usage to avoid unexpected
141
+ costs.
142
+
143
+ - Don't blindly accept every suggestion, especially for computationally
144
+ intensive tasks like refactoring large codebases.
145
+ - Be intentional with your prompts and commands. You are paying per call, so
146
+ think about the most efficient way to get the job done.
147
+
148
+ ## Gemini API vs. Vertex
149
+
150
+ - Gemini API (gemini developer api): This is the fastest way to use the Gemini
151
+ models directly.
152
+ - Vertex AI: This is the enterprise-grade platform for building, deploying, and
153
+ managing Gemini models with specific security and control requirements.
154
+
155
+ ## Understanding your usage
156
+
157
+ A summary of model usage is available through the `/stats` command and presented
158
+ on exit at the end of a session.
@@ -0,0 +1,164 @@
1
+ # Release confidence strategy
2
+
3
+ This document outlines the strategy for gaining confidence in every release of
4
+ the Gemini CLI. It serves as a checklist and quality gate for release manager to
5
+ ensure we are shipping a high-quality product.
6
+
7
+ ## The goal
8
+
9
+ To answer the question, "Is this release _truly_ ready for our users?" with a
10
+ high degree of confidence, based on a holistic evaluation of automated signals,
11
+ manual verification, and data.
12
+
13
+ ## Level 1: Automated gates (must pass)
14
+
15
+ These are the baseline requirements. If any of these fail, the release is a
16
+ no-go.
17
+
18
+ ### 1. CI/CD health
19
+
20
+ All workflows in `.github/workflows/ci.yml` must pass on the `main` branch (for
21
+ nightly) or the release branch (for preview/stable).
22
+
23
+ - **Platforms:** Tests must pass on **Linux and macOS**.
24
+ - _Note:_ Windows tests currently run with `continue-on-error: true`. While a
25
+ failure here doesn't block the release technically, it should be
26
+ investigated.
27
+ - **Checks:**
28
+ - **Linting:** No linting errors (ESLint, Prettier, etc.).
29
+ - **Typechecking:** No TypeScript errors.
30
+ - **Unit Tests:** All unit tests in `packages/core` and `packages/cli` must
31
+ pass.
32
+ - **Build:** The project must build and bundle successfully.
33
+
34
+ ### 2. End-to-end (E2E) tests
35
+
36
+ All workflows in `.github/workflows/chained_e2e.yml` must pass.
37
+
38
+ - **Platforms:** **Linux, macOS and Windows**.
39
+ - **Sandboxing:** Tests must pass with both `sandbox:none` and `sandbox:docker`
40
+ on Linux.
41
+
42
+ ### 3. Post-deployment smoke tests
43
+
44
+ After a release is published to npm, the `smoke-test.yml` workflow runs. This
45
+ must pass to confirm the package is installable and the binary is executable.
46
+
47
+ - **Command:** `npx -y @google/gemini-cli@<tag> --version` must return the
48
+ correct version without error.
49
+ - **Platform:** Currently runs on `ubuntu-latest`.
50
+
51
+ ## Level 2: Manual verification and dogfooding
52
+
53
+ Automated tests cannot catch everything, especially UX issues.
54
+
55
+ ### 1. Dogfooding via `preview` tag
56
+
57
+ The weekly release cadence promotes code from `main` -> `nightly` -> `preview`
58
+ -> `stable`.
59
+
60
+ - **Requirement:** The `preview` release must be used by maintainers for at
61
+ least **one week** before being promoted to `stable`.
62
+ - **Action:** Maintainers should install the preview version locally:
63
+ ```bash
64
+ npm install -g @google/gemini-cli@preview
65
+ ```
66
+ - **Goal:** To catch regressions and UX issues in day-to-day usage before they
67
+ reach the broad user base.
68
+
69
+ ### 2. Critical user journey (CUJ) checklist
70
+
71
+ Before promoting a `preview` release to `stable`, a release manager must
72
+ manually run through this checklist.
73
+
74
+ - **Setup:**
75
+ - [ ] Uninstall any existing global version:
76
+ `npm uninstall -g @google/gemini-cli`
77
+ - [ ] Clear npx cache (optional but recommended): `npm cache clean --force`
78
+ - [ ] Install the preview version: `npm install -g @google/gemini-cli@preview`
79
+ - [ ] Verify version: `gemini --version`
80
+
81
+ - **Authentication:**
82
+ - [ ] In interactive mode run `/auth` and verify all login flows work:
83
+ - [ ] Login With Google
84
+ - [ ] API Key
85
+ - [ ] Vertex AI
86
+
87
+ - **Basic prompting:**
88
+ - [ ] Run `gemini "Tell me a joke"` and verify a sensible response.
89
+ - [ ] Run in interactive mode: `gemini`. Ask a follow-up question to test
90
+ context.
91
+
92
+ - **Piped input:**
93
+ - [ ] Run `echo "Summarize this" | gemini` and verify it processes stdin.
94
+
95
+ - **Context management:**
96
+ - [ ] In interactive mode, use `@file` to add a local file to context. Ask a
97
+ question about it.
98
+
99
+ - **Settings:**
100
+ - [ ] In interactive mode run `/settings` and make modifications
101
+ - [ ] Validate that setting is changed
102
+
103
+ - **Function calling:**
104
+ - [ ] In interactive mode, ask gemini to "create a file named hello.md with
105
+ the content 'hello world'" and verify the file is created correctly.
106
+
107
+ If any of these CUJs fail, the release is a no-go until a patch is applied to
108
+ the `preview` channel.
109
+
110
+ ### 3. Pre-Launch bug bash (tier 1 and 2 launches)
111
+
112
+ For high-impact releases, an organized bug bash is required to ensure a higher
113
+ level of quality and to catch issues across a wider range of environments and
114
+ use cases.
115
+
116
+ **Definition of tiers:**
117
+
118
+ - **Tier 1:** Industry-Moving News 🚀
119
+ - **Tier 2:** Important News for Our Users 📣
120
+ - **Tier 3:** Relevant, but Not Life-Changing 💡
121
+ - **Tier 4:** Bug Fixes ⚒️
122
+
123
+ **Requirement:**
124
+
125
+ A bug bash must be scheduled at least **72 hours in advance** of any Tier 1 or
126
+ Tier 2 launch.
127
+
128
+ **Rule of thumb:**
129
+
130
+ A bug bash should be considered for any release that involves:
131
+
132
+ - A blog post
133
+ - Coordinated social media announcements
134
+ - Media relations or press outreach
135
+ - A "Turbo" launch event
136
+
137
+ ## Level 3: Telemetry and data review
138
+
139
+ ### Dashboard health
140
+
141
+ - [ ] Go to `go/gemini-cli-dash`.
142
+ - [ ] Navigate to the "Tool Call" tab.
143
+ - [ ] Validate that there are no spikes in errors for the release you would like
144
+ to promote.
145
+
146
+ ### Model evaluation
147
+
148
+ - [ ] Navigate to `go/gemini-cli-offline-evals-dash`.
149
+ - [ ] Make sure that the release you want to promote's recurring run is within
150
+ average eval runs.
151
+
152
+ ## The "go/no-go" decision
153
+
154
+ Before triggering the `Release: Promote` workflow to move `preview` to `stable`:
155
+
156
+ 1. [ ] **Level 1:** CI and E2E workflows are green for the commit corresponding
157
+ to the current `preview` tag.
158
+ 2. [ ] **Level 2:** The `preview` version has been out for one week, and the
159
+ CUJ checklist has been completed successfully by a release manager. No
160
+ blocking issues have been reported.
161
+ 3. [ ] **Level 3:** Dashboard Health and Model Evaluation checks have been
162
+ completed and show no regressions.
163
+
164
+ If all checks pass, proceed with the promotion.