@dgxo/mashadevcli 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/LICENSE +202 -0
- package/README.md +393 -0
- package/bundle/builtin/skill-creator/SKILL.md +382 -0
- package/bundle/builtin/skill-creator/scripts/init_skill.cjs +239 -0
- package/bundle/builtin/skill-creator/scripts/package_skill.cjs +131 -0
- package/bundle/builtin/skill-creator/scripts/validate_skill.cjs +131 -0
- package/bundle/docs/CONTRIBUTING.md +1 -0
- package/bundle/docs/admin/enterprise-controls.md +115 -0
- package/bundle/docs/assets/connected_devtools.png +0 -0
- package/bundle/docs/assets/gemini-screenshot.png +0 -0
- package/bundle/docs/assets/monitoring-dashboard-logs.png +0 -0
- package/bundle/docs/assets/monitoring-dashboard-metrics.png +0 -0
- package/bundle/docs/assets/monitoring-dashboard-overview.png +0 -0
- package/bundle/docs/assets/release_patch.png +0 -0
- package/bundle/docs/assets/theme-ansi-light.png +0 -0
- package/bundle/docs/assets/theme-ansi.png +0 -0
- package/bundle/docs/assets/theme-atom-one.png +0 -0
- package/bundle/docs/assets/theme-ayu-light.png +0 -0
- package/bundle/docs/assets/theme-ayu.png +0 -0
- package/bundle/docs/assets/theme-custom.png +0 -0
- package/bundle/docs/assets/theme-default-light.png +0 -0
- package/bundle/docs/assets/theme-default.png +0 -0
- package/bundle/docs/assets/theme-dracula.png +0 -0
- package/bundle/docs/assets/theme-github-light.png +0 -0
- package/bundle/docs/assets/theme-github.png +0 -0
- package/bundle/docs/assets/theme-google-light.png +0 -0
- package/bundle/docs/assets/theme-xcode-light.png +0 -0
- package/bundle/docs/changelogs/index.md +867 -0
- package/bundle/docs/changelogs/latest.md +208 -0
- package/bundle/docs/changelogs/preview.md +187 -0
- package/bundle/docs/cli/checkpointing.md +93 -0
- package/bundle/docs/cli/cli-reference.md +115 -0
- package/bundle/docs/cli/creating-skills.md +80 -0
- package/bundle/docs/cli/custom-commands.md +327 -0
- package/bundle/docs/cli/enterprise.md +604 -0
- package/bundle/docs/cli/gemini-ignore.md +71 -0
- package/bundle/docs/cli/gemini-md.md +116 -0
- package/bundle/docs/cli/generation-settings.md +210 -0
- package/bundle/docs/cli/headless.md +50 -0
- package/bundle/docs/cli/model-routing.md +42 -0
- package/bundle/docs/cli/model.md +53 -0
- package/bundle/docs/cli/plan-mode.md +375 -0
- package/bundle/docs/cli/rewind.md +51 -0
- package/bundle/docs/cli/sandbox.md +257 -0
- package/bundle/docs/cli/session-management.md +184 -0
- package/bundle/docs/cli/settings.md +165 -0
- package/bundle/docs/cli/skills.md +134 -0
- package/bundle/docs/cli/system-prompt.md +125 -0
- package/bundle/docs/cli/telemetry.md +922 -0
- package/bundle/docs/cli/themes.md +269 -0
- package/bundle/docs/cli/token-caching.md +20 -0
- package/bundle/docs/cli/trusted-folders.md +126 -0
- package/bundle/docs/cli/tutorials/automation.md +283 -0
- package/bundle/docs/cli/tutorials/file-management.md +142 -0
- package/bundle/docs/cli/tutorials/mcp-setup.md +113 -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 +110 -0
- package/bundle/docs/cli/tutorials/task-planning.md +93 -0
- package/bundle/docs/cli/tutorials/web-tools.md +78 -0
- package/bundle/docs/core/index.md +107 -0
- package/bundle/docs/core/remote-agents.md +84 -0
- package/bundle/docs/core/subagents.md +307 -0
- package/bundle/docs/examples/proxy-script.md +83 -0
- package/bundle/docs/extensions/best-practices.md +188 -0
- package/bundle/docs/extensions/index.md +61 -0
- package/bundle/docs/extensions/reference.md +333 -0
- package/bundle/docs/extensions/releasing.md +154 -0
- package/bundle/docs/extensions/writing-extensions.md +308 -0
- package/bundle/docs/get-started/authentication.md +402 -0
- package/bundle/docs/get-started/examples.md +139 -0
- package/bundle/docs/get-started/gemini-3.md +115 -0
- package/bundle/docs/get-started/index.md +82 -0
- package/bundle/docs/get-started/installation.md +174 -0
- package/bundle/docs/hooks/best-practices.md +709 -0
- package/bundle/docs/hooks/index.md +164 -0
- package/bundle/docs/hooks/reference.md +330 -0
- package/bundle/docs/hooks/writing-hooks.md +474 -0
- package/bundle/docs/ide-integration/ide-companion-spec.md +267 -0
- package/bundle/docs/ide-integration/index.md +224 -0
- package/bundle/docs/index.md +141 -0
- package/bundle/docs/integration-tests.md +211 -0
- package/bundle/docs/issue-and-pr-automation.md +172 -0
- package/bundle/docs/local-development.md +134 -0
- package/bundle/docs/mermaid/context.mmd +103 -0
- package/bundle/docs/mermaid/render-path.mmd +64 -0
- package/bundle/docs/npm.md +62 -0
- package/bundle/docs/redirects.json +20 -0
- package/bundle/docs/reference/commands.md +526 -0
- package/bundle/docs/reference/configuration.md +1786 -0
- package/bundle/docs/reference/keyboard-shortcuts.md +164 -0
- package/bundle/docs/reference/memport.md +246 -0
- package/bundle/docs/reference/policy-engine.md +364 -0
- package/bundle/docs/reference/tools.md +106 -0
- package/bundle/docs/release-confidence.md +164 -0
- package/bundle/docs/releases.md +540 -0
- package/bundle/docs/resources/faq.md +175 -0
- package/bundle/docs/resources/quota-and-pricing.md +165 -0
- package/bundle/docs/resources/tos-privacy.md +102 -0
- package/bundle/docs/resources/troubleshooting.md +176 -0
- package/bundle/docs/resources/uninstall.md +56 -0
- package/bundle/docs/sidebar.json +233 -0
- package/bundle/docs/tools/activate-skill.md +43 -0
- package/bundle/docs/tools/ask-user.md +95 -0
- package/bundle/docs/tools/file-system.md +129 -0
- package/bundle/docs/tools/internal-docs.md +46 -0
- package/bundle/docs/tools/mcp-server.md +1150 -0
- package/bundle/docs/tools/memory.md +35 -0
- package/bundle/docs/tools/planning.md +58 -0
- package/bundle/docs/tools/shell.md +216 -0
- package/bundle/docs/tools/todos.md +35 -0
- package/bundle/docs/tools/web-fetch.md +35 -0
- package/bundle/docs/tools/web-search.md +32 -0
- package/bundle/docs/update/update-guide.md +111 -0
- package/bundle/masha.js +563471 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/client/main.js +89 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/_client-assets.d.ts +7 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/_client-assets.js +9 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/_client-assets.js.map +1 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/index.d.ts +48 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/index.js +299 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/index.js.map +1 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/types.d.ts +36 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/types.js +7 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/types.js.map +1 -0
- package/bundle/node_modules/@dgxo/mashadevcli-devtools/package.json +32 -0
- package/bundle/policies/conseca.toml +6 -0
- package/bundle/policies/discovered.toml +8 -0
- package/bundle/policies/plan.toml +109 -0
- package/bundle/policies/read-only.toml +53 -0
- package/bundle/policies/write.toml +80 -0
- package/bundle/policies/yolo.toml +54 -0
- package/bundle/sandbox-macos-permissive-open.sb +27 -0
- package/bundle/sandbox-macos-permissive-proxied.sb +37 -0
- package/bundle/sandbox-macos-restrictive-open.sb +96 -0
- package/bundle/sandbox-macos-restrictive-proxied.sb +98 -0
- package/bundle/sandbox-macos-strict-open.sb +131 -0
- package/bundle/sandbox-macos-strict-proxied.sb +133 -0
- package/package.json +169 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"label": "docs_tab",
|
|
4
|
+
"items": [
|
|
5
|
+
{
|
|
6
|
+
"label": "Get started",
|
|
7
|
+
"items": [
|
|
8
|
+
{ "label": "Overview", "slug": "docs" },
|
|
9
|
+
{ "label": "Quickstart", "slug": "docs/get-started" },
|
|
10
|
+
{ "label": "Installation", "slug": "docs/get-started/installation" },
|
|
11
|
+
{
|
|
12
|
+
"label": "Authentication",
|
|
13
|
+
"slug": "docs/get-started/authentication"
|
|
14
|
+
},
|
|
15
|
+
{ "label": "Examples", "slug": "docs/get-started/examples" },
|
|
16
|
+
{ "label": "CLI cheatsheet", "slug": "docs/cli/cli-reference" },
|
|
17
|
+
{
|
|
18
|
+
"label": "Gemini 3 on Gemini CLI",
|
|
19
|
+
"slug": "docs/get-started/gemini-3"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"label": "Use Gemini CLI",
|
|
25
|
+
"items": [
|
|
26
|
+
{
|
|
27
|
+
"label": "File management",
|
|
28
|
+
"slug": "docs/cli/tutorials/file-management"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"label": "Get started with Agent skills",
|
|
32
|
+
"slug": "docs/cli/tutorials/skills-getting-started"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"label": "Manage context and memory",
|
|
36
|
+
"slug": "docs/cli/tutorials/memory-management"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"label": "Execute shell commands",
|
|
40
|
+
"slug": "docs/cli/tutorials/shell-commands"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"label": "Manage sessions and history",
|
|
44
|
+
"slug": "docs/cli/tutorials/session-management"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"label": "Plan tasks with todos",
|
|
48
|
+
"slug": "docs/cli/tutorials/task-planning"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"label": "Web search and fetch",
|
|
52
|
+
"slug": "docs/cli/tutorials/web-tools"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"label": "Set up an MCP server",
|
|
56
|
+
"slug": "docs/cli/tutorials/mcp-setup"
|
|
57
|
+
},
|
|
58
|
+
{ "label": "Automate tasks", "slug": "docs/cli/tutorials/automation" }
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"label": "Features",
|
|
63
|
+
"items": [
|
|
64
|
+
{
|
|
65
|
+
"label": "Extensions",
|
|
66
|
+
"collapsed": true,
|
|
67
|
+
"items": [
|
|
68
|
+
{
|
|
69
|
+
"label": "Overview",
|
|
70
|
+
"slug": "docs/extensions"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"label": "User guide: Install and manage",
|
|
74
|
+
"link": "/docs/extensions/#manage-extensions"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"label": "Developer guide: Build extensions",
|
|
78
|
+
"slug": "docs/extensions/writing-extensions"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"label": "Developer guide: Best practices",
|
|
82
|
+
"slug": "docs/extensions/best-practices"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"label": "Developer guide: Releasing",
|
|
86
|
+
"slug": "docs/extensions/releasing"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"label": "Developer guide: Reference",
|
|
90
|
+
"slug": "docs/extensions/reference"
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{ "label": "Agent Skills", "slug": "docs/cli/skills" },
|
|
95
|
+
{ "label": "Checkpointing", "slug": "docs/cli/checkpointing" },
|
|
96
|
+
{ "label": "Headless mode", "slug": "docs/cli/headless" },
|
|
97
|
+
{
|
|
98
|
+
"label": "Hooks",
|
|
99
|
+
"collapsed": true,
|
|
100
|
+
"items": [
|
|
101
|
+
{ "label": "Overview", "slug": "docs/hooks" },
|
|
102
|
+
{ "label": "Reference", "slug": "docs/hooks/reference" }
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{ "label": "IDE integration", "slug": "docs/ide-integration" },
|
|
106
|
+
{ "label": "MCP servers", "slug": "docs/tools/mcp-server" },
|
|
107
|
+
{ "label": "Model routing", "slug": "docs/cli/model-routing" },
|
|
108
|
+
{ "label": "Model selection", "slug": "docs/cli/model" },
|
|
109
|
+
{ "label": "Plan mode", "badge": "🔬", "slug": "docs/cli/plan-mode" },
|
|
110
|
+
{
|
|
111
|
+
"label": "Subagents",
|
|
112
|
+
"badge": "🔬",
|
|
113
|
+
"slug": "docs/core/subagents"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"label": "Remote subagents",
|
|
117
|
+
"badge": "🔬",
|
|
118
|
+
"slug": "docs/core/remote-agents"
|
|
119
|
+
},
|
|
120
|
+
{ "label": "Rewind", "slug": "docs/cli/rewind" },
|
|
121
|
+
{ "label": "Sandboxing", "slug": "docs/cli/sandbox" },
|
|
122
|
+
{ "label": "Settings", "slug": "docs/cli/settings" },
|
|
123
|
+
{ "label": "Telemetry", "slug": "docs/cli/telemetry" },
|
|
124
|
+
{ "label": "Token caching", "slug": "docs/cli/token-caching" }
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"label": "Configuration",
|
|
129
|
+
"items": [
|
|
130
|
+
{ "label": "Custom commands", "slug": "docs/cli/custom-commands" },
|
|
131
|
+
{
|
|
132
|
+
"label": "Enterprise configuration",
|
|
133
|
+
"slug": "docs/cli/enterprise"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"label": "Ignore files (.geminiignore)",
|
|
137
|
+
"slug": "docs/cli/gemini-ignore"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"label": "Model configuration",
|
|
141
|
+
"slug": "docs/cli/generation-settings"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"label": "Project context (GEMINI.md)",
|
|
145
|
+
"slug": "docs/cli/gemini-md"
|
|
146
|
+
},
|
|
147
|
+
{ "label": "Settings", "slug": "docs/cli/settings" },
|
|
148
|
+
{
|
|
149
|
+
"label": "System prompt override",
|
|
150
|
+
"slug": "docs/cli/system-prompt"
|
|
151
|
+
},
|
|
152
|
+
{ "label": "Themes", "slug": "docs/cli/themes" },
|
|
153
|
+
{ "label": "Trusted folders", "slug": "docs/cli/trusted-folders" }
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"label": "Development",
|
|
158
|
+
"items": [
|
|
159
|
+
{ "label": "Contribution guide", "slug": "docs/contributing" },
|
|
160
|
+
{ "label": "Integration testing", "slug": "docs/integration-tests" },
|
|
161
|
+
{
|
|
162
|
+
"label": "Issue and PR automation",
|
|
163
|
+
"slug": "docs/issue-and-pr-automation"
|
|
164
|
+
},
|
|
165
|
+
{ "label": "Local development", "slug": "docs/local-development" },
|
|
166
|
+
{ "label": "NPM package structure", "slug": "docs/npm" }
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"label": "reference_tab",
|
|
173
|
+
"items": [
|
|
174
|
+
{
|
|
175
|
+
"label": "Reference",
|
|
176
|
+
"items": [
|
|
177
|
+
{ "label": "Command reference", "slug": "docs/reference/commands" },
|
|
178
|
+
{
|
|
179
|
+
"label": "Configuration reference",
|
|
180
|
+
"slug": "docs/reference/configuration"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"label": "Keyboard shortcuts",
|
|
184
|
+
"slug": "docs/reference/keyboard-shortcuts"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"label": "Memory import processor",
|
|
188
|
+
"slug": "docs/reference/memport"
|
|
189
|
+
},
|
|
190
|
+
{ "label": "Policy engine", "slug": "docs/reference/policy-engine" },
|
|
191
|
+
{ "label": "Tools reference", "slug": "docs/reference/tools" }
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"label": "resources_tab",
|
|
198
|
+
"items": [
|
|
199
|
+
{
|
|
200
|
+
"label": "Resources",
|
|
201
|
+
"items": [
|
|
202
|
+
{ "label": "FAQ", "slug": "docs/resources/faq" },
|
|
203
|
+
{
|
|
204
|
+
"label": "Quota and pricing",
|
|
205
|
+
"slug": "docs/resources/quota-and-pricing"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"label": "Terms and privacy",
|
|
209
|
+
"slug": "docs/resources/tos-privacy"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"label": "Troubleshooting",
|
|
213
|
+
"slug": "docs/resources/troubleshooting"
|
|
214
|
+
},
|
|
215
|
+
{ "label": "Uninstall", "slug": "docs/resources/uninstall" }
|
|
216
|
+
]
|
|
217
|
+
}
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"label": "releases_tab",
|
|
222
|
+
"items": [
|
|
223
|
+
{
|
|
224
|
+
"label": "Releases",
|
|
225
|
+
"items": [
|
|
226
|
+
{ "label": "Release notes", "slug": "docs/changelogs/" },
|
|
227
|
+
{ "label": "Stable release", "slug": "docs/changelogs/latest" },
|
|
228
|
+
{ "label": "Preview release", "slug": "docs/changelogs/preview" }
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
]
|
|
232
|
+
}
|
|
233
|
+
]
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Activate skill tool (`activate_skill`)
|
|
2
|
+
|
|
3
|
+
The `activate_skill` tool lets Gemini CLI load specialized procedural expertise
|
|
4
|
+
and resources when they are relevant to your request.
|
|
5
|
+
|
|
6
|
+
## Description
|
|
7
|
+
|
|
8
|
+
Skills are packages of instructions and tools designed for specific engineering
|
|
9
|
+
tasks, such as reviewing code or creating pull requests. Gemini CLI uses this
|
|
10
|
+
tool to "activate" a skill, which provides it with detailed guidelines and
|
|
11
|
+
specialized tools tailored to that task.
|
|
12
|
+
|
|
13
|
+
### Arguments
|
|
14
|
+
|
|
15
|
+
`activate_skill` takes one argument:
|
|
16
|
+
|
|
17
|
+
- `name` (enum, required): The name of the skill to activate (for example,
|
|
18
|
+
`code-reviewer`, `pr-creator`, or `docs-writer`).
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
The `activate_skill` tool is used exclusively by the Gemini agent. You cannot
|
|
23
|
+
invoke this tool manually.
|
|
24
|
+
|
|
25
|
+
When the agent identifies that a task matches a discovered skill, it requests to
|
|
26
|
+
activate that skill. Once activated, the agent's behavior is guided by the
|
|
27
|
+
skill's specific instructions until the task is complete.
|
|
28
|
+
|
|
29
|
+
## Behavior
|
|
30
|
+
|
|
31
|
+
The agent uses this tool to provide professional-grade assistance:
|
|
32
|
+
|
|
33
|
+
- **Specialized logic:** Skills contain expert-level procedures for complex
|
|
34
|
+
workflows.
|
|
35
|
+
- **Dynamic capability:** Activating a skill can grant the agent access to new,
|
|
36
|
+
task-specific tools.
|
|
37
|
+
- **Contextual awareness:** Skills help the agent focus on the most relevant
|
|
38
|
+
standards and conventions for a particular task.
|
|
39
|
+
|
|
40
|
+
## Next steps
|
|
41
|
+
|
|
42
|
+
- Learn how to [Use Agent Skills](../cli/skills.md).
|
|
43
|
+
- See the [Creating Agent Skills](../cli/creating-skills.md) guide.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Ask User Tool
|
|
2
|
+
|
|
3
|
+
The `ask_user` tool lets Gemini CLI ask you one or more questions to gather
|
|
4
|
+
preferences, clarify requirements, or make decisions. It supports multiple
|
|
5
|
+
question types including multiple-choice, free-form text, and Yes/No
|
|
6
|
+
confirmation.
|
|
7
|
+
|
|
8
|
+
## `ask_user` (Ask User)
|
|
9
|
+
|
|
10
|
+
- **Tool name:** `ask_user`
|
|
11
|
+
- **Display name:** Ask User
|
|
12
|
+
- **File:** `ask-user.ts`
|
|
13
|
+
- **Parameters:**
|
|
14
|
+
- `questions` (array of objects, required): A list of 1 to 4 questions to ask.
|
|
15
|
+
Each question object has the following properties:
|
|
16
|
+
- `question` (string, required): The complete question text.
|
|
17
|
+
- `header` (string, required): A short label (max 16 chars) displayed as a
|
|
18
|
+
chip/tag (e.g., "Auth", "Database").
|
|
19
|
+
- `type` (string, optional): The type of question. Defaults to `'choice'`.
|
|
20
|
+
- `'choice'`: Multiple-choice with options (supports multi-select).
|
|
21
|
+
- `'text'`: Free-form text input.
|
|
22
|
+
- `'yesno'`: Yes/No confirmation.
|
|
23
|
+
- `options` (array of objects, optional): Required for `'choice'` type. 2-4
|
|
24
|
+
selectable options.
|
|
25
|
+
- `label` (string, required): Display text (1-5 words).
|
|
26
|
+
- `description` (string, required): Brief explanation.
|
|
27
|
+
- `multiSelect` (boolean, optional): For `'choice'` type, allows selecting
|
|
28
|
+
multiple options.
|
|
29
|
+
- `placeholder` (string, optional): Hint text for input fields.
|
|
30
|
+
|
|
31
|
+
- **Behavior:**
|
|
32
|
+
- Presents an interactive dialog to the user with the specified questions.
|
|
33
|
+
- Pauses execution until the user provides answers or dismisses the dialog.
|
|
34
|
+
- Returns the user's answers to the model.
|
|
35
|
+
|
|
36
|
+
- **Output (`llmContent`):** A JSON string containing the user's answers,
|
|
37
|
+
indexed by question position (e.g.,
|
|
38
|
+
`{"answers":{"0": "Option A", "1": "Some text"}}`).
|
|
39
|
+
|
|
40
|
+
- **Confirmation:** Yes. The tool inherently involves user interaction.
|
|
41
|
+
|
|
42
|
+
## Usage Examples
|
|
43
|
+
|
|
44
|
+
### Multiple Choice Question
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"questions": [
|
|
49
|
+
{
|
|
50
|
+
"header": "Database",
|
|
51
|
+
"question": "Which database would you like to use?",
|
|
52
|
+
"type": "choice",
|
|
53
|
+
"options": [
|
|
54
|
+
{
|
|
55
|
+
"label": "PostgreSQL",
|
|
56
|
+
"description": "Powerful, open source object-relational database system."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"label": "SQLite",
|
|
60
|
+
"description": "C-library that implements a SQL database engine."
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Text Input Question
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"questions": [
|
|
73
|
+
{
|
|
74
|
+
"header": "Project Name",
|
|
75
|
+
"question": "What is the name of your new project?",
|
|
76
|
+
"type": "text",
|
|
77
|
+
"placeholder": "e.g., my-awesome-app"
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Yes/No Question
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"questions": [
|
|
88
|
+
{
|
|
89
|
+
"header": "Deploy",
|
|
90
|
+
"question": "Do you want to deploy the application now?",
|
|
91
|
+
"type": "yesno"
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
```
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# File system tools reference
|
|
2
|
+
|
|
3
|
+
The Gemini CLI core provides a suite of tools for interacting with the local
|
|
4
|
+
file system. These tools allow the model to explore and modify your codebase.
|
|
5
|
+
|
|
6
|
+
## Technical reference
|
|
7
|
+
|
|
8
|
+
All file system tools operate within a `rootDirectory` (the current working
|
|
9
|
+
directory or workspace root) for security.
|
|
10
|
+
|
|
11
|
+
### `list_directory` (ReadFolder)
|
|
12
|
+
|
|
13
|
+
Lists the names of files and subdirectories directly within a specified path.
|
|
14
|
+
|
|
15
|
+
- **Tool name:** `list_directory`
|
|
16
|
+
- **Arguments:**
|
|
17
|
+
- `dir_path` (string, required): Absolute or relative path to the directory.
|
|
18
|
+
- `ignore` (array, optional): Glob patterns to exclude.
|
|
19
|
+
- `file_filtering_options` (object, optional): Configuration for `.gitignore`
|
|
20
|
+
and `.geminiignore` compliance.
|
|
21
|
+
|
|
22
|
+
### `read_file` (ReadFile)
|
|
23
|
+
|
|
24
|
+
Reads and returns the content of a specific file. Supports text, images, audio,
|
|
25
|
+
and PDF.
|
|
26
|
+
|
|
27
|
+
- **Tool name:** `read_file`
|
|
28
|
+
- **Arguments:**
|
|
29
|
+
- `file_path` (string, required): Path to the file.
|
|
30
|
+
- `offset` (number, optional): Start line for text files (0-based).
|
|
31
|
+
- `limit` (number, optional): Maximum lines to read.
|
|
32
|
+
|
|
33
|
+
### `write_file` (WriteFile)
|
|
34
|
+
|
|
35
|
+
Writes content to a specified file, overwriting it if it exists or creating it
|
|
36
|
+
if not.
|
|
37
|
+
|
|
38
|
+
- **Tool name:** `write_file`
|
|
39
|
+
- **Arguments:**
|
|
40
|
+
- `file_path` (string, required): Path to the file.
|
|
41
|
+
- `content` (string, required): Data to write.
|
|
42
|
+
- **Confirmation:** Requires manual user approval.
|
|
43
|
+
|
|
44
|
+
### `glob` (FindFiles)
|
|
45
|
+
|
|
46
|
+
Finds files matching specific glob patterns across the workspace.
|
|
47
|
+
|
|
48
|
+
- **Tool name:** `glob`
|
|
49
|
+
- **Display name:** FindFiles
|
|
50
|
+
- **File:** `glob.ts`
|
|
51
|
+
- **Parameters:**
|
|
52
|
+
- `pattern` (string, required): The glob pattern to match against (e.g.,
|
|
53
|
+
`"*.py"`, `"src/**/*.js"`).
|
|
54
|
+
- `path` (string, optional): The absolute path to the directory to search
|
|
55
|
+
within. If omitted, searches the tool's root directory.
|
|
56
|
+
- `case_sensitive` (boolean, optional): Whether the search should be
|
|
57
|
+
case-sensitive. Defaults to `false`.
|
|
58
|
+
- `respect_git_ignore` (boolean, optional): Whether to respect .gitignore
|
|
59
|
+
patterns when finding files. Defaults to `true`.
|
|
60
|
+
- **Behavior:**
|
|
61
|
+
- Searches for files matching the glob pattern within the specified directory.
|
|
62
|
+
- Returns a list of absolute paths, sorted with the most recently modified
|
|
63
|
+
files first.
|
|
64
|
+
- Ignores common nuisance directories like `node_modules` and `.git` by
|
|
65
|
+
default.
|
|
66
|
+
- **Output (`llmContent`):** A message like:
|
|
67
|
+
`Found 5 file(s) matching "*.ts" within src, sorted by modification time (newest first):\nsrc/file1.ts\nsrc/subdir/file2.ts...`
|
|
68
|
+
- **Confirmation:** No.
|
|
69
|
+
|
|
70
|
+
## 5. `grep_search` (SearchText)
|
|
71
|
+
|
|
72
|
+
`grep_search` searches for a regular expression pattern within the content of
|
|
73
|
+
files in a specified directory. Can filter files by a glob pattern. Returns the
|
|
74
|
+
lines containing matches, along with their file paths and line numbers.
|
|
75
|
+
|
|
76
|
+
- **Tool name:** `grep_search`
|
|
77
|
+
- **Display name:** SearchText
|
|
78
|
+
- **File:** `grep.ts`
|
|
79
|
+
- **Parameters:**
|
|
80
|
+
- `pattern` (string, required): The regular expression (regex) to search for
|
|
81
|
+
(e.g., `"function\s+myFunction"`).
|
|
82
|
+
- `path` (string, optional): The absolute path to the directory to search
|
|
83
|
+
within. Defaults to the current working directory.
|
|
84
|
+
- `include` (string, optional): A glob pattern to filter which files are
|
|
85
|
+
searched (e.g., `"*.js"`, `"src/**/*.{ts,tsx}"`). If omitted, searches most
|
|
86
|
+
files (respecting common ignores).
|
|
87
|
+
- **Behavior:**
|
|
88
|
+
- Uses `git grep` if available in a Git repository for speed; otherwise, falls
|
|
89
|
+
back to system `grep` or a JavaScript-based search.
|
|
90
|
+
- Returns a list of matching lines, each prefixed with its file path (relative
|
|
91
|
+
to the search directory) and line number.
|
|
92
|
+
- **Output (`llmContent`):** A formatted string of matches, e.g.:
|
|
93
|
+
```
|
|
94
|
+
Found 3 matches for pattern "myFunction" in path "." (filter: "*.ts"):
|
|
95
|
+
---
|
|
96
|
+
File: src/utils.ts
|
|
97
|
+
L15: export function myFunction() {
|
|
98
|
+
L22: myFunction.call();
|
|
99
|
+
---
|
|
100
|
+
File: src/index.ts
|
|
101
|
+
L5: import { myFunction } from './utils';
|
|
102
|
+
---
|
|
103
|
+
```
|
|
104
|
+
- **Confirmation:** No.
|
|
105
|
+
|
|
106
|
+
## 6. `replace` (Edit)
|
|
107
|
+
|
|
108
|
+
`replace` replaces text within a file. By default, the tool expects to find and
|
|
109
|
+
replace exactly ONE occurrence of `old_string`. If you want to replace multiple
|
|
110
|
+
occurrences of the exact same string, set `allow_multiple` to `true`. This tool
|
|
111
|
+
is designed for precise, targeted changes and requires significant context
|
|
112
|
+
around the `old_string` to ensure it modifies the correct location.
|
|
113
|
+
|
|
114
|
+
- **Tool name:** `replace`
|
|
115
|
+
- **Arguments:**
|
|
116
|
+
- `file_path` (string, required): Path to the file.
|
|
117
|
+
- `instruction` (string, required): Semantic description of the change.
|
|
118
|
+
- `old_string` (string, required): Exact literal text to find.
|
|
119
|
+
- `new_string` (string, required): Exact literal text to replace with.
|
|
120
|
+
- `allow_multiple` (boolean, optional): If `true`, replaces all occurrences.
|
|
121
|
+
If `false` (default), only succeeds if exactly one occurrence is found.
|
|
122
|
+
- **Confirmation:** Requires manual user approval.
|
|
123
|
+
|
|
124
|
+
## Next steps
|
|
125
|
+
|
|
126
|
+
- Follow the [File management tutorial](../cli/tutorials/file-management.md) for
|
|
127
|
+
practical examples.
|
|
128
|
+
- Learn about [Trusted folders](../cli/trusted-folders.md) to manage access
|
|
129
|
+
permissions.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Internal documentation tool (`get_internal_docs`)
|
|
2
|
+
|
|
3
|
+
The `get_internal_docs` tool lets Gemini CLI access its own technical
|
|
4
|
+
documentation to provide more accurate answers about its capabilities and usage.
|
|
5
|
+
|
|
6
|
+
## Description
|
|
7
|
+
|
|
8
|
+
This tool is used when Gemini CLI needs to verify specific details about Gemini
|
|
9
|
+
CLI's internal features, built-in commands, or configuration options. It
|
|
10
|
+
provides direct access to the Markdown files in the `docs/` directory.
|
|
11
|
+
|
|
12
|
+
### Arguments
|
|
13
|
+
|
|
14
|
+
`get_internal_docs` takes one optional argument:
|
|
15
|
+
|
|
16
|
+
- `path` (string, optional): The relative path to a specific documentation file
|
|
17
|
+
(for example, `reference/commands.md`). If omitted, the tool returns a list of
|
|
18
|
+
all available documentation paths.
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
The `get_internal_docs` tool is used exclusively by Gemini CLI. You cannot
|
|
23
|
+
invoke this tool manually.
|
|
24
|
+
|
|
25
|
+
When Gemini CLI uses this tool, it retrieves the content of the requested
|
|
26
|
+
documentation file and processes it to answer your question. This ensures that
|
|
27
|
+
the information provided by the AI is grounded in the latest project
|
|
28
|
+
documentation.
|
|
29
|
+
|
|
30
|
+
## Behavior
|
|
31
|
+
|
|
32
|
+
Gemini CLI uses this tool to ensure technical accuracy:
|
|
33
|
+
|
|
34
|
+
- **Capability discovery:** If Gemini CLI is unsure how a feature works, it can
|
|
35
|
+
lookup the corresponding documentation.
|
|
36
|
+
- **Reference lookup:** Gemini CLI can verify slash command sub-commands or
|
|
37
|
+
specific setting names.
|
|
38
|
+
- **Self-correction:** Gemini CLI can use the documentation to correct its
|
|
39
|
+
understanding of Gemini CLI's system logic.
|
|
40
|
+
|
|
41
|
+
## Next steps
|
|
42
|
+
|
|
43
|
+
- Explore the [Command reference](../reference/commands.md) for a detailed guide
|
|
44
|
+
to slash commands.
|
|
45
|
+
- See the [Configuration guide](../reference/configuration.md) for settings
|
|
46
|
+
reference.
|