@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.
Files changed (140) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +393 -0
  3. package/bundle/builtin/skill-creator/SKILL.md +382 -0
  4. package/bundle/builtin/skill-creator/scripts/init_skill.cjs +239 -0
  5. package/bundle/builtin/skill-creator/scripts/package_skill.cjs +131 -0
  6. package/bundle/builtin/skill-creator/scripts/validate_skill.cjs +131 -0
  7. package/bundle/docs/CONTRIBUTING.md +1 -0
  8. package/bundle/docs/admin/enterprise-controls.md +115 -0
  9. package/bundle/docs/assets/connected_devtools.png +0 -0
  10. package/bundle/docs/assets/gemini-screenshot.png +0 -0
  11. package/bundle/docs/assets/monitoring-dashboard-logs.png +0 -0
  12. package/bundle/docs/assets/monitoring-dashboard-metrics.png +0 -0
  13. package/bundle/docs/assets/monitoring-dashboard-overview.png +0 -0
  14. package/bundle/docs/assets/release_patch.png +0 -0
  15. package/bundle/docs/assets/theme-ansi-light.png +0 -0
  16. package/bundle/docs/assets/theme-ansi.png +0 -0
  17. package/bundle/docs/assets/theme-atom-one.png +0 -0
  18. package/bundle/docs/assets/theme-ayu-light.png +0 -0
  19. package/bundle/docs/assets/theme-ayu.png +0 -0
  20. package/bundle/docs/assets/theme-custom.png +0 -0
  21. package/bundle/docs/assets/theme-default-light.png +0 -0
  22. package/bundle/docs/assets/theme-default.png +0 -0
  23. package/bundle/docs/assets/theme-dracula.png +0 -0
  24. package/bundle/docs/assets/theme-github-light.png +0 -0
  25. package/bundle/docs/assets/theme-github.png +0 -0
  26. package/bundle/docs/assets/theme-google-light.png +0 -0
  27. package/bundle/docs/assets/theme-xcode-light.png +0 -0
  28. package/bundle/docs/changelogs/index.md +867 -0
  29. package/bundle/docs/changelogs/latest.md +208 -0
  30. package/bundle/docs/changelogs/preview.md +187 -0
  31. package/bundle/docs/cli/checkpointing.md +93 -0
  32. package/bundle/docs/cli/cli-reference.md +115 -0
  33. package/bundle/docs/cli/creating-skills.md +80 -0
  34. package/bundle/docs/cli/custom-commands.md +327 -0
  35. package/bundle/docs/cli/enterprise.md +604 -0
  36. package/bundle/docs/cli/gemini-ignore.md +71 -0
  37. package/bundle/docs/cli/gemini-md.md +116 -0
  38. package/bundle/docs/cli/generation-settings.md +210 -0
  39. package/bundle/docs/cli/headless.md +50 -0
  40. package/bundle/docs/cli/model-routing.md +42 -0
  41. package/bundle/docs/cli/model.md +53 -0
  42. package/bundle/docs/cli/plan-mode.md +375 -0
  43. package/bundle/docs/cli/rewind.md +51 -0
  44. package/bundle/docs/cli/sandbox.md +257 -0
  45. package/bundle/docs/cli/session-management.md +184 -0
  46. package/bundle/docs/cli/settings.md +165 -0
  47. package/bundle/docs/cli/skills.md +134 -0
  48. package/bundle/docs/cli/system-prompt.md +125 -0
  49. package/bundle/docs/cli/telemetry.md +922 -0
  50. package/bundle/docs/cli/themes.md +269 -0
  51. package/bundle/docs/cli/token-caching.md +20 -0
  52. package/bundle/docs/cli/trusted-folders.md +126 -0
  53. package/bundle/docs/cli/tutorials/automation.md +283 -0
  54. package/bundle/docs/cli/tutorials/file-management.md +142 -0
  55. package/bundle/docs/cli/tutorials/mcp-setup.md +113 -0
  56. package/bundle/docs/cli/tutorials/memory-management.md +126 -0
  57. package/bundle/docs/cli/tutorials/session-management.md +105 -0
  58. package/bundle/docs/cli/tutorials/shell-commands.md +107 -0
  59. package/bundle/docs/cli/tutorials/skills-getting-started.md +110 -0
  60. package/bundle/docs/cli/tutorials/task-planning.md +93 -0
  61. package/bundle/docs/cli/tutorials/web-tools.md +78 -0
  62. package/bundle/docs/core/index.md +107 -0
  63. package/bundle/docs/core/remote-agents.md +84 -0
  64. package/bundle/docs/core/subagents.md +307 -0
  65. package/bundle/docs/examples/proxy-script.md +83 -0
  66. package/bundle/docs/extensions/best-practices.md +188 -0
  67. package/bundle/docs/extensions/index.md +61 -0
  68. package/bundle/docs/extensions/reference.md +333 -0
  69. package/bundle/docs/extensions/releasing.md +154 -0
  70. package/bundle/docs/extensions/writing-extensions.md +308 -0
  71. package/bundle/docs/get-started/authentication.md +402 -0
  72. package/bundle/docs/get-started/examples.md +139 -0
  73. package/bundle/docs/get-started/gemini-3.md +115 -0
  74. package/bundle/docs/get-started/index.md +82 -0
  75. package/bundle/docs/get-started/installation.md +174 -0
  76. package/bundle/docs/hooks/best-practices.md +709 -0
  77. package/bundle/docs/hooks/index.md +164 -0
  78. package/bundle/docs/hooks/reference.md +330 -0
  79. package/bundle/docs/hooks/writing-hooks.md +474 -0
  80. package/bundle/docs/ide-integration/ide-companion-spec.md +267 -0
  81. package/bundle/docs/ide-integration/index.md +224 -0
  82. package/bundle/docs/index.md +141 -0
  83. package/bundle/docs/integration-tests.md +211 -0
  84. package/bundle/docs/issue-and-pr-automation.md +172 -0
  85. package/bundle/docs/local-development.md +134 -0
  86. package/bundle/docs/mermaid/context.mmd +103 -0
  87. package/bundle/docs/mermaid/render-path.mmd +64 -0
  88. package/bundle/docs/npm.md +62 -0
  89. package/bundle/docs/redirects.json +20 -0
  90. package/bundle/docs/reference/commands.md +526 -0
  91. package/bundle/docs/reference/configuration.md +1786 -0
  92. package/bundle/docs/reference/keyboard-shortcuts.md +164 -0
  93. package/bundle/docs/reference/memport.md +246 -0
  94. package/bundle/docs/reference/policy-engine.md +364 -0
  95. package/bundle/docs/reference/tools.md +106 -0
  96. package/bundle/docs/release-confidence.md +164 -0
  97. package/bundle/docs/releases.md +540 -0
  98. package/bundle/docs/resources/faq.md +175 -0
  99. package/bundle/docs/resources/quota-and-pricing.md +165 -0
  100. package/bundle/docs/resources/tos-privacy.md +102 -0
  101. package/bundle/docs/resources/troubleshooting.md +176 -0
  102. package/bundle/docs/resources/uninstall.md +56 -0
  103. package/bundle/docs/sidebar.json +233 -0
  104. package/bundle/docs/tools/activate-skill.md +43 -0
  105. package/bundle/docs/tools/ask-user.md +95 -0
  106. package/bundle/docs/tools/file-system.md +129 -0
  107. package/bundle/docs/tools/internal-docs.md +46 -0
  108. package/bundle/docs/tools/mcp-server.md +1150 -0
  109. package/bundle/docs/tools/memory.md +35 -0
  110. package/bundle/docs/tools/planning.md +58 -0
  111. package/bundle/docs/tools/shell.md +216 -0
  112. package/bundle/docs/tools/todos.md +35 -0
  113. package/bundle/docs/tools/web-fetch.md +35 -0
  114. package/bundle/docs/tools/web-search.md +32 -0
  115. package/bundle/docs/update/update-guide.md +111 -0
  116. package/bundle/masha.js +563471 -0
  117. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/client/main.js +89 -0
  118. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/_client-assets.d.ts +7 -0
  119. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/_client-assets.js +9 -0
  120. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/_client-assets.js.map +1 -0
  121. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/index.d.ts +48 -0
  122. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/index.js +299 -0
  123. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/index.js.map +1 -0
  124. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/types.d.ts +36 -0
  125. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/types.js +7 -0
  126. package/bundle/node_modules/@dgxo/mashadevcli-devtools/dist/src/types.js.map +1 -0
  127. package/bundle/node_modules/@dgxo/mashadevcli-devtools/package.json +32 -0
  128. package/bundle/policies/conseca.toml +6 -0
  129. package/bundle/policies/discovered.toml +8 -0
  130. package/bundle/policies/plan.toml +109 -0
  131. package/bundle/policies/read-only.toml +53 -0
  132. package/bundle/policies/write.toml +80 -0
  133. package/bundle/policies/yolo.toml +54 -0
  134. package/bundle/sandbox-macos-permissive-open.sb +27 -0
  135. package/bundle/sandbox-macos-permissive-proxied.sb +37 -0
  136. package/bundle/sandbox-macos-restrictive-open.sb +96 -0
  137. package/bundle/sandbox-macos-restrictive-proxied.sb +98 -0
  138. package/bundle/sandbox-macos-strict-open.sb +131 -0
  139. package/bundle/sandbox-macos-strict-proxied.sb +133 -0
  140. 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.