@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.
Files changed (80) hide show
  1. package/.claude/settings.local.json +13 -0
  2. package/CLAUDE.md +55 -0
  3. package/LICENSE +1 -1
  4. package/README.md +208 -39
  5. package/bin/cli.js +39 -0
  6. package/package.json +30 -17
  7. package/registry/registry.json +166 -1
  8. package/registry/schema.json +10 -0
  9. package/src/commands/skills/add.js +194 -0
  10. package/src/commands/skills/list.js +52 -0
  11. package/src/commands/skills/remove.js +27 -0
  12. package/src/commands/skills/update.js +74 -0
  13. package/src/config.js +5 -0
  14. package/src/skills/codex-cli/SKILL.md +265 -0
  15. package/src/skills/commafeed-api/SKILL.md +1012 -0
  16. package/src/skills/gemini-cli/SKILL.md +379 -0
  17. package/src/skills/gemini-cli/references/commands.md +145 -0
  18. package/src/skills/gemini-cli/references/configuration.md +182 -0
  19. package/src/skills/gemini-cli/references/headless-and-scripting.md +181 -0
  20. package/src/skills/gemini-cli/references/mcp-and-extensions.md +254 -0
  21. package/src/skills/n8n-api/SKILL.md +623 -0
  22. package/src/skills/notebook-lm/SKILL.md +217 -0
  23. package/src/skills/notebook-lm/references/artifact-options.md +168 -0
  24. package/src/skills/notebook-lm/references/auth.md +58 -0
  25. package/src/skills/notebook-lm/references/workflows.md +144 -0
  26. package/src/skills/screen-recording/SKILL.md +309 -0
  27. package/src/skills/screen-recording/references/approach1-programmatic.md +311 -0
  28. package/src/skills/screen-recording/references/approach2-xvfb.md +232 -0
  29. package/src/skills/screen-recording/references/design-patterns.md +168 -0
  30. package/src/skills/test-mobile-app/SKILL.md +212 -0
  31. package/src/skills/test-mobile-app/references/report-template.md +95 -0
  32. package/src/skills/test-mobile-app/references/setup-appium.md +154 -0
  33. package/src/skills/test-mobile-app/scripts/analyze_apk.py +164 -0
  34. package/src/skills/test-mobile-app/scripts/check_environment.py +116 -0
  35. package/src/skills/test-mobile-app/scripts/generate_report.py +250 -0
  36. package/src/skills/test-mobile-app/scripts/run_tests.py +326 -0
  37. package/src/skills/test-web-ui/SKILL.md +232 -0
  38. package/src/skills/test-web-ui/references/test_case_schema.md +102 -0
  39. package/src/skills/test-web-ui/scripts/discover.py +176 -0
  40. package/src/skills/test-web-ui/scripts/generate_report.py +237 -0
  41. package/src/skills/test-web-ui/scripts/run_tests.py +296 -0
  42. package/src/skills/text-to-speech/SKILL.md +236 -0
  43. package/src/skills/text-to-speech/references/espeak-cli.md +277 -0
  44. package/src/skills/text-to-speech/references/kokoro-onnx.md +124 -0
  45. package/src/skills/text-to-speech/references/online-engines.md +128 -0
  46. package/src/skills/text-to-speech/references/pyttsx3-espeak.md +143 -0
  47. package/src/skills/tm-search/SKILL.md +240 -0
  48. package/src/skills/tm-search/references/field-guide.md +79 -0
  49. package/src/skills/tm-search/references/scraping-fallback.md +140 -0
  50. package/src/skills/tm-search/scripts/tm_search.py +375 -0
  51. package/src/skills/wp-rest-api/SKILL.md +114 -0
  52. package/src/skills/wp-rest-api/references/authentication.md +18 -0
  53. package/src/skills/wp-rest-api/references/custom-content-types.md +20 -0
  54. package/src/skills/wp-rest-api/references/discovery-and-params.md +20 -0
  55. package/src/skills/wp-rest-api/references/responses-and-fields.md +30 -0
  56. package/src/skills/wp-rest-api/references/routes-and-endpoints.md +36 -0
  57. package/src/skills/wp-rest-api/references/schema.md +22 -0
  58. package/src/skills/youtube-search/SKILL.md +412 -0
  59. package/src/skills/youtube-search/references/parsing-examples.md +159 -0
  60. package/src/skills/youtube-search/references/youtube-api-quota.md +85 -0
  61. package/src/skills/youtube-thumbnail/SKILL.md +1060 -0
  62. package/tests/commands/info.test.js +49 -0
  63. package/tests/commands/install.test.js +36 -0
  64. package/tests/commands/list.test.js +66 -0
  65. package/tests/commands/publish.test.js +182 -0
  66. package/tests/commands/search.test.js +45 -0
  67. package/tests/commands/uninstall.test.js +29 -0
  68. package/tests/commands/update.test.js +59 -0
  69. package/tests/functional/skills-lifecycle.test.js +293 -0
  70. package/tests/helpers/fixtures.js +63 -0
  71. package/tests/integration/cli.test.js +83 -0
  72. package/tests/skills/add.test.js +138 -0
  73. package/tests/skills/list.test.js +63 -0
  74. package/tests/skills/remove.test.js +38 -0
  75. package/tests/skills/update.test.js +60 -0
  76. package/tests/unit/config.test.js +31 -0
  77. package/tests/unit/registry.test.js +79 -0
  78. package/tests/unit/utils.test.js +150 -0
  79. package/tests/validation/registry-schema.test.js +112 -0
  80. 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
+ ```