@thacio/auditaria 0.30.12 → 0.30.13
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.
- package/README.md +14 -10
- package/bundle/docs/admin/enterprise-controls.md +115 -0
- package/bundle/docs/changelogs/index.md +20 -1
- package/bundle/docs/changelogs/latest.md +359 -293
- package/bundle/docs/changelogs/preview.md +296 -349
- package/bundle/docs/cli/checkpointing.md +2 -3
- package/bundle/docs/cli/cli-reference.md +4 -5
- package/bundle/docs/cli/commands.md +376 -650
- package/bundle/docs/cli/custom-commands.md +3 -0
- package/bundle/docs/cli/enterprise.md +1 -1
- package/bundle/docs/cli/gemini-md.md +20 -12
- package/bundle/docs/cli/headless.md +34 -372
- package/bundle/docs/cli/keyboard-shortcuts.md +36 -35
- package/bundle/docs/cli/plan-mode.md +5 -1
- package/bundle/docs/cli/rewind.md +11 -11
- package/bundle/docs/cli/session-management.md +61 -44
- package/bundle/docs/cli/settings.md +10 -5
- package/bundle/docs/cli/skills.md +15 -8
- package/bundle/docs/cli/themes.md +85 -51
- package/bundle/docs/cli/tutorials/automation.md +187 -0
- package/bundle/docs/cli/tutorials/file-management.md +142 -0
- package/bundle/docs/cli/tutorials/mcp-setup.md +105 -0
- package/bundle/docs/cli/tutorials/memory-management.md +126 -0
- package/bundle/docs/cli/tutorials/session-management.md +105 -0
- package/bundle/docs/cli/tutorials/shell-commands.md +107 -0
- package/bundle/docs/cli/tutorials/skills-getting-started.md +36 -31
- package/bundle/docs/cli/tutorials/task-planning.md +93 -0
- package/bundle/docs/cli/tutorials/web-tools.md +78 -0
- package/bundle/docs/core/policy-engine.md +4 -2
- package/bundle/docs/core/subagents.md +38 -38
- package/bundle/docs/extensions/best-practices.md +102 -53
- package/bundle/docs/extensions/index.md +37 -21
- package/bundle/docs/extensions/reference.md +148 -216
- package/bundle/docs/extensions/releasing.md +93 -122
- package/bundle/docs/extensions/writing-extensions.md +87 -76
- package/bundle/docs/get-started/configuration.md +103 -61
- package/bundle/docs/get-started/examples.md +39 -119
- package/bundle/docs/get-started/index.md +5 -4
- package/bundle/docs/get-started/installation.md +110 -77
- package/bundle/docs/index.md +156 -108
- package/bundle/docs/releases.md +2 -2
- package/bundle/docs/sidebar.json +101 -61
- package/bundle/docs/tools/activate-skill.md +43 -0
- package/bundle/docs/tools/ask-user.md +1 -1
- package/bundle/docs/tools/file-system.md +43 -133
- package/bundle/docs/tools/index.md +92 -91
- package/bundle/docs/tools/internal-docs.md +46 -0
- package/bundle/docs/tools/mcp-server.md +2 -2
- package/bundle/docs/tools/memory.md +21 -40
- package/bundle/docs/tools/shell.md +43 -88
- package/bundle/docs/tools/todos.md +22 -44
- package/bundle/docs/tools/web-fetch.md +22 -46
- package/bundle/docs/tools/web-search.md +19 -29
- package/bundle/gemini.js +138221 -136590
- package/bundle/mcp-bridge.js +154 -143
- package/bundle/node_modules/@browserbasehq/stagehand/dist/index.js +430 -257
- package/bundle/node_modules/@thacio/auditaria-search/dist/tsconfig.tsbuildinfo +1 -1
- package/bundle/web-client/components/EditorPanel.js +57 -36
- package/bundle/web-client/components/FileTreePanel.js +77 -2
- package/bundle/web-client/index.html +5 -1
- package/bundle/web-client/managers/EditorManager.js +190 -24
- package/bundle/web-client/styles/themes.css +376 -0
- package/bundle/web-client/utils/theme-manager.js +33 -1
- package/package.json +6 -6
- package/bundle/docs/architecture.md +0 -80
- package/bundle/docs/cli/index.md +0 -67
- package/bundle/docs/cli/tutorials.md +0 -87
- package/bundle/docs/get-started/configuration-v1.md +0 -882
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
# Auditaria configuration
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
> - The new format will be supported in the stable release starting
|
|
7
|
-
> **[09/10/25]**.
|
|
8
|
-
> - Automatic migration from the old format to the new format will begin on
|
|
9
|
-
> **[09/17/25]**.
|
|
10
|
-
>
|
|
11
|
-
> For details on the previous format, please see the
|
|
12
|
-
> [v1 Configuration documentation](./configuration-v1.md).
|
|
13
|
-
|
|
14
|
-
Auditaria offers several ways to configure its behavior, including environment
|
|
15
|
-
variables, command-line arguments, and settings files. This document outlines
|
|
16
|
-
the different configuration methods and available settings.
|
|
1
|
+
# Auditaria CLI configuration
|
|
2
|
+
|
|
3
|
+
Auditaria CLI offers several ways to configure its behavior, including
|
|
4
|
+
environment variables, command-line arguments, and settings files. This document
|
|
5
|
+
outlines the different configuration methods and available settings.
|
|
17
6
|
|
|
18
7
|
## Configuration layers
|
|
19
8
|
|
|
@@ -33,8 +22,8 @@ overridden by higher numbers):
|
|
|
33
22
|
|
|
34
23
|
## Settings files
|
|
35
24
|
|
|
36
|
-
Auditaria uses JSON settings files for persistent configuration. There are
|
|
37
|
-
locations for these files:
|
|
25
|
+
Auditaria CLI uses JSON settings files for persistent configuration. There are
|
|
26
|
+
four locations for these files:
|
|
38
27
|
|
|
39
28
|
> **Tip:** JSON-aware editors can use autocomplete and validation by pointing to
|
|
40
29
|
> the generated schema at `schemas/settings.schema.json` in this repository.
|
|
@@ -52,22 +41,22 @@ locations for these files:
|
|
|
52
41
|
user, project, or system override settings.
|
|
53
42
|
- **User settings file:**
|
|
54
43
|
- **Location:** `~/.gemini/settings.json` (where `~` is your home directory).
|
|
55
|
-
- **Scope:** Applies to all Auditaria sessions for the current user. User
|
|
44
|
+
- **Scope:** Applies to all Auditaria CLI sessions for the current user. User
|
|
56
45
|
settings override system defaults.
|
|
57
46
|
- **Project settings file:**
|
|
58
47
|
- **Location:** `.gemini/settings.json` within your project's root directory.
|
|
59
|
-
- **Scope:** Applies only when running Auditaria from that specific
|
|
60
|
-
Project settings override user settings and system defaults.
|
|
48
|
+
- **Scope:** Applies only when running Auditaria CLI from that specific
|
|
49
|
+
project. Project settings override user settings and system defaults.
|
|
61
50
|
- **System settings file:**
|
|
62
51
|
- **Location:** `/etc/gemini-cli/settings.json` (Linux),
|
|
63
52
|
`C:\ProgramData\gemini-cli\settings.json` (Windows) or
|
|
64
53
|
`/Library/Application Support/GeminiCli/settings.json` (macOS). The path can
|
|
65
54
|
be overridden using the `GEMINI_CLI_SYSTEM_SETTINGS_PATH` environment
|
|
66
55
|
variable.
|
|
67
|
-
- **Scope:** Applies to all Auditaria sessions on the system, for all
|
|
68
|
-
System settings act as overrides, taking precedence over all other
|
|
69
|
-
files. May be useful for system administrators at enterprises to
|
|
70
|
-
controls over users' Auditaria setups.
|
|
56
|
+
- **Scope:** Applies to all Auditaria CLI sessions on the system, for all
|
|
57
|
+
users. System settings act as overrides, taking precedence over all other
|
|
58
|
+
settings files. May be useful for system administrators at enterprises to
|
|
59
|
+
have controls over users' Auditaria CLI setups.
|
|
71
60
|
|
|
72
61
|
**Note on environment variables in settings:** String values within your
|
|
73
62
|
`settings.json` and `gemini-extension.json` files can reference environment
|
|
@@ -77,14 +66,15 @@ an environment variable `MY_API_TOKEN`, you could use it in `settings.json` like
|
|
|
77
66
|
this: `"apiKey": "$MY_API_TOKEN"`. Additionally, each extension can have its own
|
|
78
67
|
`.env` file in its directory, which will be loaded automatically.
|
|
79
68
|
|
|
80
|
-
> **Note for Enterprise Users:** For guidance on deploying and managing
|
|
81
|
-
> CLI in a corporate environment, please see the
|
|
69
|
+
> **Note for Enterprise Users:** For guidance on deploying and managing
|
|
70
|
+
> Auditaria CLI in a corporate environment, please see the
|
|
82
71
|
> [Enterprise Configuration](../cli/enterprise.md) documentation.
|
|
83
72
|
|
|
84
73
|
### The `.gemini` directory in your project
|
|
85
74
|
|
|
86
75
|
In addition to a project settings file, a project's `.gemini` directory can
|
|
87
|
-
contain other project-specific files related to Auditaria's operation, such
|
|
76
|
+
contain other project-specific files related to Auditaria CLI's operation, such
|
|
77
|
+
as:
|
|
88
78
|
|
|
89
79
|
- [Custom sandbox profiles](#sandboxing) (e.g.,
|
|
90
80
|
`.gemini/sandbox-macos-custom.sb`, `.gemini/sandbox.Dockerfile`).
|
|
@@ -96,6 +86,13 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
96
86
|
|
|
97
87
|
<!-- SETTINGS-AUTOGEN:START -->
|
|
98
88
|
|
|
89
|
+
#### `policyPaths`
|
|
90
|
+
|
|
91
|
+
- **`policyPaths`** (array):
|
|
92
|
+
- **Description:** Additional policy files or directories to load.
|
|
93
|
+
- **Default:** `[]`
|
|
94
|
+
- **Requires restart:** Yes
|
|
95
|
+
|
|
99
96
|
#### `general`
|
|
100
97
|
|
|
101
98
|
- **`general.preferredEditor`** (string):
|
|
@@ -125,6 +122,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
125
122
|
- **Description:** Enable update notification prompts.
|
|
126
123
|
- **Default:** `true`
|
|
127
124
|
|
|
125
|
+
- **`general.enableNotifications`** (boolean):
|
|
126
|
+
- **Description:** Enable run-event notifications for action-required prompts
|
|
127
|
+
and session completion. Currently macOS only.
|
|
128
|
+
- **Default:** `false`
|
|
129
|
+
|
|
128
130
|
- **`general.checkpointing.enabled`** (boolean):
|
|
129
131
|
- **Description:** Enable session checkpointing for recovery
|
|
130
132
|
- **Default:** `false`
|
|
@@ -150,8 +152,8 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
150
152
|
- **Default:** `false`
|
|
151
153
|
|
|
152
154
|
- **`general.sessionRetention.maxAge`** (string):
|
|
153
|
-
- **Description:**
|
|
154
|
-
"1w")
|
|
155
|
+
- **Description:** Automatically delete chats older than this time period
|
|
156
|
+
(e.g., "30d", "7d", "24h", "1w")
|
|
155
157
|
- **Default:** `undefined`
|
|
156
158
|
|
|
157
159
|
- **`general.sessionRetention.maxCount`** (number):
|
|
@@ -163,6 +165,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
163
165
|
- **Description:** Minimum retention period (safety limit, defaults to "1d")
|
|
164
166
|
- **Default:** `"1d"`
|
|
165
167
|
|
|
168
|
+
- **`general.sessionRetention.warningAcknowledged`** (boolean):
|
|
169
|
+
- **Description:** INTERNAL: Whether the user has acknowledged the session
|
|
170
|
+
retention warning
|
|
171
|
+
- **Default:** `false`
|
|
172
|
+
|
|
166
173
|
#### `output`
|
|
167
174
|
|
|
168
175
|
- **`output.format`** (enum):
|
|
@@ -201,8 +208,8 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
201
208
|
- **Values:** `"off"`, `"full"`
|
|
202
209
|
|
|
203
210
|
- **`ui.showStatusInTitle`** (boolean):
|
|
204
|
-
- **Description:** Show Auditaria model thoughts in the terminal window
|
|
205
|
-
during the working phase
|
|
211
|
+
- **Description:** Show Auditaria CLI model thoughts in the terminal window
|
|
212
|
+
title during the working phase
|
|
206
213
|
- **Default:** `false`
|
|
207
214
|
|
|
208
215
|
- **`ui.dynamicWindowTitle`** (boolean):
|
|
@@ -211,11 +218,16 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
211
218
|
- **Default:** `true`
|
|
212
219
|
|
|
213
220
|
- **`ui.showHomeDirectoryWarning`** (boolean):
|
|
214
|
-
- **Description:** Show a warning when running
|
|
221
|
+
- **Description:** Show a warning when running Auditaria CLI in the home
|
|
215
222
|
directory.
|
|
216
223
|
- **Default:** `true`
|
|
217
224
|
- **Requires restart:** Yes
|
|
218
225
|
|
|
226
|
+
- **`ui.showCompatibilityWarnings`** (boolean):
|
|
227
|
+
- **Description:** Show warnings about terminal or OS compatibility issues.
|
|
228
|
+
- **Default:** `true`
|
|
229
|
+
- **Requires restart:** Yes
|
|
230
|
+
|
|
219
231
|
- **`ui.hideTips`** (boolean):
|
|
220
232
|
- **Description:** Hide helpful tips in the UI
|
|
221
233
|
- **Default:** `false`
|
|
@@ -478,6 +490,19 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
478
490
|
}
|
|
479
491
|
}
|
|
480
492
|
},
|
|
493
|
+
"fast-ack-helper": {
|
|
494
|
+
"extends": "base",
|
|
495
|
+
"modelConfig": {
|
|
496
|
+
"model": "gemini-2.5-flash-lite",
|
|
497
|
+
"generateContentConfig": {
|
|
498
|
+
"temperature": 0.2,
|
|
499
|
+
"maxOutputTokens": 120,
|
|
500
|
+
"thinkingConfig": {
|
|
501
|
+
"thinkingBudget": 0
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
},
|
|
481
506
|
"edit-corrector": {
|
|
482
507
|
"extends": "base",
|
|
483
508
|
"modelConfig": {
|
|
@@ -621,6 +646,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
621
646
|
- **Description:** The format to use when importing memory.
|
|
622
647
|
- **Default:** `undefined`
|
|
623
648
|
|
|
649
|
+
- **`context.includeDirectoryTree`** (boolean):
|
|
650
|
+
- **Description:** Whether to include the directory tree of the current
|
|
651
|
+
working directory in the initial request to the model.
|
|
652
|
+
- **Default:** `true`
|
|
653
|
+
|
|
624
654
|
- **`context.discoveryMaxDirs`** (number):
|
|
625
655
|
- **Description:** Maximum number of directories to search for memory.
|
|
626
656
|
- **Default:** `200`
|
|
@@ -912,8 +942,15 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
912
942
|
- **Requires restart:** Yes
|
|
913
943
|
|
|
914
944
|
- **`experimental.useOSC52Paste`** (boolean):
|
|
915
|
-
- **Description:** Use OSC 52
|
|
916
|
-
|
|
945
|
+
- **Description:** Use OSC 52 for pasting. This may be more robust than the
|
|
946
|
+
default system when using remote terminal sessions (if your terminal is
|
|
947
|
+
configured to allow it).
|
|
948
|
+
- **Default:** `false`
|
|
949
|
+
|
|
950
|
+
- **`experimental.useOSC52Copy`** (boolean):
|
|
951
|
+
- **Description:** Use OSC 52 for copying. This may be more robust than the
|
|
952
|
+
default system when using remote terminal sessions (if your terminal is
|
|
953
|
+
configured to allow it).
|
|
917
954
|
- **Default:** `false`
|
|
918
955
|
|
|
919
956
|
- **`experimental.plan`** (boolean):
|
|
@@ -921,6 +958,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
921
958
|
- **Default:** `false`
|
|
922
959
|
- **Requires restart:** Yes
|
|
923
960
|
|
|
961
|
+
- **`experimental.modelSteering`** (boolean):
|
|
962
|
+
- **Description:** Enable model steering (user hints) to guide the model
|
|
963
|
+
during tool execution.
|
|
964
|
+
- **Default:** `false`
|
|
965
|
+
|
|
924
966
|
#### `skills`
|
|
925
967
|
|
|
926
968
|
- **`skills.enabled`** (boolean):
|
|
@@ -1034,7 +1076,7 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1034
1076
|
#### `mcpServers`
|
|
1035
1077
|
|
|
1036
1078
|
Configures connections to one or more Model-Context Protocol (MCP) servers for
|
|
1037
|
-
discovering and using custom tools. Auditaria attempts to connect to each
|
|
1079
|
+
discovering and using custom tools. Auditaria CLI attempts to connect to each
|
|
1038
1080
|
configured MCP server to discover available tools. If multiple MCP servers
|
|
1039
1081
|
expose a tool with the same name, the tool names will be prefixed with the
|
|
1040
1082
|
server alias you defined in the configuration (e.g.,
|
|
@@ -1076,8 +1118,8 @@ specified, the order of precedence is `httpUrl`, then `url`, then `command`.
|
|
|
1076
1118
|
|
|
1077
1119
|
#### `telemetry`
|
|
1078
1120
|
|
|
1079
|
-
Configures logging and metrics collection for Auditaria. For more
|
|
1080
|
-
see [Telemetry](../cli/telemetry.md).
|
|
1121
|
+
Configures logging and metrics collection for Auditaria CLI. For more
|
|
1122
|
+
information, see [Telemetry](../cli/telemetry.md).
|
|
1081
1123
|
|
|
1082
1124
|
- **Properties:**
|
|
1083
1125
|
- **`enabled`** (boolean): Whether or not telemetry is enabled.
|
|
@@ -1208,8 +1250,8 @@ the `advanced.excludedEnvVars` setting in your `settings.json` file.
|
|
|
1208
1250
|
- Overrides the hardcoded default
|
|
1209
1251
|
- Example: `export GEMINI_MODEL="gemini-3-flash-preview"`
|
|
1210
1252
|
- **`GEMINI_CLI_HOME`**:
|
|
1211
|
-
- Specifies the root directory for
|
|
1212
|
-
storage.
|
|
1253
|
+
- Specifies the root directory for Auditaria CLI's user-level configuration
|
|
1254
|
+
and storage.
|
|
1213
1255
|
- By default, this is the user's system home directory. The CLI will create a
|
|
1214
1256
|
`.gemini` folder inside this directory.
|
|
1215
1257
|
- Useful for shared compute environments or keeping CLI state isolated.
|
|
@@ -1314,10 +1356,10 @@ the `advanced.excludedEnvVars` setting in your `settings.json` file.
|
|
|
1314
1356
|
|
|
1315
1357
|
### Environment variable redaction
|
|
1316
1358
|
|
|
1317
|
-
To prevent accidental leakage of sensitive information,
|
|
1318
|
-
redacts potential secrets from environment variables when
|
|
1319
|
-
as shell commands). This "best effort" redaction applies
|
|
1320
|
-
from the system or loaded from `.env` files.
|
|
1359
|
+
To prevent accidental leakage of sensitive information, Auditaria CLI
|
|
1360
|
+
automatically redacts potential secrets from environment variables when
|
|
1361
|
+
executing tools (such as shell commands). This "best effort" redaction applies
|
|
1362
|
+
to variables inherited from the system or loaded from `.env` files.
|
|
1321
1363
|
|
|
1322
1364
|
**Default Redaction Rules:**
|
|
1323
1365
|
|
|
@@ -1367,10 +1409,9 @@ for that specific session.
|
|
|
1367
1409
|
- Specifies the Gemini model to use for this session.
|
|
1368
1410
|
- Example: `npm start -- --model gemini-3-pro-preview`
|
|
1369
1411
|
- **`--prompt <your_prompt>`** (**`-p <your_prompt>`**):
|
|
1370
|
-
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
structured output.
|
|
1412
|
+
- **Deprecated:** Use positional arguments instead.
|
|
1413
|
+
- Used to pass a prompt directly to the command. This invokes Auditaria CLI in
|
|
1414
|
+
a non-interactive mode.
|
|
1374
1415
|
- **`--prompt-interactive <your_prompt>`** (**`-i <your_prompt>`**):
|
|
1375
1416
|
- Starts an interactive session with the provided prompt as the initial input.
|
|
1376
1417
|
- The prompt is processed within the interactive session, not before it.
|
|
@@ -1423,20 +1464,21 @@ for that specific session.
|
|
|
1423
1464
|
- Resume a previous chat session. Use "latest" for the most recent session,
|
|
1424
1465
|
provide a session index number, or provide a full session UUID.
|
|
1425
1466
|
- If no session_id is provided, defaults to "latest".
|
|
1426
|
-
- Example: `
|
|
1427
|
-
`
|
|
1467
|
+
- Example: `auditaria --resume 5` or `auditaria --resume latest` or
|
|
1468
|
+
`auditaria --resume a1b2c3d4-e5f6-7890-abcd-ef1234567890` or
|
|
1469
|
+
`auditaria --resume`
|
|
1428
1470
|
- See [Session Management](../cli/session-management.md) for more details.
|
|
1429
1471
|
- **`--list-sessions`**:
|
|
1430
1472
|
- List all available chat sessions for the current project and exit.
|
|
1431
1473
|
- Shows session indices, dates, message counts, and preview of first user
|
|
1432
1474
|
message.
|
|
1433
|
-
- Example: `
|
|
1475
|
+
- Example: `auditaria --list-sessions`
|
|
1434
1476
|
- **`--delete-session <identifier>`**:
|
|
1435
1477
|
- Delete a specific chat session by its index number or full session UUID.
|
|
1436
1478
|
- Use `--list-sessions` first to see available sessions, their indices, and
|
|
1437
1479
|
UUIDs.
|
|
1438
|
-
- Example: `
|
|
1439
|
-
`
|
|
1480
|
+
- Example: `auditaria --delete-session 3` or
|
|
1481
|
+
`auditaria --delete-session a1b2c3d4-e5f6-7890-abcd-ef1234567890`
|
|
1440
1482
|
- **`--include-directories <dir1,dir2,...>`**:
|
|
1441
1483
|
- Includes additional directories in the workspace for multi-directory
|
|
1442
1484
|
support.
|
|
@@ -1559,12 +1601,12 @@ conventions and context.
|
|
|
1559
1601
|
|
|
1560
1602
|
By understanding and utilizing these configuration layers and the hierarchical
|
|
1561
1603
|
nature of context files, you can effectively manage the AI's memory and tailor
|
|
1562
|
-
the Auditaria's responses to your specific needs and projects.
|
|
1604
|
+
the Auditaria CLI's responses to your specific needs and projects.
|
|
1563
1605
|
|
|
1564
1606
|
## Sandboxing
|
|
1565
1607
|
|
|
1566
|
-
The Auditaria can execute potentially unsafe operations (like shell commands
|
|
1567
|
-
file modifications) within a sandboxed environment to protect your system.
|
|
1608
|
+
The Auditaria CLI can execute potentially unsafe operations (like shell commands
|
|
1609
|
+
and file modifications) within a sandboxed environment to protect your system.
|
|
1568
1610
|
|
|
1569
1611
|
Sandboxing is disabled by default, but you can enable it in a few ways:
|
|
1570
1612
|
|
|
@@ -1588,17 +1630,17 @@ FROM gemini-cli-sandbox
|
|
|
1588
1630
|
```
|
|
1589
1631
|
|
|
1590
1632
|
When `.gemini/sandbox.Dockerfile` exists, you can use `BUILD_SANDBOX`
|
|
1591
|
-
environment variable when running Auditaria to automatically build the
|
|
1592
|
-
sandbox image:
|
|
1633
|
+
environment variable when running Auditaria CLI to automatically build the
|
|
1634
|
+
custom sandbox image:
|
|
1593
1635
|
|
|
1594
1636
|
```bash
|
|
1595
|
-
BUILD_SANDBOX=1
|
|
1637
|
+
BUILD_SANDBOX=1 gemini -s
|
|
1596
1638
|
```
|
|
1597
1639
|
|
|
1598
1640
|
## Usage statistics
|
|
1599
1641
|
|
|
1600
|
-
To help us improve the Auditaria, we collect anonymized usage statistics.
|
|
1601
|
-
data helps us understand how the CLI is used, identify common issues, and
|
|
1642
|
+
To help us improve the Auditaria CLI, we collect anonymized usage statistics.
|
|
1643
|
+
This data helps us understand how the CLI is used, identify common issues, and
|
|
1602
1644
|
prioritize new features.
|
|
1603
1645
|
|
|
1604
1646
|
**What we collect:**
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
# Gemini CLI examples
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Gemini CLI helps you automate common engineering tasks by combining AI reasoning
|
|
4
|
+
with local system tools. This document provides examples of how to use the CLI
|
|
5
|
+
for file management, code analysis, and data transformation.
|
|
5
6
|
|
|
6
|
-
**Note:**
|
|
7
|
-
results
|
|
7
|
+
> **Note:** These examples demonstrate potential capabilities. Your actual
|
|
8
|
+
> results can vary based on the model used and your project environment.
|
|
8
9
|
|
|
9
10
|
## Rename your photographs based on content
|
|
10
11
|
|
|
12
|
+
You can use Gemini CLI to automate file management tasks that require visual
|
|
13
|
+
analysis. In this example, Gemini CLI renames images based on their actual
|
|
14
|
+
subject matter.
|
|
15
|
+
|
|
11
16
|
Scenario: You have a folder containing the following files:
|
|
12
17
|
|
|
13
18
|
```bash
|
|
@@ -22,9 +27,9 @@ Give Gemini the following prompt:
|
|
|
22
27
|
Rename the photos in my "photos" directory based on their contents.
|
|
23
28
|
```
|
|
24
29
|
|
|
25
|
-
Result: Gemini
|
|
30
|
+
Result: Gemini asks for permission to rename your files.
|
|
26
31
|
|
|
27
|
-
Select **Allow once** and your files
|
|
32
|
+
Select **Allow once** and your files are renamed:
|
|
28
33
|
|
|
29
34
|
```bash
|
|
30
35
|
photos/yellow_flowers.png
|
|
@@ -34,6 +39,9 @@ photos/green_android_robot.png
|
|
|
34
39
|
|
|
35
40
|
## Explain a repository by reading its code
|
|
36
41
|
|
|
42
|
+
Gemini CLI is effective for rapid codebase exploration. The following example
|
|
43
|
+
shows how to ask Gemini CLI to fetch, analyze, and summarize a remote project.
|
|
44
|
+
|
|
37
45
|
Scenario: You want to understand how a popular open-source utility works by
|
|
38
46
|
inspecting its code, not just its README.
|
|
39
47
|
|
|
@@ -43,15 +51,14 @@ Give Gemini CLI the following prompt:
|
|
|
43
51
|
Clone the 'chalk' repository from https://github.com/chalk/chalk, read its key source files, and explain how it works.
|
|
44
52
|
```
|
|
45
53
|
|
|
46
|
-
Result: Gemini
|
|
54
|
+
Result: Gemini performs a sequence of actions to answer your request.
|
|
47
55
|
|
|
48
|
-
1. First, it
|
|
49
|
-
|
|
50
|
-
2. Next, it will find the important source files and ask for permission to read
|
|
56
|
+
1. First, it asks for permission to run `git clone` to download the repository.
|
|
57
|
+
2. Next, it finds the important source files and asks for permission to read
|
|
51
58
|
them.
|
|
52
|
-
3. Finally, after analyzing the code, it
|
|
59
|
+
3. Finally, after analyzing the code, it provides a summary.
|
|
53
60
|
|
|
54
|
-
Gemini CLI
|
|
61
|
+
Gemini CLI returns an explanation based on the actual source code:
|
|
55
62
|
|
|
56
63
|
```markdown
|
|
57
64
|
The `chalk` library is a popular npm package for styling terminal output with
|
|
@@ -74,25 +81,11 @@ colors. After analyzing the source code, here's how it works:
|
|
|
74
81
|
|
|
75
82
|
## Combine two spreadsheets into one spreadsheet
|
|
76
83
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
```csv
|
|
81
|
-
January,0
|
|
82
|
-
February,0
|
|
83
|
-
March,0
|
|
84
|
-
April,900
|
|
85
|
-
May,1000
|
|
86
|
-
June,1000
|
|
87
|
-
July,1200
|
|
88
|
-
August,1800
|
|
89
|
-
September,2000
|
|
90
|
-
October,2400
|
|
91
|
-
November,3400
|
|
92
|
-
December,2100
|
|
93
|
-
```
|
|
84
|
+
Gemini CLI can process and transform data across multiple files. Use this
|
|
85
|
+
capability to merge reports or reformat data sets without manual copying.
|
|
94
86
|
|
|
95
|
-
You
|
|
87
|
+
Scenario: You have two .csv files: `Revenue - 2023.csv` and
|
|
88
|
+
`Revenue - 2024.csv`. Each file contains monthly revenue figures.
|
|
96
89
|
|
|
97
90
|
Give Gemini CLI the following prompt:
|
|
98
91
|
|
|
@@ -100,9 +93,8 @@ Give Gemini CLI the following prompt:
|
|
|
100
93
|
Combine the two .csv files into a single .csv file, with each year a different column.
|
|
101
94
|
```
|
|
102
95
|
|
|
103
|
-
Result: Gemini CLI
|
|
104
|
-
|
|
105
|
-
.csv:
|
|
96
|
+
Result: Gemini CLI reads each file and then asks for permission to write a new
|
|
97
|
+
file. Provide your permission and Gemini CLI provides the combined data:
|
|
106
98
|
|
|
107
99
|
```csv
|
|
108
100
|
Month,2023,2024
|
|
@@ -122,6 +114,10 @@ December,2100,9000
|
|
|
122
114
|
|
|
123
115
|
## Run unit tests
|
|
124
116
|
|
|
117
|
+
Gemini CLI can generate boilerplate code and tests based on your existing
|
|
118
|
+
implementation. This example demonstrates how to request code coverage for a
|
|
119
|
+
JavaScript component.
|
|
120
|
+
|
|
125
121
|
Scenario: You've written a simple login page. You wish to write unit tests to
|
|
126
122
|
ensure that your login page has code coverage.
|
|
127
123
|
|
|
@@ -131,89 +127,13 @@ Give Gemini CLI the following prompt:
|
|
|
131
127
|
Write unit tests for Login.js.
|
|
132
128
|
```
|
|
133
129
|
|
|
134
|
-
Result: Gemini CLI
|
|
135
|
-
for your login page
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
login: jest.fn(),
|
|
145
|
-
}));
|
|
146
|
-
|
|
147
|
-
describe('Login component', () => {
|
|
148
|
-
it('renders the login form correctly', () => {
|
|
149
|
-
const { getByLabelText, getByText } = render(<Login />);
|
|
150
|
-
|
|
151
|
-
expect(getByLabelText('Username')).toBeInTheDocument();
|
|
152
|
-
expect(getByLabelText('Password')).toBeInTheDocument();
|
|
153
|
-
expect(getByText('Login')).toBeInTheDocument();
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
it('shows an error message with invalid credentials', async () => {
|
|
157
|
-
const { getByLabelText, getByText, findByText } = render(<Login />);
|
|
158
|
-
const usernameInput = getByLabelText('Username');
|
|
159
|
-
const passwordInput = getByLabelText('Password');
|
|
160
|
-
const loginButton = getByText('Login');
|
|
161
|
-
|
|
162
|
-
// Mock the API to return an error
|
|
163
|
-
require('./api').login.mockRejectedValue(new Error('Invalid credentials'));
|
|
164
|
-
|
|
165
|
-
fireEvent.change(usernameInput, { target: { value: 'testuser' } });
|
|
166
|
-
fireEvent.change(passwordInput, { target: { value: 'wrongpassword' } });
|
|
167
|
-
fireEvent.click(loginButton);
|
|
168
|
-
|
|
169
|
-
const errorMessage = await findByText('Invalid credentials');
|
|
170
|
-
expect(errorMessage).toBeInTheDocument();
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
it('logs in successfully with valid credentials', async () => {
|
|
174
|
-
const onLoginSuccess = jest.fn();
|
|
175
|
-
const { getByLabelText, getByText } = render(
|
|
176
|
-
<Login onLoginSuccess={onLoginSuccess} />,
|
|
177
|
-
);
|
|
178
|
-
const usernameInput = getByLabelText('Username');
|
|
179
|
-
const passwordInput = getByLabelText('Password');
|
|
180
|
-
const loginButton = getByText('Login');
|
|
181
|
-
|
|
182
|
-
// Mock the API to return a success message
|
|
183
|
-
require('./api').login.mockResolvedValue({ success: true });
|
|
184
|
-
|
|
185
|
-
fireEvent.change(usernameInput, { target: { value: 'testuser' } });
|
|
186
|
-
fireEvent.change(passwordInput, { target: { value: 'correctpassword' } });
|
|
187
|
-
fireEvent.click(loginButton);
|
|
188
|
-
|
|
189
|
-
await waitFor(() => {
|
|
190
|
-
expect(onLoginSuccess).toHaveBeenCalled();
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
|
|
194
|
-
it('disables the submit button while submitting', async () => {
|
|
195
|
-
const { getByLabelText, getByText } = render(<Login />);
|
|
196
|
-
const usernameInput = getByLabelText('Username');
|
|
197
|
-
const passwordInput = getByLabelText('Password');
|
|
198
|
-
const loginButton = getByText('Login');
|
|
199
|
-
|
|
200
|
-
// Mock the API to have a delay
|
|
201
|
-
require('./api').login.mockImplementation(
|
|
202
|
-
() =>
|
|
203
|
-
new Promise((resolve) =>
|
|
204
|
-
setTimeout(() => resolve({ success: true }), 1000),
|
|
205
|
-
),
|
|
206
|
-
);
|
|
207
|
-
|
|
208
|
-
fireEvent.change(usernameInput, { target: { value: 'testuser' } });
|
|
209
|
-
fireEvent.change(passwordInput, { target: { value: 'correctpassword' } });
|
|
210
|
-
fireEvent.click(loginButton);
|
|
211
|
-
|
|
212
|
-
expect(loginButton).toBeDisabled();
|
|
213
|
-
|
|
214
|
-
await waitFor(() => {
|
|
215
|
-
expect(loginButton).not.toBeDisabled();
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
```
|
|
130
|
+
Result: Gemini CLI asks for permission to write a new file and creates a test
|
|
131
|
+
for your login page.
|
|
132
|
+
|
|
133
|
+
## Next steps
|
|
134
|
+
|
|
135
|
+
- Follow the [File management](../cli/tutorials/file-management.md) guide to
|
|
136
|
+
start working with your codebase.
|
|
137
|
+
- Follow the [Quickstart](./index.md) to start your first session.
|
|
138
|
+
- See the [Cheatsheet](../cli/cli-reference.md) for a quick reference of
|
|
139
|
+
available commands.
|
|
@@ -64,8 +64,9 @@ and more.
|
|
|
64
64
|
|
|
65
65
|
To explore the power of Gemini CLI, see [Gemini CLI examples](./examples.md).
|
|
66
66
|
|
|
67
|
-
##
|
|
67
|
+
## Next steps
|
|
68
68
|
|
|
69
|
-
-
|
|
70
|
-
|
|
71
|
-
-
|
|
69
|
+
- Follow the [File management](../cli/tutorials/file-management.md) guide to
|
|
70
|
+
start working with your codebase.
|
|
71
|
+
- See [Shell commands](../cli/tutorials/shell-commands.md) to learn about
|
|
72
|
+
terminal integration.
|