@codeflyai/codefly 0.24.1 → 0.24.2

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 (48) hide show
  1. package/bundle/builtin/skill-creator/SKILL.md +382 -0
  2. package/bundle/builtin/skill-creator/scripts/init_skill.cjs +235 -0
  3. package/bundle/builtin/skill-creator/scripts/package_skill.cjs +102 -0
  4. package/bundle/builtin/skill-creator/scripts/validate_skill.cjs +127 -0
  5. package/bundle/codefly.js +296592 -296367
  6. package/bundle/docs/architecture.md +3 -3
  7. package/bundle/docs/assets/monitoring-dashboard-logs.png +0 -0
  8. package/bundle/docs/assets/monitoring-dashboard-metrics.png +0 -0
  9. package/bundle/docs/assets/monitoring-dashboard-overview.png +0 -0
  10. package/bundle/docs/changelogs/index.md +134 -0
  11. package/bundle/docs/changelogs/latest.md +355 -210
  12. package/bundle/docs/changelogs/preview.md +318 -115
  13. package/bundle/docs/cli/commands.md +21 -0
  14. package/bundle/docs/cli/custom-commands.md +9 -9
  15. package/bundle/docs/cli/index.md +6 -2
  16. package/bundle/docs/cli/keyboard-shortcuts.md +61 -78
  17. package/bundle/docs/cli/model-routing.md +7 -2
  18. package/bundle/docs/cli/model.md +1 -1
  19. package/bundle/docs/cli/openspec.md +164 -0
  20. package/bundle/docs/cli/sandbox.md +1 -1
  21. package/bundle/docs/cli/settings.md +80 -60
  22. package/bundle/docs/cli/skills.md +188 -0
  23. package/bundle/docs/cli/system-prompt.md +32 -0
  24. package/bundle/docs/cli/telemetry.md +38 -3
  25. package/bundle/docs/cli/themes.md +0 -2
  26. package/bundle/docs/cli/tutorials/skills-getting-started.md +124 -0
  27. package/bundle/docs/cli/tutorials.md +4 -0
  28. package/bundle/docs/core/index.md +4 -0
  29. package/bundle/docs/core/memport.md +2 -0
  30. package/bundle/docs/core/policy-engine.md +3 -2
  31. package/bundle/docs/extensions/getting-started-extensions.md +39 -2
  32. package/bundle/docs/get-started/configuration.md +130 -74
  33. package/bundle/docs/get-started/gemini-3.md +2 -17
  34. package/bundle/docs/hooks/reference.md +245 -116
  35. package/bundle/docs/index.md +2 -0
  36. package/bundle/docs/local-development.md +1 -1
  37. package/bundle/docs/releases.md +1 -1
  38. package/bundle/docs/sidebar.json +5 -5
  39. package/bundle/docs/tools/index.md +3 -0
  40. package/bundle/docs/tools/mcp-server.md +26 -2
  41. package/bundle/docs/tools/shell.md +1 -1
  42. package/bundle/docs/troubleshooting.md +23 -5
  43. package/bundle/policies/agent.toml +1 -1
  44. package/bundle/policies/plan.toml +70 -0
  45. package/bundle/policies/read-only.toml +0 -5
  46. package/bundle/policies/yolo.toml +1 -0
  47. package/package.json +10 -5
  48. package/bundle/docs/get-started/deployment.md +0 -143
@@ -8,43 +8,50 @@ available combinations.
8
8
 
9
9
  #### Basic Controls
10
10
 
11
- | Action | Keys |
12
- | -------------------------------------------- | ------- |
13
- | Confirm the current selection or choice. | `Enter` |
14
- | Dismiss dialogs or cancel the current focus. | `Esc` |
11
+ | Action | Keys |
12
+ | --------------------------------------------------------------- | ---------- |
13
+ | Confirm the current selection or choice. | `Enter` |
14
+ | Dismiss dialogs or cancel the current focus. | `Esc` |
15
+ | Cancel the current request or quit the CLI when input is empty. | `Ctrl + C` |
16
+ | Exit the CLI when the input buffer is empty. | `Ctrl + D` |
15
17
 
16
18
  #### Cursor Movement
17
19
 
18
- | Action | Keys |
19
- | ----------------------------------------- | ---------------------- |
20
- | Move the cursor to the start of the line. | `Ctrl + A`<br />`Home` |
21
- | Move the cursor to the end of the line. | `Ctrl + E`<br />`End` |
20
+ | Action | Keys |
21
+ | ------------------------------------------- | ------------------------------------------------------------ |
22
+ | Move the cursor to the start of the line. | `Ctrl + A`<br />`Home (no Shift, Ctrl)` |
23
+ | Move the cursor to the end of the line. | `Ctrl + E`<br />`End (no Shift, Ctrl)` |
24
+ | Move the cursor up one line. | `Up Arrow (no Shift, Alt, Ctrl, Cmd)` |
25
+ | Move the cursor down one line. | `Down Arrow (no Shift, Alt, Ctrl, Cmd)` |
26
+ | Move the cursor one character to the left. | `Left Arrow (no Shift, Alt, Ctrl, Cmd)`<br />`Ctrl + B` |
27
+ | Move the cursor one character to the right. | `Right Arrow (no Shift, Alt, Ctrl, Cmd)`<br />`Ctrl + F` |
28
+ | Move the cursor one word to the left. | `Ctrl + Left Arrow`<br />`Alt + Left Arrow`<br />`Alt + B` |
29
+ | Move the cursor one word to the right. | `Ctrl + Right Arrow`<br />`Alt + Right Arrow`<br />`Alt + F` |
22
30
 
23
31
  #### Editing
24
32
 
25
- | Action | Keys |
26
- | ------------------------------------------------ | ----------------------------------------- |
27
- | Delete from the cursor to the end of the line. | `Ctrl + K` |
28
- | Delete from the cursor to the start of the line. | `Ctrl + U` |
29
- | Clear all text in the input field. | `Ctrl + C` |
30
- | Delete the previous word. | `Ctrl + Backspace`<br />`Cmd + Backspace` |
31
-
32
- #### Screen Control
33
-
34
- | Action | Keys |
35
- | -------------------------------------------- | ---------- |
36
- | Clear the terminal screen and redraw the UI. | `Ctrl + L` |
33
+ | Action | Keys |
34
+ | ------------------------------------------------ | --------------------------------------------------------- |
35
+ | Delete from the cursor to the end of the line. | `Ctrl + K` |
36
+ | Delete from the cursor to the start of the line. | `Ctrl + U` |
37
+ | Clear all text in the input field. | `Ctrl + C` |
38
+ | Delete the previous word. | `Ctrl + Backspace`<br />`Alt + Backspace`<br />`Ctrl + W` |
39
+ | Delete the next word. | `Ctrl + Delete`<br />`Alt + Delete` |
40
+ | Delete the character to the left. | `Backspace`<br />`Ctrl + H` |
41
+ | Delete the character to the right. | `Delete`<br />`Ctrl + D` |
42
+ | Undo the most recent text edit. | `Ctrl + Z (no Shift)` |
43
+ | Redo the most recent undone text edit. | `Shift + Ctrl + Z` |
37
44
 
38
45
  #### Scrolling
39
46
 
40
- | Action | Keys |
41
- | ------------------------ | -------------------- |
42
- | Scroll content up. | `Shift + Up Arrow` |
43
- | Scroll content down. | `Shift + Down Arrow` |
44
- | Scroll to the top. | `Home` |
45
- | Scroll to the bottom. | `End` |
46
- | Scroll up by one page. | `Page Up` |
47
- | Scroll down by one page. | `Page Down` |
47
+ | Action | Keys |
48
+ | ------------------------ | --------------------------------- |
49
+ | Scroll content up. | `Shift + Up Arrow` |
50
+ | Scroll content down. | `Shift + Down Arrow` |
51
+ | Scroll to the top. | `Ctrl + Home`<br />`Shift + Home` |
52
+ | Scroll to the bottom. | `Ctrl + End`<br />`Shift + End` |
53
+ | Scroll up by one page. | `Page Up` |
54
+ | Scroll down by one page. | `Page Down` |
48
55
 
49
56
  #### History & Search
50
57
 
@@ -53,8 +60,9 @@ available combinations.
53
60
  | Show the previous entry in history. | `Ctrl + P (no Shift)` |
54
61
  | Show the next entry in history. | `Ctrl + N (no Shift)` |
55
62
  | Start reverse search through history. | `Ctrl + R` |
56
- | Insert the selected reverse-search match. | `Enter (no Ctrl)` |
63
+ | Submit the selected reverse-search match. | `Enter (no Ctrl)` |
57
64
  | Accept a suggestion while reverse searching. | `Tab` |
65
+ | Browse and rewind previous interactions. | `Double Esc` |
58
66
 
59
67
  #### Navigation
60
68
 
@@ -77,66 +85,41 @@ available combinations.
77
85
 
78
86
  #### Text Input
79
87
 
80
- | Action | Keys |
81
- | ------------------------------------ | ------------------------------------------------------------------------------------------- |
82
- | Submit the current prompt. | `Enter (no Ctrl, no Shift, no Cmd, not Paste)` |
83
- | Insert a newline without submitting. | `Ctrl + Enter`<br />`Cmd + Enter`<br />`Paste + Enter`<br />`Shift + Enter`<br />`Ctrl + J` |
84
-
85
- #### External Tools
86
-
87
- | Action | Keys |
88
- | ---------------------------------------------- | ------------------------- |
89
- | Open the current prompt in an external editor. | `Ctrl + X` |
90
- | Paste from the clipboard. | `Ctrl + V`<br />`Cmd + V` |
88
+ | Action | Keys |
89
+ | ---------------------------------------------- | ----------------------------------------------------------------------------------------- |
90
+ | Submit the current prompt. | `Enter (no Shift, Alt, Ctrl, Cmd)` |
91
+ | Insert a newline without submitting. | `Ctrl + Enter`<br />`Cmd + Enter`<br />`Alt + Enter`<br />`Shift + Enter`<br />`Ctrl + J` |
92
+ | Open the current prompt in an external editor. | `Ctrl + X` |
93
+ | Paste from the clipboard. | `Ctrl + V`<br />`Cmd + V`<br />`Alt + V` |
91
94
 
92
95
  #### App Controls
93
96
 
94
- | Action | Keys |
95
- | ----------------------------------------------------------------- | ---------- |
96
- | Toggle detailed error information. | `F12` |
97
- | Toggle the full TODO list. | `Ctrl + T` |
98
- | Toggle IDE context details. | `Ctrl + G` |
99
- | Toggle Markdown rendering. | `Cmd + M` |
100
- | Toggle copy mode when the terminal is using the alternate buffer. | `Ctrl + S` |
101
- | Expand a height-constrained response to show additional lines. | `Ctrl + S` |
102
- | Toggle focus between the shell and Gemini input. | `Ctrl + F` |
103
-
104
- #### Session Control
105
-
106
- | Action | Keys |
107
- | -------------------------------------------- | ---------- |
108
- | Cancel the current request or quit the CLI. | `Ctrl + C` |
109
- | Exit the CLI when the input buffer is empty. | `Ctrl + D` |
97
+ | Action | Keys |
98
+ | ----------------------------------------------------------------------------------------------------- | ---------------- |
99
+ | Toggle detailed error information. | `F12` |
100
+ | Toggle the full TODO list. | `Ctrl + T` |
101
+ | Show IDE context details. | `Ctrl + G` |
102
+ | Toggle Markdown rendering. | `Alt + M` |
103
+ | Toggle copy mode when in alternate buffer mode. | `Ctrl + S` |
104
+ | Toggle YOLO (auto-approval) mode for tool calls. | `Ctrl + Y` |
105
+ | Cycle through approval modes: default (prompt), auto_edit (auto-approve edits), and plan (read-only). | `Shift + Tab` |
106
+ | Expand a height-constrained response to show additional lines when not in alternate buffer mode. | `Ctrl + S` |
107
+ | Focus the shell input from the gemini input. | `Tab (no Shift)` |
108
+ | Focus the Gemini input from the shell input. | `Tab` |
109
+ | Clear the terminal screen and redraw the UI. | `Ctrl + L` |
110
+ | Restart the application. | `R` |
110
111
 
111
112
  <!-- KEYBINDINGS-AUTOGEN:END -->
112
113
 
113
114
  ## Additional context-specific shortcuts
114
115
 
115
- - `Ctrl+Y`: Toggle YOLO (auto-approval) mode for tool calls.
116
- - `Shift+Tab`: Toggle Auto Edit (auto-accept edits) mode.
117
- - `Option+M` (macOS): Entering `µ` with Option+M also toggles Markdown
118
- rendering, matching `Cmd+M`.
116
+ - `Option+B/F/M` (macOS only): Are interpreted as `Cmd+B/F/M` even if your
117
+ terminal isn't configured to send Meta with Option.
119
118
  - `!` on an empty prompt: Enter or exit shell mode.
120
119
  - `\` (at end of a line) + `Enter`: Insert a newline without leaving single-line
121
120
  mode.
122
- - `Ctrl+Delete` / `Meta+Delete`: Delete the word to the right of the cursor.
123
- - `Ctrl+B` or `Left Arrow`: Move the cursor one character to the left while
124
- editing text.
125
- - `Ctrl+F` or `Right Arrow`: Move the cursor one character to the right; with an
126
- embedded shell attached, `Ctrl+F` still toggles focus.
127
- - `Ctrl+D` or `Delete`: Remove the character immediately to the right of the
128
- cursor.
129
- - `Ctrl+H` or `Backspace`: Remove the character immediately to the left of the
130
- cursor.
131
- - `Ctrl+Left Arrow` / `Meta+Left Arrow` / `Meta+B`: Move one word to the left.
132
- - `Ctrl+Right Arrow` / `Meta+Right Arrow` / `Meta+F`: Move one word to the
133
- right.
134
- - `Ctrl+W`: Delete the word to the left of the cursor (in addition to
135
- `Ctrl+Backspace` / `Cmd+Backspace`).
136
- - `Ctrl+Z` / `Ctrl+Shift+Z`: Undo or redo the most recent text edit.
137
- - `Meta+Enter`: Open the current input in an external editor (alias for
138
- `Ctrl+X`).
139
- - `Esc` pressed twice quickly: Clear the current input buffer.
121
+ - `Esc` pressed twice quickly: Clear the input prompt if it is not empty,
122
+ otherwise browse and rewind previous interactions.
140
123
  - `Up Arrow` / `Down Arrow`: When the cursor is at the top or bottom of a
141
124
  single-line input, navigate backward or forward through prompt history.
142
125
  - `Number keys (1-9, multi-digit)` inside selection dialogs: Jump directly to
@@ -1,4 +1,4 @@
1
- ## Model routing
1
+ # Model routing
2
2
 
3
3
  Gemini CLI includes a model routing feature that automatically switches to a
4
4
  fallback model in case of a model failure. This feature is enabled by default
@@ -11,12 +11,17 @@ health and automatically routes requests to available models based on defined
11
11
  policies.
12
12
 
13
13
  1. **Model failure:** If the currently selected model fails (e.g., due to quota
14
- or server errors), the CLI will iniate the fallback process.
14
+ or server errors), the CLI will initiate the fallback process.
15
15
 
16
16
  2. **User consent:** Depending on the failure and the model's policy, the CLI
17
17
  may prompt you to switch to a fallback model (by default always prompts
18
18
  you).
19
19
 
20
+ Some internal utility calls (such as prompt completion and classification)
21
+ use a silent fallback chain for `gemini-2.5-flash-lite` and will fall back
22
+ to `gemini-2.5-flash` and `gemini-2.5-pro` without prompting or changing the
23
+ configured model.
24
+
20
25
  3. **Model switch:** If approved, or if the policy allows for silent fallback,
21
26
  the CLI will use an available fallback model for the current turn or the
22
27
  remainder of the session.
@@ -39,7 +39,7 @@ To enable Gemini 3 Pro and Gemini 3 Flash (if available), enable
39
39
 
40
40
  You can also use the `--model` flag to specify a particular Gemini model on
41
41
  startup. For more details, refer to the
42
- [configuration documentation](./configuration.md).
42
+ [configuration documentation](../get-started/configuration.md).
43
43
 
44
44
  Changes to these settings will be applied to all subsequent interactions with
45
45
  Gemini CLI.
@@ -0,0 +1,164 @@
1
+ # OpenSpec CLI
2
+
3
+ OpenSpec is an AI-native system for spec-driven development, integrated directly
4
+ into Codefly CLI. It provides a structured workflow for creating, validating,
5
+ and implementing changes in your codebase using a "spec-first" approach.
6
+
7
+ ## Overview
8
+
9
+ The `openspec` command allows you to:
10
+
11
+ - **Initialize** OpenSpec in your project.
12
+ - **Manage Changes:** Create, list, show, and archive change proposals.
13
+ - **Validate:** Ensure your specs and changes adhere to the schema and project
14
+ rules.
15
+ - **Generate Instructions:** Get step-by-step guidance for creating artifacts
16
+ (proposals, designs, tasks).
17
+ - **Workflow Automation:** Check status and fast-forward through the development
18
+ lifecycle.
19
+
20
+ ## Getting Started
21
+
22
+ ### Initialization
23
+
24
+ To start using OpenSpec in your project, run the init command:
25
+
26
+ ```bash
27
+ codefly openspec init
28
+ ```
29
+
30
+ This will:
31
+
32
+ 1. Check for write permissions.
33
+ 2. Create the `.openspec/` directory structure.
34
+ 3. Prompt you to select AI tools (skills) to configure (e.g.,
35
+ `openspec-explore`, `openspec-new-change`).
36
+ 4. Generate skill files (`SKILL.md`) and configuration.
37
+
38
+ **Options:**
39
+
40
+ - `--tools <tools>`: Configure tools non-interactively (e.g., `all`, `none`, or
41
+ `claude,cursor`).
42
+ - `--force`: Auto-cleanup legacy files without prompting.
43
+
44
+ ## Core Workflow
45
+
46
+ The typical OpenSpec workflow involves creating a "change", defining its specs,
47
+ implementing it, and then archiving it.
48
+
49
+ ### 1. Create a New Change
50
+
51
+ Start a new piece of work (feature, fix, refactor) by creating a change
52
+ container:
53
+
54
+ ```bash
55
+ codefly openspec new change <name>
56
+ ```
57
+
58
+ - `<name>`: A short, kebab-case name for your change (e.g., `add-auth-flow`).
59
+ - `--description <text>`: Optional description for the change.
60
+ - `--schema <name>`: Workflow schema to use (defaults to `spec-driven`).
61
+
62
+ This creates a directory at `openspec/changes/<name>/` with placeholders for
63
+ your artifacts.
64
+
65
+ ### 2. View and Manage Changes
66
+
67
+ List all active changes:
68
+
69
+ ```bash
70
+ codefly openspec list
71
+ ```
72
+
73
+ Show details of a specific change:
74
+
75
+ ```bash
76
+ codefly openspec show <change-name>
77
+ ```
78
+
79
+ - `--json`: Output as JSON.
80
+ - `--deltas-only`: Show only the delta specs (requirements added/modified).
81
+
82
+ ### 3. Check Status and Instructions
83
+
84
+ Check the status of artifacts for a change:
85
+
86
+ ```bash
87
+ codefly openspec status --change <change-name>
88
+ ```
89
+
90
+ Get instructions for the next step in your workflow:
91
+
92
+ ```bash
93
+ codefly openspec instructions <artifact-id> --change <change-name>
94
+ ```
95
+
96
+ - `<artifact-id>`: The artifact you want to work on (e.g., `proposal`, `design`,
97
+ `tasks`).
98
+ - Use `openspec instructions apply` to get instructions for the implementation
99
+ phase.
100
+
101
+ ### 4. Validation
102
+
103
+ Validate your changes and specs to ensure they meet the required format and
104
+ schema:
105
+
106
+ ```bash
107
+ codefly openspec validate <change-name>
108
+ ```
109
+
110
+ - `--strict`: Enable strict validation mode.
111
+ - `--json`: Output results as JSON.
112
+ - `--all`: Validate all changes and specs.
113
+
114
+ ### 5. Archiving
115
+
116
+ When a change is complete and merged, archive it to keep your workspace clean:
117
+
118
+ ```bash
119
+ codefly openspec archive <change-name>
120
+ ```
121
+
122
+ - Moves the change to `openspec/changes/archive/YYYY-MM-DD-<name>/`.
123
+ - Updates main specs based on the change's delta specs.
124
+ - `-y, --yes`: Skip confirmation prompts.
125
+ - `--skip-specs`: Skip updating main specs (for doc-only or tooling changes).
126
+
127
+ ## Advanced Usage
128
+
129
+ ### Shell Completions
130
+
131
+ Generate shell completion scripts for your shell (Bash, Zsh, Fish, PowerShell):
132
+
133
+ ```bash
134
+ codefly openspec completion install <shell>
135
+ ```
136
+
137
+ ### Configuration
138
+
139
+ Update OpenSpec instruction files and skills:
140
+
141
+ ```bash
142
+ codefly openspec update
143
+ ```
144
+
145
+ View available workflow schemas:
146
+
147
+ ```bash
148
+ codefly openspec schemas
149
+ ```
150
+
151
+ View resolved template paths for a schema:
152
+
153
+ ```bash
154
+ codefly openspec templates --schema <name>
155
+ ```
156
+
157
+ ## Legacy Commands (Deprecated)
158
+
159
+ The following commands are deprecated in favor of the verb-first style:
160
+
161
+ - `openspec change list` -> Use `openspec list`
162
+ - `openspec change show` -> Use `openspec show`
163
+ - `openspec change validate` -> Use `openspec validate`
164
+ - `openspec spec show` -> Use `openspec show --type spec`
@@ -11,7 +11,7 @@ Before using sandboxing, you need to install and set up the Gemini CLI:
11
11
  npm install -g @google/gemini-cli
12
12
  ```
13
13
 
14
- To verify the installation
14
+ To verify the installation:
15
15
 
16
16
  ```bash
17
17
  gemini --version
@@ -18,45 +18,51 @@ Note: Workspace settings override user settings.
18
18
  Here is a list of all the available settings, grouped by category and ordered as
19
19
  they appear in the UI.
20
20
 
21
+ <!-- SETTINGS-AUTOGEN:START -->
22
+
21
23
  ### General
22
24
 
23
- | UI Label | Setting | Description | Default |
24
- | ------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------- | ----------- |
25
- | Preview Features (e.g., models) | `general.previewFeatures` | Enable preview features (e.g., preview models). | `false` |
26
- | Vim Mode | `general.vimMode` | Enable Vim keybindings. | `false` |
27
- | Disable Auto Update | `general.disableAutoUpdate` | Disable automatic updates. | `false` |
28
- | Enable Prompt Completion | `general.enablePromptCompletion` | Enable AI-powered prompt completion suggestions while typing. | `false` |
29
- | Debug Keystroke Logging | `general.debugKeystrokeLogging` | Enable debug logging of keystrokes to the console. | `false` |
30
- | Session Retention | `general.sessionRetention` | Settings for automatic session cleanup. This feature is disabled by default. | `undefined` |
31
- | Enable Session Cleanup | `general.sessionRetention.enabled` | Enable automatic session cleanup. | `false` |
25
+ | UI Label | Setting | Description | Default |
26
+ | ------------------------------- | ---------------------------------- | ------------------------------------------------------------- | ------- |
27
+ | Language | `general.language` | The language for the CLI interface. | `"en"` |
28
+ | Preview Features (e.g., models) | `general.previewFeatures` | Enable preview features (e.g., preview models). | `false` |
29
+ | Vim Mode | `general.vimMode` | Enable Vim keybindings | `false` |
30
+ | Enable Auto Update | `general.enableAutoUpdate` | Enable automatic updates. | `true` |
31
+ | Enable Prompt Completion | `general.enablePromptCompletion` | Enable AI-powered prompt completion suggestions while typing. | `false` |
32
+ | Debug Keystroke Logging | `general.debugKeystrokeLogging` | Enable debug logging of keystrokes to the console. | `false` |
33
+ | Enable Session Cleanup | `general.sessionRetention.enabled` | Enable automatic session cleanup | `false` |
32
34
 
33
35
  ### Output
34
36
 
35
- | UI Label | Setting | Description | Default |
36
- | ------------- | --------------- | ------------------------------------------------------ | ------- |
37
- | Output Format | `output.format` | The format of the CLI output. Can be `text` or `json`. | `text` |
37
+ | UI Label | Setting | Description | Default |
38
+ | ------------- | --------------- | ------------------------------------------------------ | -------- |
39
+ | Output Format | `output.format` | The format of the CLI output. Can be `text` or `json`. | `"text"` |
38
40
 
39
41
  ### UI
40
42
 
41
- | UI Label | Setting | Description | Default |
42
- | ------------------------------ | ---------------------------------------- | -------------------------------------------------------------------- | ------- |
43
- | Hide Window Title | `ui.hideWindowTitle` | Hide the window title bar. | `false` |
44
- | Show Status in Title | `ui.showStatusInTitle` | Show Gemini CLI status and thoughts in the terminal window title. | `false` |
45
- | Hide Tips | `ui.hideTips` | Hide helpful tips in the UI. | `false` |
46
- | Hide Banner | `ui.hideBanner` | Hide the application banner. | `false` |
47
- | Hide Context Summary | `ui.hideContextSummary` | Hide the context summary (CODEFLY.md, MCP servers) above the input. | `false` |
48
- | Hide CWD | `ui.footer.hideCWD` | Hide the current working directory path in the footer. | `false` |
49
- | Hide Sandbox Status | `ui.footer.hideSandboxStatus` | Hide the sandbox status indicator in the footer. | `false` |
50
- | Hide Model Info | `ui.footer.hideModelInfo` | Hide the model name and context usage in the footer. | `false` |
51
- | Hide Context Window Percentage | `ui.footer.hideContextPercentage` | Hides the context window remaining percentage. | `true` |
52
- | Hide Footer | `ui.hideFooter` | Hide the footer from the UI. | `false` |
53
- | Show Memory Usage | `ui.showMemoryUsage` | Display memory usage information in the UI. | `false` |
54
- | Show Line Numbers | `ui.showLineNumbers` | Show line numbers in the chat. | `false` |
55
- | Show Citations | `ui.showCitations` | Show citations for generated text in the chat. | `false` |
56
- | Use Full Width | `ui.useFullWidth` | Use the entire width of the terminal for output. | `true` |
57
- | Use Alternate Screen Buffer | `ui.useAlternateBuffer` | Use an alternate screen buffer for the UI, preserving shell history. | `true` |
58
- | Disable Loading Phrases | `ui.accessibility.disableLoadingPhrases` | Disable loading phrases for accessibility. | `false` |
59
- | Screen Reader Mode | `ui.accessibility.screenReader` | Render output in plain-text to be more screen reader accessible. | `false` |
43
+ | UI Label | Setting | Description | Default |
44
+ | ------------------------------ | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
45
+ | Hide Window Title | `ui.hideWindowTitle` | Hide the window title bar | `false` |
46
+ | Show Thoughts in Title | `ui.showStatusInTitle` | Show Gemini CLI model thoughts in the terminal window title during the working phase | `false` |
47
+ | Dynamic Window Title | `ui.dynamicWindowTitle` | Update the terminal window title with current status icons (Ready: ◇, Action Required: ✋, Working: ✦) | `true` |
48
+ | Show Home Directory Warning | `ui.showHomeDirectoryWarning` | Show a warning when running Gemini CLI in the home directory. | `true` |
49
+ | Hide Tips | `ui.hideTips` | Hide helpful tips in the UI | `false` |
50
+ | Hide Banner | `ui.hideBanner` | Hide the application banner | `false` |
51
+ | Hide Context Summary | `ui.hideContextSummary` | Hide the context summary (GEMINI.md, MCP servers) above the input. | `false` |
52
+ | Hide CWD | `ui.footer.hideCWD` | Hide the current working directory path in the footer. | `false` |
53
+ | Hide Sandbox Status | `ui.footer.hideSandboxStatus` | Hide the sandbox status indicator in the footer. | `false` |
54
+ | Hide Model Info | `ui.footer.hideModelInfo` | Hide the model name and context usage in the footer. | `false` |
55
+ | Hide Context Window Percentage | `ui.footer.hideContextPercentage` | Hides the context window remaining percentage. | `true` |
56
+ | Hide Footer | `ui.hideFooter` | Hide the footer from the UI | `false` |
57
+ | Show Memory Usage | `ui.showMemoryUsage` | Display memory usage information in the UI | `false` |
58
+ | Show Line Numbers | `ui.showLineNumbers` | Show line numbers in the chat. | `true` |
59
+ | Show Citations | `ui.showCitations` | Show citations for generated text in the chat. | `false` |
60
+ | Show Model Info In Chat | `ui.showModelInfoInChat` | Show the model name in the chat for each model turn. | `false` |
61
+ | Use Full Width | `ui.useFullWidth` | Use the entire width of the terminal for output. | `true` |
62
+ | Use Alternate Screen Buffer | `ui.useAlternateBuffer` | Use an alternate screen buffer for the UI, preserving shell history. | `false` |
63
+ | Incremental Rendering | `ui.incrementalRendering` | Enable incremental rendering for the UI. This option will reduce flickering but may cause rendering artifacts. Only supported when useAlternateBuffer is enabled. | `true` |
64
+ | Enable Loading Phrases | `ui.accessibility.enableLoadingPhrases` | Enable loading phrases during operations. | `true` |
65
+ | Screen Reader Mode | `ui.accessibility.screenReader` | Render output in plain-text to be more screen reader accessible | `false` |
60
66
 
61
67
  ### IDE
62
68
 
@@ -69,45 +75,59 @@ they appear in the UI.
69
75
  | UI Label | Setting | Description | Default |
70
76
  | ----------------------- | ---------------------------- | -------------------------------------------------------------------------------------- | ------- |
71
77
  | Max Session Turns | `model.maxSessionTurns` | Maximum number of user/model/tool turns to keep in a session. -1 means unlimited. | `-1` |
72
- | Compression Threshold | `model.compressionThreshold` | The fraction of context usage at which to trigger context compression (e.g. 0.2, 0.3). | `0.2` |
78
+ | Compression Threshold | `model.compressionThreshold` | The fraction of context usage at which to trigger context compression (e.g. 0.2, 0.3). | `0.5` |
73
79
  | Skip Next Speaker Check | `model.skipNextSpeakerCheck` | Skip the next speaker check. | `true` |
74
80
 
75
81
  ### Context
76
82
 
77
- | UI Label | Setting | Description | Default |
78
- | ------------------------------------ | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------- |
79
- | Memory Discovery Max Dirs | `context.discoveryMaxDirs` | Maximum number of directories to search for memory. | `200` |
80
- | Load Memory From Include Directories | `context.loadMemoryFromIncludeDirectories` | Controls how /memory refresh loads CODEFLY.md files. When true, include directories are scanned; when false, only the current directory is used. | `false` |
81
- | Respect .gitignore | `context.fileFiltering.respectGitIgnore` | Respect .gitignore files when searching. | `true` |
82
- | Respect .codeflyignore | `context.fileFiltering.respectGeminiIgnore` | Respect .codeflyignore files when searching. | `true` |
83
- | Enable Recursive File Search | `context.fileFiltering.enableRecursiveFileSearch` | Enable recursive file search functionality when completing @ references in the prompt. | `true` |
84
- | Disable Fuzzy Search | `context.fileFiltering.disableFuzzySearch` | Disable fuzzy search when searching for files. | `false` |
83
+ | UI Label | Setting | Description | Default |
84
+ | ------------------------------------ | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
85
+ | Memory Discovery Max Dirs | `context.discoveryMaxDirs` | Maximum number of directories to search for memory. | `200` |
86
+ | Load Memory From Include Directories | `context.loadMemoryFromIncludeDirectories` | Controls how /memory refresh loads GEMINI.md files. When true, include directories are scanned; when false, only the current directory is used. | `false` |
87
+ | Respect .gitignore | `context.fileFiltering.respectGitIgnore` | Respect .gitignore files when searching. | `true` |
88
+ | Respect .codeflyignore | `context.fileFiltering.respectCodeflyIgnore` | Respect .codeflyignore files when searching. | `true` |
89
+ | Enable Recursive File Search | `context.fileFiltering.enableRecursiveFileSearch` | Enable recursive file search functionality when completing @ references in the prompt. | `true` |
90
+ | Enable Fuzzy Search | `context.fileFiltering.enableFuzzySearch` | Enable fuzzy search when searching for files. | `true` |
85
91
 
86
92
  ### Tools
87
93
 
88
- | UI Label | Setting | Description | Default |
89
- | -------------------------------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------- | ------- |
90
- | Enable Interactive Shell | `tools.shell.enableInteractiveShell` | Use node-pty for an interactive shell experience. Fallback to child_process still applies. | `true` |
91
- | Show Color | `tools.shell.showColor` | Show color in shell output. | `false` |
92
- | Auto Accept | `tools.autoAccept` | Automatically accept and execute tool calls that are considered safe (e.g., read-only operations). | `false` |
93
- | Use Ripgrep | `tools.useRipgrep` | Use ripgrep for file content search instead of the fallback implementation. Provides faster search performance. | `true` |
94
- | Enable Tool Output Truncation | `tools.enableToolOutputTruncation` | Enable truncation of large tool outputs. | `true` |
95
- | Tool Output Truncation Threshold | `tools.truncateToolOutputThreshold` | Truncate tool output if it is larger than this many characters. Set to -1 to disable. | `10000` |
96
- | Tool Output Truncation Lines | `tools.truncateToolOutputLines` | The number of lines to keep when truncating tool output. | `100` |
94
+ | UI Label | Setting | Description | Default |
95
+ | -------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
96
+ | Enable Interactive Shell | `tools.shell.enableInteractiveShell` | Use node-pty for an interactive shell experience. Fallback to child_process still applies. | `true` |
97
+ | Show Color | `tools.shell.showColor` | Show color in shell output. | `false` |
98
+ | Auto Accept | `tools.autoAccept` | Automatically accept and execute tool calls that are considered safe (e.g., read-only operations). | `false` |
99
+ | Approval Mode | `tools.approvalMode` | The default approval mode for tool execution. 'default' prompts for approval, 'auto_edit' auto-approves edit tools, and 'plan' is read-only mode. 'yolo' is not supported yet. | `"default"` |
100
+ | Use Ripgrep | `tools.useRipgrep` | Use ripgrep for file content search instead of the fallback implementation. Provides faster search performance. | `true` |
101
+ | Enable Tool Output Truncation | `tools.enableToolOutputTruncation` | Enable truncation of large tool outputs. | `true` |
102
+ | Tool Output Truncation Threshold | `tools.truncateToolOutputThreshold` | Truncate tool output if it is larger than this many characters. Set to -1 to disable. | `4000000` |
103
+ | Tool Output Truncation Lines | `tools.truncateToolOutputLines` | The number of lines to keep when truncating tool output. | `1000` |
104
+ | Disable LLM Correction | `tools.disableLLMCorrection` | Disable LLM-based error correction for edit tools. When enabled, tools will fail immediately if exact string matches are not found, instead of attempting to self-correct. | `true` |
97
105
 
98
106
  ### Security
99
107
 
100
- | UI Label | Setting | Description | Default |
101
- | ----------------------------- | ----------------------------------------------- | --------------------------------------------------------- | ------- |
102
- | Disable YOLO Mode | `security.disableYoloMode` | Disable YOLO mode, even if enabled by a flag. | `false` |
103
- | Blocks extensions from Git | `security.blockGitExtensions` | Blocks installing and loading extensions from Git. | `false` |
104
- | Folder Trust | `security.folderTrust.enabled` | Setting to track whether Folder trust is enabled. | `false` |
105
- | Allowed Environment Variables | `security.environmentVariableRedaction.allowed` | Environment variables to always allow (bypass redaction). | `[]` |
106
- | Blocked Environment Variables | `security.environmentVariableRedaction.blocked` | Environment variables to always redact. | `[]` |
108
+ | UI Label | Setting | Description | Default |
109
+ | ------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------- | ----------- |
110
+ | Disable YOLO Mode | `security.disableYoloMode` | Disable YOLO mode, even if enabled by a flag. | `false` |
111
+ | Allow Permanent Tool Approval | `security.enablePermanentToolApproval` | Enable the "Allow for all future sessions" option in tool confirmation dialogs. | `false` |
112
+ | Blocks extensions from Git | `security.blockGitExtensions` | Blocks installing and loading extensions from Git. | `false` |
113
+ | Folder Trust | `security.folderTrust.enabled` | Setting to track whether Folder trust is enabled. | `false` |
114
+ | Enable Environment Variable Redaction | `security.environmentVariableRedaction.enabled` | Enable redaction of environment variables that may contain secrets. | `false` |
115
+ | API Key | `security.auth.openai.apiKey` | OpenAI API key. | `undefined` |
116
+ | Model | `security.auth.openai.model` | OpenAI model (e.g., gpt-4o). | `undefined` |
117
+ | Base URL | `security.auth.openai.baseUrl` | OpenAI Base URL. | `undefined` |
107
118
 
108
119
  ### Experimental
109
120
 
110
- | UI Label | Setting | Description | Default |
111
- | ----------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------ | ------- |
112
- | Enable Codebase Investigator | `experimental.codebaseInvestigatorSettings.enabled` | Enable the Codebase Investigator agent. | `true` |
113
- | Codebase Investigator Max Num Turns | `experimental.codebaseInvestigatorSettings.maxNumTurns` | Maximum number of turns for the Codebase Investigator agent. | `10` |
121
+ | UI Label | Setting | Description | Default |
122
+ | ---------------- | ---------------------------- | ----------------------------------------------------------------------------------- | ------- |
123
+ | Agent Skills | `experimental.skills` | Enable Agent Skills (experimental). | `false` |
124
+ | Use OSC 52 Paste | `experimental.useOSC52Paste` | Use OSC 52 sequence for pasting instead of clipboardy (useful for remote sessions). | `false` |
125
+ | Plan | `experimental.plan` | Enable planning features (Plan Mode and tools). | `false` |
126
+
127
+ ### HooksConfig
128
+
129
+ | UI Label | Setting | Description | Default |
130
+ | ------------------ | --------------------------- | ------------------------------------------------ | ------- |
131
+ | Hook Notifications | `hooksConfig.notifications` | Show visual indicators when hooks are executing. | `true` |
132
+
133
+ <!-- SETTINGS-AUTOGEN:END -->