mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-18 07:43:00 -07:00
docs(skill): add research and key files sections to experimentation skill
This commit is contained in:
@@ -7,6 +7,10 @@ description: Guide developers through the process of adding new remote experimen
|
||||
|
||||
This skill assists developers in adding net-new remote experiments (feature flags) to the Gemini CLI codebase. It acts as an interactive guide to ensure all necessary scaffolding, telemetry, command-line overrides, settings, and code placement are considered.
|
||||
|
||||
## Key Files
|
||||
- `packages/core/src/code_assist/experiments/flagNames.ts`: Definitions and metadata for all experiment flags.
|
||||
- `packages/core/src/config/config.ts`: Unified configuration object where strongly typed wrappers for experiments are added.
|
||||
|
||||
## Core Pattern: Unified Configuration
|
||||
|
||||
Gemini CLI uses a unified `Config` object as the source of truth. Every experiment should be accessed via the `config.getExperimentValue(flagId)` method, which internally handles the priority of overrides:
|
||||
@@ -16,6 +20,11 @@ Gemini CLI uses a unified `Config` object as the source of truth. Every experime
|
||||
|
||||
When a user asks to add a new experiment, follow these steps sequentially:
|
||||
|
||||
### 0. Research and Discovery
|
||||
- **Locate Existing Flags:** Read `packages/core/src/code_assist/experiments/flagNames.ts` to see current IDs and naming conventions.
|
||||
- **Check for Duplicates:** Ensure the proposed experiment doesn't already exist or overlap with another flag.
|
||||
- **Analyze Usage:** Search for `getExperimentValue` in `packages/core/src/config/config.ts` to see how similar experiments are wrapped and used.
|
||||
|
||||
### 1. Scaffolding the Config Entry
|
||||
- **File:** `packages/core/src/code_assist/experiments/flagNames.ts`
|
||||
- Add the new experiment ID to `ExperimentFlags`.
|
||||
|
||||
Reference in New Issue
Block a user