@biggora/claude-plugins 1.0.0 → 1.1.0
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/.claude/settings.local.json +13 -0
- package/CLAUDE.md +55 -0
- package/LICENSE +1 -1
- package/README.md +208 -39
- package/bin/cli.js +39 -0
- package/package.json +30 -17
- package/registry/registry.json +166 -1
- package/registry/schema.json +10 -0
- package/src/commands/skills/add.js +194 -0
- package/src/commands/skills/list.js +52 -0
- package/src/commands/skills/remove.js +27 -0
- package/src/commands/skills/update.js +74 -0
- package/src/config.js +5 -0
- package/src/skills/codex-cli/SKILL.md +265 -0
- package/src/skills/commafeed-api/SKILL.md +1012 -0
- package/src/skills/gemini-cli/SKILL.md +379 -0
- package/src/skills/gemini-cli/references/commands.md +145 -0
- package/src/skills/gemini-cli/references/configuration.md +182 -0
- package/src/skills/gemini-cli/references/headless-and-scripting.md +181 -0
- package/src/skills/gemini-cli/references/mcp-and-extensions.md +254 -0
- package/src/skills/n8n-api/SKILL.md +623 -0
- package/src/skills/notebook-lm/SKILL.md +217 -0
- package/src/skills/notebook-lm/references/artifact-options.md +168 -0
- package/src/skills/notebook-lm/references/auth.md +58 -0
- package/src/skills/notebook-lm/references/workflows.md +144 -0
- package/src/skills/screen-recording/SKILL.md +309 -0
- package/src/skills/screen-recording/references/approach1-programmatic.md +311 -0
- package/src/skills/screen-recording/references/approach2-xvfb.md +232 -0
- package/src/skills/screen-recording/references/design-patterns.md +168 -0
- package/src/skills/test-mobile-app/SKILL.md +212 -0
- package/src/skills/test-mobile-app/references/report-template.md +95 -0
- package/src/skills/test-mobile-app/references/setup-appium.md +154 -0
- package/src/skills/test-mobile-app/scripts/analyze_apk.py +164 -0
- package/src/skills/test-mobile-app/scripts/check_environment.py +116 -0
- package/src/skills/test-mobile-app/scripts/generate_report.py +250 -0
- package/src/skills/test-mobile-app/scripts/run_tests.py +326 -0
- package/src/skills/test-web-ui/SKILL.md +232 -0
- package/src/skills/test-web-ui/references/test_case_schema.md +102 -0
- package/src/skills/test-web-ui/scripts/discover.py +176 -0
- package/src/skills/test-web-ui/scripts/generate_report.py +237 -0
- package/src/skills/test-web-ui/scripts/run_tests.py +296 -0
- package/src/skills/text-to-speech/SKILL.md +236 -0
- package/src/skills/text-to-speech/references/espeak-cli.md +277 -0
- package/src/skills/text-to-speech/references/kokoro-onnx.md +124 -0
- package/src/skills/text-to-speech/references/online-engines.md +128 -0
- package/src/skills/text-to-speech/references/pyttsx3-espeak.md +143 -0
- package/src/skills/tm-search/SKILL.md +240 -0
- package/src/skills/tm-search/references/field-guide.md +79 -0
- package/src/skills/tm-search/references/scraping-fallback.md +140 -0
- package/src/skills/tm-search/scripts/tm_search.py +375 -0
- package/src/skills/wp-rest-api/SKILL.md +114 -0
- package/src/skills/wp-rest-api/references/authentication.md +18 -0
- package/src/skills/wp-rest-api/references/custom-content-types.md +20 -0
- package/src/skills/wp-rest-api/references/discovery-and-params.md +20 -0
- package/src/skills/wp-rest-api/references/responses-and-fields.md +30 -0
- package/src/skills/wp-rest-api/references/routes-and-endpoints.md +36 -0
- package/src/skills/wp-rest-api/references/schema.md +22 -0
- package/src/skills/youtube-search/SKILL.md +412 -0
- package/src/skills/youtube-search/references/parsing-examples.md +159 -0
- package/src/skills/youtube-search/references/youtube-api-quota.md +85 -0
- package/src/skills/youtube-thumbnail/SKILL.md +1060 -0
- package/tests/commands/info.test.js +49 -0
- package/tests/commands/install.test.js +36 -0
- package/tests/commands/list.test.js +66 -0
- package/tests/commands/publish.test.js +182 -0
- package/tests/commands/search.test.js +45 -0
- package/tests/commands/uninstall.test.js +29 -0
- package/tests/commands/update.test.js +59 -0
- package/tests/functional/skills-lifecycle.test.js +293 -0
- package/tests/helpers/fixtures.js +63 -0
- package/tests/integration/cli.test.js +83 -0
- package/tests/skills/add.test.js +138 -0
- package/tests/skills/list.test.js +63 -0
- package/tests/skills/remove.test.js +38 -0
- package/tests/skills/update.test.js +60 -0
- package/tests/unit/config.test.js +31 -0
- package/tests/unit/registry.test.js +79 -0
- package/tests/unit/utils.test.js +150 -0
- package/tests/validation/registry-schema.test.js +112 -0
- package/tests/validation/skills-validation.test.js +96 -0
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gemini-cli
|
|
3
|
+
description: >
|
|
4
|
+
Use this skill whenever the user wants to install, configure, or use the Gemini CLI
|
|
5
|
+
(gemini-cli) tool. Trigger this skill for tasks such as: installing gemini-cli via npm/npx/brew,
|
|
6
|
+
setting up authentication (API key, Google OAuth, Vertex AI), running non-interactive/headless
|
|
7
|
+
prompts with -p flag, configuring settings.json, creating GEMINI.md context files, writing
|
|
8
|
+
custom slash commands (.toml files), connecting MCP servers, creating extensions, automating
|
|
9
|
+
tasks with shell scripts, using --output-format json/stream-json, managing chat sessions,
|
|
10
|
+
using /memory commands, --yolo mode, or any scripting/automation involving gemini-cli.
|
|
11
|
+
Also trigger when user asks about integrating Gemini models into CLI workflows, CI/CD pipelines,
|
|
12
|
+
or programmatic use of the Gemini API through the CLI tool.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Gemini CLI Skill
|
|
16
|
+
|
|
17
|
+
Gemini CLI is an open-source AI agent that brings Gemini models directly into the terminal.
|
|
18
|
+
It supports interactive REPL sessions, headless/non-interactive scripting, MCP servers, custom
|
|
19
|
+
slash commands, and extension-based workflows.
|
|
20
|
+
|
|
21
|
+
**Reference files** (read when needed):
|
|
22
|
+
- `references/commands.md` — slash commands, built-in commands reference
|
|
23
|
+
- `references/configuration.md` — settings.json, GEMINI.md, environment variables
|
|
24
|
+
- `references/mcp-and-extensions.md` — MCP server setup, extensions authoring
|
|
25
|
+
- `references/headless-and-scripting.md` — non-interactive mode, automation, CI/CD patterns
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Installation
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Instant use, no install
|
|
33
|
+
npx @google/gemini-cli
|
|
34
|
+
|
|
35
|
+
# Global install (recommended)
|
|
36
|
+
npm install -g @google/gemini-cli
|
|
37
|
+
|
|
38
|
+
# macOS/Linux via Homebrew
|
|
39
|
+
brew install gemini-cli
|
|
40
|
+
|
|
41
|
+
# Specific channels
|
|
42
|
+
npm install -g @google/gemini-cli@latest # stable (weekly Tuesdays)
|
|
43
|
+
npm install -g @google/gemini-cli@preview # preview (weekly, less vetted)
|
|
44
|
+
npm install -g @google/gemini-cli@nightly # nightly (daily builds)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Authentication
|
|
50
|
+
|
|
51
|
+
Choose one method:
|
|
52
|
+
|
|
53
|
+
### Option 1: Google OAuth (recommended for individuals)
|
|
54
|
+
```bash
|
|
55
|
+
gemini # → choose "Login with Google" → browser flow
|
|
56
|
+
```
|
|
57
|
+
- Free: 60 req/min, 1,000 req/day
|
|
58
|
+
- No API key needed
|
|
59
|
+
|
|
60
|
+
### Option 2: Gemini API Key
|
|
61
|
+
```bash
|
|
62
|
+
export GEMINI_API_KEY="your_key_here"
|
|
63
|
+
# Get key: https://aistudio.google.com/apikey
|
|
64
|
+
gemini
|
|
65
|
+
```
|
|
66
|
+
- Free: 1,000 req/day (Gemini Flash/Pro mix)
|
|
67
|
+
- Can also store in `~/.gemini/.env` or `./.gemini/.env`
|
|
68
|
+
|
|
69
|
+
### Option 3: Vertex AI (enterprise)
|
|
70
|
+
```bash
|
|
71
|
+
export GOOGLE_API_KEY="your_key"
|
|
72
|
+
export GOOGLE_GENAI_USE_VERTEXAI=true
|
|
73
|
+
export GOOGLE_CLOUD_PROJECT="your-project-id"
|
|
74
|
+
gemini
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Basic Usage
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Start interactive session in current directory
|
|
83
|
+
gemini
|
|
84
|
+
|
|
85
|
+
# Include extra directories as context
|
|
86
|
+
gemini --include-directories ../lib,../docs
|
|
87
|
+
|
|
88
|
+
# Use a specific model
|
|
89
|
+
gemini -m gemini-2.5-flash
|
|
90
|
+
gemini -m gemini-2.5-pro
|
|
91
|
+
|
|
92
|
+
# Non-interactive: single prompt, then exit
|
|
93
|
+
gemini -p "Explain the architecture of this codebase"
|
|
94
|
+
|
|
95
|
+
# Reference files in prompt with @ syntax
|
|
96
|
+
gemini -p "Review @./src/auth.py for security issues"
|
|
97
|
+
|
|
98
|
+
# Pipe stdin
|
|
99
|
+
cat error.log | gemini -p "What went wrong here?"
|
|
100
|
+
git diff --cached | gemini -p "Write a concise commit message"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Headless / Non-Interactive Mode
|
|
106
|
+
|
|
107
|
+
Headless mode is triggered by `-p` flag or non-TTY environment.
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Plain text output (default)
|
|
111
|
+
gemini -p "Explain Docker" > output.txt
|
|
112
|
+
|
|
113
|
+
# Structured JSON output (recommended for scripting)
|
|
114
|
+
gemini -p "Explain Docker" --output-format json
|
|
115
|
+
|
|
116
|
+
# Streaming JSONL (for long-running tasks)
|
|
117
|
+
gemini -p "Run tests and analyze results" --output-format stream-json
|
|
118
|
+
|
|
119
|
+
# Extract response field with jq
|
|
120
|
+
gemini -p "List top 5 Python testing frameworks" --output-format json | jq -r '.response'
|
|
121
|
+
|
|
122
|
+
# Auto-accept all tool actions (YOLO mode) — use with care in automation
|
|
123
|
+
gemini -p "Generate unit tests for @./src/utils.js" --yolo
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### JSON output schema
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"response": "...",
|
|
130
|
+
"stats": {
|
|
131
|
+
"models": { "gemini-2.5-pro": { "tokens": {...}, "api": {...} } },
|
|
132
|
+
"tools": { "totalCalls": 1, "totalSuccess": 1 },
|
|
133
|
+
"files": { "totalLinesAdded": 0, "totalLinesRemoved": 0 }
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
For full scripting patterns → read `references/headless-and-scripting.md`
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Interactive Session: Key Commands
|
|
143
|
+
|
|
144
|
+
| Command | Description |
|
|
145
|
+
|---|---|
|
|
146
|
+
| `/help` | List all commands |
|
|
147
|
+
| `/tools` | Show available tools |
|
|
148
|
+
| `/mcp list` | List MCP servers and their status |
|
|
149
|
+
| `/mcp status` | Detailed MCP connection info |
|
|
150
|
+
| `/chat save <name>` | Save current session |
|
|
151
|
+
| `/chat resume <name>` | Resume a saved session |
|
|
152
|
+
| `/memory add <text>` | Add persistent fact to GEMINI.md memory |
|
|
153
|
+
| `/memory show` | Show current memory contents |
|
|
154
|
+
| `/restore` | List checkpoints |
|
|
155
|
+
| `/restore <file>` | Restore a checkpoint |
|
|
156
|
+
| `/bug` | Report an issue directly from CLI |
|
|
157
|
+
| `Ctrl+Y` | Toggle YOLO mode (auto-accept all tools) |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## GEMINI.md — Project Context Files
|
|
162
|
+
|
|
163
|
+
Create `GEMINI.md` at project root (or `~/.gemini/GEMINI.md` for global context):
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
# My Project
|
|
167
|
+
|
|
168
|
+
## Guidelines
|
|
169
|
+
- All Python code must follow PEP 8
|
|
170
|
+
- Use 2-space indentation for JavaScript
|
|
171
|
+
|
|
172
|
+
## Architecture
|
|
173
|
+
@./docs/architecture.md
|
|
174
|
+
|
|
175
|
+
## Style Guides
|
|
176
|
+
@./src/frontend/react-style-guide.md
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Hierarchy** (all are loaded and merged):
|
|
180
|
+
1. `~/.gemini/GEMINI.md` — global user context
|
|
181
|
+
2. `<project>/.gemini/GEMINI.md` — project context
|
|
182
|
+
3. Sub-directory `GEMINI.md` files — scoped context
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Custom Slash Commands (.toml)
|
|
187
|
+
|
|
188
|
+
Create `.toml` files to define reusable commands:
|
|
189
|
+
|
|
190
|
+
**Locations:**
|
|
191
|
+
- `~/.gemini/commands/<name>.toml` → user-scoped `/name`
|
|
192
|
+
- `<project>/.gemini/commands/<name>.toml` → project-scoped `/name`
|
|
193
|
+
- `<project>/.gemini/commands/git/commit.toml` → namespaced `/git:commit`
|
|
194
|
+
|
|
195
|
+
**Minimal example** (`~/.gemini/commands/plan.toml`):
|
|
196
|
+
```toml
|
|
197
|
+
prompt = "Only plan the changes step-by-step. Do NOT start implementation yet."
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Full example** (`~/.gemini/commands/review.toml`):
|
|
201
|
+
```toml
|
|
202
|
+
description = "Code review with focus on security and performance"
|
|
203
|
+
prompt = """
|
|
204
|
+
Review the following code for:
|
|
205
|
+
1. Security vulnerabilities
|
|
206
|
+
2. Performance issues
|
|
207
|
+
3. Code style
|
|
208
|
+
|
|
209
|
+
Code to review: {{args}}
|
|
210
|
+
"""
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**With shell execution:**
|
|
214
|
+
```toml
|
|
215
|
+
description = "Review staged git changes"
|
|
216
|
+
prompt = "Review these git changes for issues:\n!{git diff --cached}"
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
For MCP prompts as slash commands → read `references/mcp-and-extensions.md`
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## settings.json Configuration
|
|
224
|
+
|
|
225
|
+
Location: `~/.gemini/settings.json` (global) or `<project>/.gemini/settings.json`
|
|
226
|
+
|
|
227
|
+
```json
|
|
228
|
+
{
|
|
229
|
+
"model": "gemini-2.5-pro",
|
|
230
|
+
"theme": "dark",
|
|
231
|
+
"autoAccept": false,
|
|
232
|
+
"coreTools": ["read_file", "write_file", "run_shell_command"],
|
|
233
|
+
"excludeTools": ["dangerous_tool"],
|
|
234
|
+
"mcpServers": {
|
|
235
|
+
"github": {
|
|
236
|
+
"command": "npx",
|
|
237
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
238
|
+
"env": {
|
|
239
|
+
"GITHUB_TOKEN": "$GITHUB_TOKEN"
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
For full configuration reference → read `references/configuration.md`
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## MCP Server Integration
|
|
251
|
+
|
|
252
|
+
Add to `~/.gemini/settings.json`:
|
|
253
|
+
|
|
254
|
+
```json
|
|
255
|
+
{
|
|
256
|
+
"mcpServers": {
|
|
257
|
+
"myServer": {
|
|
258
|
+
"command": "node",
|
|
259
|
+
"args": ["./mcp-server.js"],
|
|
260
|
+
"env": { "API_KEY": "$MY_API_KEY" },
|
|
261
|
+
"timeout": 15000,
|
|
262
|
+
"trust": false
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**CLI management commands:**
|
|
269
|
+
```bash
|
|
270
|
+
gemini mcp add <name> # add server
|
|
271
|
+
gemini mcp list # list configured servers
|
|
272
|
+
gemini mcp remove <name> # remove server
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
**Invoke tools in prompts:**
|
|
276
|
+
```
|
|
277
|
+
> @github List my open pull requests
|
|
278
|
+
> @database Find inactive users from last 30 days
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
For detailed MCP setup and extensions → read `references/mcp-and-extensions.md`
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Extensions
|
|
286
|
+
|
|
287
|
+
Extensions bundle MCP servers + GEMINI.md + custom commands into a reusable package.
|
|
288
|
+
|
|
289
|
+
**Install from URL:**
|
|
290
|
+
```bash
|
|
291
|
+
gemini extension install https://github.com/GoogleCloudPlatform/cloud-run-mcp
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Browse gallery:** https://geminicli.com/extensions/
|
|
295
|
+
|
|
296
|
+
**Extension structure:**
|
|
297
|
+
```
|
|
298
|
+
my-extension/
|
|
299
|
+
├── gemini-extension.json # manifest
|
|
300
|
+
└── GEMINI.md # context (optional)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
```json
|
|
304
|
+
// gemini-extension.json
|
|
305
|
+
{
|
|
306
|
+
"name": "my-extension",
|
|
307
|
+
"version": "1.0.0",
|
|
308
|
+
"mcpServers": {
|
|
309
|
+
"my-server": { "command": "node my-server.js" }
|
|
310
|
+
},
|
|
311
|
+
"contextFileName": "GEMINI.md",
|
|
312
|
+
"excludeTools": ["run_shell_command"]
|
|
313
|
+
}
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Common Patterns
|
|
319
|
+
|
|
320
|
+
### Commit message automation
|
|
321
|
+
```bash
|
|
322
|
+
result=$(git diff --cached | gemini -p "Write a concise commit message" --output-format json)
|
|
323
|
+
echo "$result" | jq -r '.response' | git commit -F -
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### Batch file processing
|
|
327
|
+
```bash
|
|
328
|
+
for file in src/**/*.py; do
|
|
329
|
+
gemini -p "Generate docstrings for @$file" --output-format json | jq -r '.response' > "${file%.py}_docs.md"
|
|
330
|
+
done
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Security code review
|
|
334
|
+
```bash
|
|
335
|
+
cat src/auth.py | gemini -p "Review for security vulnerabilities" > security-review.txt
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### Generate OpenAPI spec
|
|
339
|
+
```bash
|
|
340
|
+
result=$(cat api/routes.js | gemini -p "Generate OpenAPI spec" --output-format json)
|
|
341
|
+
echo "$result" | jq -r '.response' > openapi.json
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### CI/CD pipeline integration
|
|
345
|
+
```bash
|
|
346
|
+
# In GitHub Actions / CI script
|
|
347
|
+
export GEMINI_API_KEY="${{ secrets.GEMINI_API_KEY }}"
|
|
348
|
+
gemini -p "Analyze test failures in @./test-results.xml and suggest fixes" \
|
|
349
|
+
--output-format json \
|
|
350
|
+
--yolo \
|
|
351
|
+
| jq -r '.response'
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Model Selection
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
gemini -m gemini-2.5-pro # most powerful, 1M context
|
|
360
|
+
gemini -m gemini-2.5-flash # fast, efficient (default routing)
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
Models available through Gemini API: `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.0-flash`, etc.
|
|
364
|
+
For Vertex AI: additional enterprise models available.
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## Troubleshooting
|
|
369
|
+
|
|
370
|
+
| Problem | Solution |
|
|
371
|
+
|---|---|
|
|
372
|
+
| `command not found: gemini` | Run `npm install -g @google/gemini-cli` or use `npx` |
|
|
373
|
+
| Auth errors | Check `GEMINI_API_KEY` env var or re-run `gemini` and re-authenticate |
|
|
374
|
+
| Rate limit errors | Free tier: 60 req/min, 1000/day — wait or upgrade |
|
|
375
|
+
| MCP server not connecting | Check `/mcp status`, verify server binary is installed |
|
|
376
|
+
| Slash command not recognized in headless | Known limitation — embed prompt text directly for now |
|
|
377
|
+
| Tool confirmation loops | Add `--yolo` flag for automation, or set `"autoAccept": true` in settings.json |
|
|
378
|
+
|
|
379
|
+
Full troubleshooting: https://geminicli.com/docs/resources/troubleshooting/
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Commands Reference
|
|
2
|
+
|
|
3
|
+
## CLI Flags (startup)
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
gemini [options] [prompt]
|
|
7
|
+
|
|
8
|
+
Options:
|
|
9
|
+
-p, --prompt <text> Non-interactive prompt (headless mode)
|
|
10
|
+
-m, --model <model> Model to use (e.g., gemini-2.5-pro)
|
|
11
|
+
--output-format <format> Output format: text (default), json, stream-json
|
|
12
|
+
--include-directories <dirs> Comma-separated extra directories to include
|
|
13
|
+
--yolo Auto-accept all tool actions (no confirmations)
|
|
14
|
+
--resume <session-id> Resume a previous session
|
|
15
|
+
--system-prompt <text> Override system prompt
|
|
16
|
+
--raw-output Disable ANSI codes in output
|
|
17
|
+
--debug-log <path> Write debug JSONL log to file
|
|
18
|
+
-v, --version Show version
|
|
19
|
+
-h, --help Show help
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Slash Commands (interactive session)
|
|
23
|
+
|
|
24
|
+
### General
|
|
25
|
+
|
|
26
|
+
| Command | Description |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `/help` | Show all available commands |
|
|
29
|
+
| `/quit` or `/exit` | Exit Gemini CLI |
|
|
30
|
+
| `/clear` | Clear the current conversation |
|
|
31
|
+
| `/bug` | Report a bug directly from CLI |
|
|
32
|
+
| `/stats` | Show token usage statistics |
|
|
33
|
+
|
|
34
|
+
### Tools
|
|
35
|
+
|
|
36
|
+
| Command | Description |
|
|
37
|
+
|---|---|
|
|
38
|
+
| `/tools` | List all available tools |
|
|
39
|
+
| `/tools enable <n>` | Enable a specific tool |
|
|
40
|
+
| `/tools disable <n>` | Disable a specific tool |
|
|
41
|
+
|
|
42
|
+
### MCP Servers
|
|
43
|
+
|
|
44
|
+
| Command | Description |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `/mcp list` | List all configured MCP servers |
|
|
47
|
+
| `/mcp status` | Detailed status of all MCP connections |
|
|
48
|
+
| `/mcp enable <n>` | Enable a disabled MCP server |
|
|
49
|
+
| `/mcp disable <n>` | Disable an MCP server (without removing) |
|
|
50
|
+
|
|
51
|
+
### Chat / Sessions
|
|
52
|
+
|
|
53
|
+
| Command | Description |
|
|
54
|
+
|---|---|
|
|
55
|
+
| `/chat save <name>` | Save current conversation |
|
|
56
|
+
| `/chat resume <name>` | Resume a saved conversation |
|
|
57
|
+
| `/chat list` | List saved conversations |
|
|
58
|
+
|
|
59
|
+
### Memory
|
|
60
|
+
|
|
61
|
+
| Command | Description |
|
|
62
|
+
|---|---|
|
|
63
|
+
| `/memory add <text>` | Add a persistent fact to GEMINI.md |
|
|
64
|
+
| `/memory show` | Display current memory contents |
|
|
65
|
+
| `/memory clear` | Clear all memory entries |
|
|
66
|
+
|
|
67
|
+
### Checkpointing
|
|
68
|
+
|
|
69
|
+
| Command | Description |
|
|
70
|
+
|---|---|
|
|
71
|
+
| `/restore` | List available checkpoints |
|
|
72
|
+
| `/restore <filename>` | Restore a specific checkpoint |
|
|
73
|
+
|
|
74
|
+
### Extensions
|
|
75
|
+
|
|
76
|
+
| Command | Description |
|
|
77
|
+
|---|---|
|
|
78
|
+
| `/extension list` | List installed extensions |
|
|
79
|
+
| `/extension enable <n>` | Enable an extension |
|
|
80
|
+
| `/extension disable <n>` | Disable an extension |
|
|
81
|
+
|
|
82
|
+
### Theme
|
|
83
|
+
|
|
84
|
+
| Command | Description |
|
|
85
|
+
|---|---|
|
|
86
|
+
| `/theme` | Show current theme |
|
|
87
|
+
| `/theme <name>` | Switch to a different theme |
|
|
88
|
+
|
|
89
|
+
## Built-in Tools (available to the model)
|
|
90
|
+
|
|
91
|
+
| Tool | Description |
|
|
92
|
+
|---|---|
|
|
93
|
+
| `read_file` | Read file contents |
|
|
94
|
+
| `write_file` | Write/create files |
|
|
95
|
+
| `replace` | Replace text in files (old_string → new_string) |
|
|
96
|
+
| `list_directory` | List directory contents |
|
|
97
|
+
| `glob` | Find files by pattern |
|
|
98
|
+
| `search_file_content` | Search within files by pattern |
|
|
99
|
+
| `run_shell_command` | Execute shell commands |
|
|
100
|
+
| `google_web_search` | Search the web (Google Search grounding) |
|
|
101
|
+
| `web_fetch` | Fetch URL content |
|
|
102
|
+
|
|
103
|
+
## @ Reference Syntax
|
|
104
|
+
|
|
105
|
+
In any prompt, reference files and URLs:
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
@./relative/path.py # include file content
|
|
109
|
+
@/absolute/path.txt # absolute path
|
|
110
|
+
@https://example.com # fetch URL content
|
|
111
|
+
@./folder/ # include directory listing
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Works in both interactive and headless mode:
|
|
115
|
+
```bash
|
|
116
|
+
gemini -p "Review @./src/auth.py for security issues"
|
|
117
|
+
gemini -p "Summarize @https://github.com/org/repo/README.md"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Keyboard Shortcuts (interactive mode)
|
|
121
|
+
|
|
122
|
+
| Shortcut | Action |
|
|
123
|
+
|---|---|
|
|
124
|
+
| `Ctrl+C` | Cancel current operation |
|
|
125
|
+
| `Ctrl+D` | Exit |
|
|
126
|
+
| `Ctrl+Y` | Toggle YOLO mode (auto-accept tools) |
|
|
127
|
+
| `Ctrl+L` | Clear screen |
|
|
128
|
+
| `↑ / ↓` | Navigate input history |
|
|
129
|
+
| `Tab` | Autocomplete slash commands |
|
|
130
|
+
|
|
131
|
+
## gemini mcp CLI Commands (outside session)
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
gemini mcp add <n> --command "<cmd>"
|
|
135
|
+
gemini mcp list
|
|
136
|
+
gemini mcp remove <n>
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## gemini extension CLI Commands (outside session)
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
gemini extension install <url>
|
|
143
|
+
gemini extension list
|
|
144
|
+
gemini extension remove <n>
|
|
145
|
+
```
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Configuration Reference
|
|
2
|
+
|
|
3
|
+
## File Locations
|
|
4
|
+
|
|
5
|
+
| File | Purpose |
|
|
6
|
+
|---|---|
|
|
7
|
+
| `~/.gemini/settings.json` | Global user settings |
|
|
8
|
+
| `<project>/.gemini/settings.json` | Project-level settings (overrides global) |
|
|
9
|
+
| `~/.gemini/GEMINI.md` | Global persistent memory/context |
|
|
10
|
+
| `<project>/GEMINI.md` | Project context (loaded automatically) |
|
|
11
|
+
| `<project>/.gemini/GEMINI.md` | Alternative project context location |
|
|
12
|
+
| `~/.gemini/.env` | Global API key env file |
|
|
13
|
+
| `./.gemini/.env` | Project-level env file |
|
|
14
|
+
| `<project>/.geminiignore` | Files/dirs to exclude from Gemini tools |
|
|
15
|
+
|
|
16
|
+
## settings.json — Full Schema
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
// Model selection
|
|
21
|
+
"model": "gemini-2.5-pro",
|
|
22
|
+
|
|
23
|
+
// UI theme: "dark" | "light" | "auto" | custom theme name
|
|
24
|
+
"theme": "dark",
|
|
25
|
+
|
|
26
|
+
// Auto-accept all tool confirmations (like --yolo)
|
|
27
|
+
"autoAccept": false,
|
|
28
|
+
|
|
29
|
+
// Tools to include (whitelist) — if set, only these are available
|
|
30
|
+
"coreTools": ["read_file", "write_file", "run_shell_command", "google_web_search"],
|
|
31
|
+
|
|
32
|
+
// Tools to explicitly exclude (blacklist)
|
|
33
|
+
"excludeTools": ["dangerous_tool_name"],
|
|
34
|
+
|
|
35
|
+
// Generation parameters
|
|
36
|
+
"generationConfig": {
|
|
37
|
+
"temperature": 0.7,
|
|
38
|
+
"topP": 0.95,
|
|
39
|
+
"thinkingBudget": 8192
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
// MCP server configurations
|
|
43
|
+
"mcpServers": {
|
|
44
|
+
"serverName": {
|
|
45
|
+
"command": "node",
|
|
46
|
+
"args": ["./server.js"],
|
|
47
|
+
"cwd": "./mcp_tools",
|
|
48
|
+
"env": {
|
|
49
|
+
"API_KEY": "$MY_ENV_VAR"
|
|
50
|
+
},
|
|
51
|
+
"timeout": 15000,
|
|
52
|
+
"trust": false,
|
|
53
|
+
"includeTools": ["safe_tool_1"],
|
|
54
|
+
"excludeTools": ["unsafe_tool"]
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
// Sandbox settings
|
|
59
|
+
"sandbox": {
|
|
60
|
+
"enabled": false,
|
|
61
|
+
"command": "docker"
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
// Telemetry
|
|
65
|
+
"telemetry": {
|
|
66
|
+
"enabled": true
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Environment Variables
|
|
72
|
+
|
|
73
|
+
| Variable | Purpose |
|
|
74
|
+
|---|---|
|
|
75
|
+
| `GEMINI_API_KEY` | Gemini API key (Option 2 auth) |
|
|
76
|
+
| `GOOGLE_API_KEY` | Vertex AI API key (Option 3 auth) |
|
|
77
|
+
| `GOOGLE_GENAI_USE_VERTEXAI` | Set to `true` to use Vertex AI |
|
|
78
|
+
| `GOOGLE_CLOUD_PROJECT` | GCP project ID for Vertex AI |
|
|
79
|
+
| `GEMINI_MODEL` | Override default model |
|
|
80
|
+
| `GEMINI_SANDBOX` | Sandbox type (`docker`, `podman`, etc.) |
|
|
81
|
+
|
|
82
|
+
## GEMINI.md Context Files
|
|
83
|
+
|
|
84
|
+
Context files are plain Markdown. They're loaded hierarchically and merged.
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
# Project Name
|
|
88
|
+
|
|
89
|
+
## Rules
|
|
90
|
+
- Always use TypeScript strict mode
|
|
91
|
+
- Prefer async/await over .then()
|
|
92
|
+
|
|
93
|
+
## Architecture
|
|
94
|
+
The project follows a microservices pattern.
|
|
95
|
+
Main services: auth, api, worker.
|
|
96
|
+
|
|
97
|
+
## Include external files
|
|
98
|
+
@./docs/api-reference.md
|
|
99
|
+
@./src/types/index.ts
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**`@` file references** — include any file's content:
|
|
103
|
+
- `@./relative/path.md` — relative to GEMINI.md location
|
|
104
|
+
- `@/absolute/path.js` — absolute path
|
|
105
|
+
|
|
106
|
+
**Memory commands:**
|
|
107
|
+
```
|
|
108
|
+
/memory add "Staging database is on port 5432"
|
|
109
|
+
/memory show
|
|
110
|
+
```
|
|
111
|
+
(Writes to `~/.gemini/GEMINI.md`)
|
|
112
|
+
|
|
113
|
+
## .geminiignore
|
|
114
|
+
|
|
115
|
+
Similar to `.gitignore`. Place in project root.
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
# .geminiignore
|
|
119
|
+
/node_modules/
|
|
120
|
+
/dist/
|
|
121
|
+
*.log
|
|
122
|
+
*.env
|
|
123
|
+
secret-config.json
|
|
124
|
+
/backups/
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Gemini CLI also respects `.gitignore` automatically.
|
|
128
|
+
|
|
129
|
+
## Model Configuration
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"generationConfig": {
|
|
134
|
+
"temperature": 1.0,
|
|
135
|
+
"topP": 0.95,
|
|
136
|
+
"topK": 64,
|
|
137
|
+
"thinkingBudget": 8192,
|
|
138
|
+
"maxOutputTokens": 8192
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
- `thinkingBudget`: controls extended thinking for Gemini 2.5+ models
|
|
144
|
+
- Lower `temperature` = more deterministic output (good for code)
|
|
145
|
+
- Higher `temperature` = more creative (good for writing)
|
|
146
|
+
|
|
147
|
+
## System Prompt Override
|
|
148
|
+
|
|
149
|
+
Override the entire system prompt (advanced):
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
gemini --system-prompt "You are a strict TypeScript reviewer. Only respond with code issues."
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Or via settings.json:
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"systemPrompt": "You are a helpful assistant for Python development."
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Trusted Folders
|
|
163
|
+
|
|
164
|
+
Control which directories allow shell command execution:
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"trustedFolders": ["/home/user/projects", "/workspace"]
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Token Caching
|
|
173
|
+
|
|
174
|
+
Enabled by default for large context files. Reduces costs and latency when GEMINI.md files are large.
|
|
175
|
+
|
|
176
|
+
```json
|
|
177
|
+
{
|
|
178
|
+
"tokenCaching": {
|
|
179
|
+
"enabled": true
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|