@mmmbuto/gemini-cli-termux 0.30.3-termux → 0.30.5-termux

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 (400) hide show
  1. package/README.md +42 -193
  2. package/bundle/docs/cli/settings.md +8 -9
  3. package/bundle/docs/extensions/reference.md +14 -38
  4. package/bundle/docs/hooks/reference.md +0 -8
  5. package/bundle/docs/reference/configuration.md +0 -8
  6. package/bundle/gemini.js +10730 -11704
  7. package/bundle/node_modules/@google/gemini-cli-devtools/package.json +1 -1
  8. package/bundle/package.json +2 -1
  9. package/package.json +67 -5
  10. package/packages/cli/dist/index.js +0 -0
  11. package/packages/cli/dist/package.json +2 -2
  12. package/packages/cli/dist/src/commands/extensions/examples/custom-commands/gemini-extension.json +2 -2
  13. package/packages/cli/dist/src/commands/extensions/examples/exclude-tools/gemini-extension.json +3 -3
  14. package/packages/cli/dist/src/commands/extensions/examples/hooks/gemini-extension.json +2 -2
  15. package/packages/cli/dist/src/commands/extensions/examples/hooks/hooks/hooks.json +11 -11
  16. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.js +1 -1
  17. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/gemini-extension.json +8 -8
  18. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/package.json +9 -9
  19. package/packages/cli/dist/src/commands/extensions/examples/skills/gemini-extension.json +2 -2
  20. package/packages/cli/dist/src/commands/extensions/examples/themes-example/README.md +8 -5
  21. package/packages/cli/dist/src/commands/extensions/examples/themes-example/gemini-extension.json +27 -27
  22. package/packages/cli/dist/src/config/config.js +4 -65
  23. package/packages/cli/dist/src/config/config.js.map +1 -1
  24. package/packages/cli/dist/src/config/settingsSchema.d.ts +1 -235
  25. package/packages/cli/dist/src/config/settingsSchema.js +1 -235
  26. package/packages/cli/dist/src/config/settingsSchema.js.map +1 -1
  27. package/packages/cli/dist/src/gemini.js +0 -2
  28. package/packages/cli/dist/src/gemini.js.map +1 -1
  29. package/packages/cli/dist/src/generated/git-commit.d.ts +2 -2
  30. package/packages/cli/dist/src/generated/git-commit.js +2 -2
  31. package/packages/cli/dist/src/patches/empty-module.d.ts +2 -0
  32. package/packages/cli/dist/src/patches/empty-module.js +2 -0
  33. package/packages/cli/dist/src/patches/empty-module.js.map +1 -0
  34. package/packages/cli/dist/src/services/McpPromptLoader.js +3 -6
  35. package/packages/cli/dist/src/services/McpPromptLoader.js.map +1 -1
  36. package/packages/cli/dist/src/ui/components/AgentConfigDialog.js +19 -5
  37. package/packages/cli/dist/src/ui/components/AgentConfigDialog.js.map +1 -1
  38. package/packages/cli/dist/src/ui/components/AgentConfigDialog.test.js +41 -19
  39. package/packages/cli/dist/src/ui/components/AgentConfigDialog.test.js.map +1 -1
  40. package/packages/cli/dist/src/ui/components/DialogManager.d.ts +1 -1
  41. package/packages/cli/dist/src/ui/components/DialogManager.js +34 -7
  42. package/packages/cli/dist/src/ui/components/DialogManager.js.map +1 -1
  43. package/packages/cli/dist/src/ui/components/InputPrompt.d.ts +9 -0
  44. package/packages/cli/dist/src/ui/components/InputPrompt.js +350 -125
  45. package/packages/cli/dist/src/ui/components/InputPrompt.js.map +1 -1
  46. package/packages/cli/dist/src/ui/components/InputPrompt.test.js +788 -35
  47. package/packages/cli/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  48. package/packages/cli/dist/src/ui/components/messages/ShellToolMessage.js +2 -2
  49. package/packages/cli/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  50. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.js +4 -77
  51. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  52. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -51
  53. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  54. package/packages/cli/dist/src/ui/components/messages/ToolMessage.js +2 -2
  55. package/packages/cli/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  56. package/packages/cli/dist/src/ui/components/messages/ToolShared.d.ts +0 -1
  57. package/packages/cli/dist/src/ui/components/messages/ToolShared.js +2 -2
  58. package/packages/cli/dist/src/ui/components/messages/ToolShared.js.map +1 -1
  59. package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.js +4 -1
  60. package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
  61. package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.test.js +139 -40
  62. package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -1
  63. package/packages/cli/dist/src/ui/components/shared/TextInput.js +2 -1
  64. package/packages/cli/dist/src/ui/components/shared/TextInput.js.map +1 -1
  65. package/packages/cli/dist/src/ui/hooks/toolMapping.js +0 -1
  66. package/packages/cli/dist/src/ui/hooks/toolMapping.js.map +1 -1
  67. package/packages/cli/dist/src/ui/hooks/toolMapping.test.js +0 -13
  68. package/packages/cli/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
  69. package/packages/cli/dist/src/ui/hooks/useToolScheduler.js +2 -18
  70. package/packages/cli/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
  71. package/packages/cli/dist/src/ui/hooks/useToolScheduler.test.js +0 -44
  72. package/packages/cli/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  73. package/packages/cli/dist/src/ui/keyMatchers.test.js.map +1 -1
  74. package/packages/cli/dist/src/ui/types.d.ts +0 -1
  75. package/packages/cli/dist/src/ui/types.js.map +1 -1
  76. package/packages/cli/dist/src/ui/utils/commandUtils.js +4 -1
  77. package/packages/cli/dist/src/ui/utils/commandUtils.js.map +1 -1
  78. package/packages/cli/dist/src/utils/activityLogger.js +23 -94
  79. package/packages/cli/dist/src/utils/activityLogger.js.map +1 -1
  80. package/packages/cli/dist/src/utils/handleAutoUpdate.d.ts +1 -1
  81. package/packages/cli/dist/src/utils/handleAutoUpdate.js +1 -1
  82. package/packages/cli/dist/src/utils/handleAutoUpdate.js.map +1 -1
  83. package/packages/cli/dist/src/utils/handleAutoUpdate.test.js +11 -11
  84. package/packages/cli/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  85. package/{bundle/sandbox-macos-restrictive-closed.sb → packages/cli/dist/src/utils/sandbox-macos-strict-open.sb} +42 -4
  86. package/packages/cli/dist/src/utils/{sandbox-macos-restrictive-closed.sb → sandbox-macos-strict-proxied.sb} +44 -4
  87. package/packages/cli/dist/tsconfig.tsbuildinfo +1 -1
  88. package/packages/core/dist/docs/admin/enterprise-controls.md +115 -0
  89. package/packages/core/dist/docs/changelogs/index.md +57 -1
  90. package/packages/core/dist/docs/changelogs/latest.md +357 -314
  91. package/packages/core/dist/docs/changelogs/preview.md +288 -411
  92. package/packages/core/dist/docs/cli/checkpointing.md +2 -3
  93. package/packages/core/dist/docs/cli/cli-reference.md +42 -28
  94. package/packages/core/dist/docs/cli/custom-commands.md +3 -0
  95. package/packages/core/dist/docs/cli/enterprise.md +28 -8
  96. package/packages/core/dist/docs/cli/gemini-md.md +21 -13
  97. package/packages/core/dist/docs/cli/headless.md +34 -372
  98. package/packages/core/dist/docs/cli/model.md +1 -1
  99. package/packages/core/dist/docs/cli/plan-mode.md +245 -0
  100. package/packages/core/dist/docs/cli/rewind.md +11 -11
  101. package/packages/core/dist/docs/cli/sandbox.md +6 -5
  102. package/packages/core/dist/docs/cli/session-management.md +61 -44
  103. package/packages/core/dist/docs/cli/settings.md +64 -49
  104. package/packages/core/dist/docs/cli/skills.md +29 -7
  105. package/packages/core/dist/docs/cli/telemetry.md +41 -5
  106. package/packages/core/dist/docs/cli/themes.md +88 -54
  107. package/packages/core/dist/docs/cli/trusted-folders.md +31 -0
  108. package/packages/core/dist/docs/cli/tutorials/automation.md +187 -0
  109. package/packages/core/dist/docs/cli/tutorials/file-management.md +142 -0
  110. package/packages/core/dist/docs/cli/tutorials/mcp-setup.md +105 -0
  111. package/packages/core/dist/docs/cli/tutorials/memory-management.md +126 -0
  112. package/packages/core/dist/docs/cli/tutorials/session-management.md +105 -0
  113. package/packages/core/dist/docs/cli/tutorials/shell-commands.md +107 -0
  114. package/packages/core/dist/docs/cli/tutorials/skills-getting-started.md +36 -31
  115. package/packages/core/dist/docs/cli/tutorials/task-planning.md +93 -0
  116. package/packages/core/dist/docs/cli/tutorials/web-tools.md +78 -0
  117. package/packages/core/dist/docs/core/index.md +7 -7
  118. package/packages/core/dist/docs/core/subagents.md +40 -40
  119. package/packages/core/dist/docs/extensions/best-practices.md +102 -53
  120. package/packages/core/dist/docs/extensions/index.md +37 -21
  121. package/packages/core/dist/docs/extensions/reference.md +148 -219
  122. package/packages/core/dist/docs/extensions/releasing.md +93 -122
  123. package/packages/core/dist/docs/extensions/writing-extensions.md +87 -76
  124. package/packages/core/dist/docs/get-started/authentication.md +4 -4
  125. package/packages/core/dist/docs/get-started/examples.md +39 -119
  126. package/packages/core/dist/docs/get-started/gemini-3.md +17 -3
  127. package/packages/core/dist/docs/get-started/index.md +16 -5
  128. package/packages/core/dist/docs/get-started/installation.md +110 -77
  129. package/packages/core/dist/docs/hooks/best-practices.md +1 -1
  130. package/packages/core/dist/docs/hooks/reference.md +2 -2
  131. package/packages/core/dist/docs/index.md +142 -149
  132. package/packages/core/dist/docs/redirects.json +19 -0
  133. package/packages/core/dist/docs/reference/commands.md +523 -0
  134. package/{bundle/docs/get-started → packages/core/dist/docs/reference}/configuration.md +180 -71
  135. package/packages/core/dist/docs/{cli → reference}/keyboard-shortcuts.md +49 -35
  136. package/packages/core/dist/docs/{core → reference}/policy-engine.md +76 -32
  137. package/packages/core/dist/docs/releases.md +2 -2
  138. package/{bundle/docs → packages/core/dist/docs/resources}/faq.md +1 -1
  139. package/packages/core/dist/docs/{quota-and-pricing.md → resources/quota-and-pricing.md} +12 -5
  140. package/{bundle/docs → packages/core/dist/docs/resources}/tos-privacy.md +3 -3
  141. package/packages/core/dist/docs/{troubleshooting.md → resources/troubleshooting.md} +1 -1
  142. package/packages/core/dist/docs/sidebar.json +194 -113
  143. package/packages/core/dist/docs/tools/activate-skill.md +43 -0
  144. package/packages/core/dist/docs/tools/ask-user.md +95 -0
  145. package/packages/core/dist/docs/tools/file-system.md +55 -143
  146. package/packages/core/dist/docs/tools/index.md +97 -93
  147. package/packages/core/dist/docs/tools/internal-docs.md +46 -0
  148. package/packages/core/dist/docs/tools/mcp-server.md +65 -16
  149. package/packages/core/dist/docs/tools/memory.md +21 -40
  150. package/packages/core/dist/docs/tools/planning.md +57 -0
  151. package/packages/core/dist/docs/tools/shell.md +44 -88
  152. package/packages/core/dist/docs/tools/todos.md +22 -44
  153. package/packages/core/dist/docs/tools/web-fetch.md +22 -46
  154. package/packages/core/dist/docs/tools/web-search.md +19 -29
  155. package/packages/core/dist/src/code_assist/types.d.ts +14 -14
  156. package/packages/core/dist/src/config/config.d.ts +1 -13
  157. package/packages/core/dist/src/config/config.js +6 -39
  158. package/packages/core/dist/src/config/config.js.map +1 -1
  159. package/packages/core/dist/src/confirmation-bus/types.d.ts +0 -3
  160. package/packages/core/dist/src/confirmation-bus/types.js.map +1 -1
  161. package/packages/core/dist/src/core/coreToolHookTriggers.d.ts +1 -1
  162. package/packages/core/dist/src/core/coreToolHookTriggers.js +3 -8
  163. package/packages/core/dist/src/core/coreToolHookTriggers.js.map +1 -1
  164. package/packages/core/dist/src/generated/git-commit.d.ts +2 -2
  165. package/packages/core/dist/src/generated/git-commit.js +2 -2
  166. package/packages/core/dist/src/hooks/hookEventHandler.d.ts +2 -2
  167. package/packages/core/dist/src/hooks/hookEventHandler.js +2 -8
  168. package/packages/core/dist/src/hooks/hookEventHandler.js.map +1 -1
  169. package/packages/core/dist/src/hooks/hookSystem.d.ts +2 -2
  170. package/packages/core/dist/src/hooks/hookSystem.js +4 -4
  171. package/packages/core/dist/src/hooks/hookSystem.js.map +1 -1
  172. package/packages/core/dist/src/hooks/types.d.ts +0 -18
  173. package/packages/core/dist/src/hooks/types.js +0 -17
  174. package/packages/core/dist/src/hooks/types.js.map +1 -1
  175. package/packages/core/dist/src/ide/ide-client.js +1 -1
  176. package/packages/core/dist/src/ide/ide-client.js.map +1 -1
  177. package/packages/core/dist/src/ide/types.d.ts +8 -8
  178. package/packages/core/dist/src/index.d.ts +2 -0
  179. package/packages/core/dist/src/index.js +2 -0
  180. package/packages/core/dist/src/index.js.map +1 -1
  181. package/packages/core/dist/src/policy/policies/plan.toml +29 -43
  182. package/packages/core/dist/src/policy/policies/read-only.toml +12 -11
  183. package/packages/core/dist/src/policy/policies/write.toml +11 -10
  184. package/packages/core/dist/src/policy/policies/yolo.toml +24 -12
  185. package/packages/core/dist/src/policy/policy-engine.js +1 -5
  186. package/packages/core/dist/src/policy/policy-engine.js.map +1 -1
  187. package/packages/core/dist/src/policy/types.d.ts +1 -2
  188. package/packages/core/dist/src/policy/types.js +0 -1
  189. package/packages/core/dist/src/policy/types.js.map +1 -1
  190. package/packages/core/dist/src/safety/context-builder.d.ts +3 -3
  191. package/packages/core/dist/src/safety/context-builder.js +4 -60
  192. package/packages/core/dist/src/safety/context-builder.js.map +1 -1
  193. package/packages/core/dist/src/safety/context-builder.test.js +18 -98
  194. package/packages/core/dist/src/safety/context-builder.test.js.map +1 -1
  195. package/packages/core/dist/src/safety/protocol.d.ts +0 -4
  196. package/packages/core/dist/src/safety/registry.d.ts +1 -2
  197. package/packages/core/dist/src/safety/registry.js +4 -14
  198. package/packages/core/dist/src/safety/registry.js.map +1 -1
  199. package/packages/core/dist/src/safety/registry.test.js +2 -5
  200. package/packages/core/dist/src/safety/registry.test.js.map +1 -1
  201. package/packages/core/dist/src/scheduler/scheduler.d.ts +1 -1
  202. package/packages/core/dist/src/scheduler/scheduler.js +4 -49
  203. package/packages/core/dist/src/scheduler/scheduler.js.map +1 -1
  204. package/packages/core/dist/src/scheduler/scheduler.test.js +0 -91
  205. package/packages/core/dist/src/scheduler/scheduler.test.js.map +1 -1
  206. package/packages/core/dist/src/scheduler/state-manager.d.ts +0 -6
  207. package/packages/core/dist/src/scheduler/state-manager.js +0 -12
  208. package/packages/core/dist/src/scheduler/state-manager.js.map +1 -1
  209. package/packages/core/dist/src/scheduler/tool-executor.js +7 -9
  210. package/packages/core/dist/src/scheduler/tool-executor.js.map +1 -1
  211. package/packages/core/dist/src/scheduler/tool-executor.test.js +1 -1
  212. package/packages/core/dist/src/scheduler/tool-executor.test.js.map +1 -1
  213. package/packages/core/dist/src/scheduler/types.d.ts +0 -13
  214. package/packages/core/dist/src/services/shellExecutionService.d.ts +1 -1
  215. package/packages/core/dist/src/services/shellExecutionService.js +7 -8
  216. package/packages/core/dist/src/services/shellExecutionService.js.map +1 -1
  217. package/packages/core/dist/src/services/shellExecutionService.test.js +5 -5
  218. package/packages/core/dist/src/services/shellExecutionService.test.js.map +1 -1
  219. package/packages/core/dist/src/services/test-data/resolved-aliases-retry.golden.json +251 -251
  220. package/packages/core/dist/src/services/test-data/resolved-aliases.golden.json +251 -251
  221. package/packages/core/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +5 -1
  222. package/packages/core/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +5 -1
  223. package/packages/core/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +5 -1
  224. package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -3
  225. package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.js +0 -2
  226. package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  227. package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -9
  228. package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.js +1 -19
  229. package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  230. package/packages/core/dist/src/telemetry/index.d.ts +1 -2
  231. package/packages/core/dist/src/telemetry/index.js +1 -2
  232. package/packages/core/dist/src/telemetry/index.js.map +1 -1
  233. package/packages/core/dist/src/telemetry/loggers.js +0 -4
  234. package/packages/core/dist/src/telemetry/loggers.js.map +1 -1
  235. package/packages/core/dist/src/telemetry/trace.js.map +1 -1
  236. package/packages/core/dist/src/telemetry/types.d.ts +0 -26
  237. package/packages/core/dist/src/telemetry/types.js +2 -76
  238. package/packages/core/dist/src/telemetry/types.js.map +1 -1
  239. package/packages/core/dist/src/tools/diffOptions.d.ts +2 -2
  240. package/packages/core/dist/src/tools/diffOptions.js.map +1 -1
  241. package/packages/core/dist/src/tools/mcp-client.test.js.map +1 -1
  242. package/packages/core/dist/src/tools/mcp-tool.d.ts +1 -3
  243. package/packages/core/dist/src/tools/mcp-tool.js +2 -9
  244. package/packages/core/dist/src/tools/mcp-tool.js.map +1 -1
  245. package/packages/core/dist/src/tools/memoryTool.d.ts +0 -10
  246. package/packages/core/dist/src/tools/memoryTool.js +30 -25
  247. package/packages/core/dist/src/tools/memoryTool.js.map +1 -1
  248. package/packages/core/dist/src/tools/tool-names.d.ts +6 -0
  249. package/packages/core/dist/src/tools/tool-names.js +16 -1
  250. package/packages/core/dist/src/tools/tool-names.js.map +1 -1
  251. package/packages/core/dist/src/tools/tools.d.ts +0 -11
  252. package/packages/core/dist/src/tools/tools.js.map +1 -1
  253. package/packages/core/dist/src/utils/getPty.d.ts +14 -1
  254. package/packages/core/dist/src/utils/getPty.js +67 -2
  255. package/packages/core/dist/src/utils/getPty.js.map +1 -1
  256. package/packages/core/dist/src/utils/memoryDiscovery.d.ts +11 -3
  257. package/packages/core/dist/src/utils/memoryDiscovery.js +56 -21
  258. package/packages/core/dist/src/utils/memoryDiscovery.js.map +1 -1
  259. package/packages/core/dist/src/utils/secure-browser-launcher.js +40 -29
  260. package/packages/core/dist/src/utils/secure-browser-launcher.js.map +1 -1
  261. package/packages/core/dist/src/utils/textUtils.d.ts +0 -9
  262. package/packages/core/dist/src/utils/textUtils.js +0 -15
  263. package/packages/core/dist/src/utils/textUtils.js.map +1 -1
  264. package/packages/core/dist/src/utils/textUtils.test.js +1 -42
  265. package/packages/core/dist/src/utils/textUtils.test.js.map +1 -1
  266. package/packages/core/dist/tsconfig.tsbuildinfo +1 -1
  267. package/packages/test-utils/dist/tsconfig.tsbuildinfo +1 -1
  268. package/bundle/docs/ROADMAP.md +0 -113
  269. package/bundle/docs/TERMUX.md +0 -95
  270. package/bundle/docs/architecture.md +0 -80
  271. package/bundle/docs/assets/hero.png +0 -0
  272. package/bundle/docs/cli/authentication.md +0 -3
  273. package/bundle/docs/cli/commands.md +0 -430
  274. package/bundle/docs/cli/context-memory.md +0 -69
  275. package/bundle/docs/cli/index.md +0 -65
  276. package/bundle/docs/cli/keyboard-shortcuts.md +0 -140
  277. package/bundle/docs/cli/tutorials.md +0 -87
  278. package/bundle/docs/core/policy-engine.md +0 -305
  279. package/bundle/docs/get-started/configuration-v1.md +0 -888
  280. package/bundle/docs/patches/README.md +0 -74
  281. package/bundle/docs/patches/mcp-sdk-typings-shim.md +0 -27
  282. package/bundle/docs/quota-and-pricing.md +0 -158
  283. package/bundle/docs/termux-api/COMMANDS.md +0 -592
  284. package/bundle/docs/termux-api/DISCOVERY_SETUP.md +0 -670
  285. package/bundle/docs/termux-api/EXECUTION_PLAN.md +0 -532
  286. package/bundle/docs/termux-api/MERGE_STRATEGY.md +0 -365
  287. package/bundle/docs/termux-api/PATCHES.md +0 -480
  288. package/bundle/docs/termux-api/README.md +0 -416
  289. package/bundle/docs/troubleshooting.md +0 -173
  290. package/bundle/policies/conseca.toml +0 -6
  291. package/bundle/sandbox-macos-permissive-closed.sb +0 -32
  292. package/packages/cli/README.md +0 -173
  293. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.d.ts +0 -6
  294. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.js.map +0 -1
  295. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.d.ts +0 -6
  296. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.js +0 -111
  297. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +0 -1
  298. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.d.ts +0 -6
  299. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.js +0 -93
  300. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.js.map +0 -1
  301. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -42
  302. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.js +0 -105
  303. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
  304. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.d.ts +0 -6
  305. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.js +0 -58
  306. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.js.map +0 -1
  307. package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
  308. package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
  309. package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
  310. package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
  311. package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.js +0 -59
  312. package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
  313. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.d.ts +0 -30
  314. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.js +0 -149
  315. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.js.map +0 -1
  316. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.d.ts +0 -6
  317. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.js +0 -376
  318. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.js.map +0 -1
  319. package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.d.ts +0 -6
  320. package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.js +0 -45
  321. package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.js.map +0 -1
  322. package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.d.ts +0 -6
  323. package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.js +0 -21
  324. package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.js.map +0 -1
  325. package/packages/cli/dist/src/ui/utils/terminalUtils.test.d.ts +0 -6
  326. package/packages/cli/dist/src/ui/utils/terminalUtils.test.js +0 -40
  327. package/packages/cli/dist/src/ui/utils/terminalUtils.test.js.map +0 -1
  328. package/packages/cli/dist/src/utils/checks.d.ts +0 -19
  329. package/packages/cli/dist/src/utils/checks.js +0 -24
  330. package/packages/cli/dist/src/utils/checks.js.map +0 -1
  331. package/packages/cli/dist/src/utils/checks.test.d.ts +0 -6
  332. package/packages/cli/dist/src/utils/checks.test.js +0 -29
  333. package/packages/cli/dist/src/utils/checks.test.js.map +0 -1
  334. package/packages/cli/dist/src/utils/sandbox-macos-permissive-closed.sb +0 -32
  335. package/packages/cli/index.js +0 -2
  336. package/packages/core/dist/docs/TERMUX.md +0 -95
  337. package/packages/core/dist/docs/architecture.md +0 -80
  338. package/packages/core/dist/docs/assets/hero.png +0 -0
  339. package/packages/core/dist/docs/cli/authentication.md +0 -3
  340. package/packages/core/dist/docs/cli/commands.md +0 -430
  341. package/packages/core/dist/docs/cli/context-memory.md +0 -69
  342. package/packages/core/dist/docs/cli/index.md +0 -65
  343. package/packages/core/dist/docs/cli/tutorials.md +0 -87
  344. package/packages/core/dist/docs/cli/uninstall.md +0 -65
  345. package/packages/core/dist/docs/core/memport.md +0 -246
  346. package/packages/core/dist/docs/core/tools-api.md +0 -131
  347. package/packages/core/dist/docs/faq.md +0 -154
  348. package/packages/core/dist/docs/get-started/configuration-v1.md +0 -888
  349. package/packages/core/dist/docs/get-started/configuration.md +0 -1585
  350. package/packages/core/dist/docs/patches/README.md +0 -74
  351. package/packages/core/dist/docs/patches/mcp-sdk-typings-shim.md +0 -27
  352. package/packages/core/dist/docs/termux-api/COMMANDS.md +0 -592
  353. package/packages/core/dist/docs/termux-api/DISCOVERY_SETUP.md +0 -670
  354. package/packages/core/dist/docs/termux-api/EXECUTION_PLAN.md +0 -532
  355. package/packages/core/dist/docs/termux-api/MERGE_STRATEGY.md +0 -365
  356. package/packages/core/dist/docs/termux-api/PATCHES.md +0 -480
  357. package/packages/core/dist/docs/termux-api/README.md +0 -416
  358. package/packages/core/dist/docs/tos-privacy.md +0 -96
  359. package/packages/core/dist/src/safety/conseca/conseca.d.ts +0 -31
  360. package/packages/core/dist/src/safety/conseca/conseca.js +0 -105
  361. package/packages/core/dist/src/safety/conseca/conseca.js.map +0 -1
  362. package/packages/core/dist/src/safety/conseca/conseca.test.d.ts +0 -6
  363. package/packages/core/dist/src/safety/conseca/conseca.test.js +0 -226
  364. package/packages/core/dist/src/safety/conseca/conseca.test.js.map +0 -1
  365. package/packages/core/dist/src/safety/conseca/integration.test.d.ts +0 -6
  366. package/packages/core/dist/src/safety/conseca/integration.test.js +0 -19
  367. package/packages/core/dist/src/safety/conseca/integration.test.js.map +0 -1
  368. package/packages/core/dist/src/safety/conseca/policy-enforcer.d.ts +0 -13
  369. package/packages/core/dist/src/safety/conseca/policy-enforcer.js +0 -135
  370. package/packages/core/dist/src/safety/conseca/policy-enforcer.js.map +0 -1
  371. package/packages/core/dist/src/safety/conseca/policy-enforcer.test.d.ts +0 -6
  372. package/packages/core/dist/src/safety/conseca/policy-enforcer.test.js +0 -141
  373. package/packages/core/dist/src/safety/conseca/policy-enforcer.test.js.map +0 -1
  374. package/packages/core/dist/src/safety/conseca/policy-generator.d.ts +0 -15
  375. package/packages/core/dist/src/safety/conseca/policy-generator.js +0 -144
  376. package/packages/core/dist/src/safety/conseca/policy-generator.js.map +0 -1
  377. package/packages/core/dist/src/safety/conseca/policy-generator.test.d.ts +0 -6
  378. package/packages/core/dist/src/safety/conseca/policy-generator.test.js +0 -84
  379. package/packages/core/dist/src/safety/conseca/policy-generator.test.js.map +0 -1
  380. package/packages/core/dist/src/safety/conseca/types.d.ts +0 -15
  381. package/packages/core/dist/src/safety/conseca/types.js +0 -7
  382. package/packages/core/dist/src/safety/conseca/types.js.map +0 -1
  383. package/packages/core/dist/src/telemetry/conseca-logger.d.ts +0 -9
  384. package/packages/core/dist/src/telemetry/conseca-logger.js +0 -91
  385. package/packages/core/dist/src/telemetry/conseca-logger.js.map +0 -1
  386. package/packages/core/dist/src/telemetry/conseca-logger.test.d.ts +0 -6
  387. package/packages/core/dist/src/telemetry/conseca-logger.test.js +0 -89
  388. package/packages/core/dist/src/telemetry/conseca-logger.test.js.map +0 -1
  389. package/packages/core/dist/src/tools/mcpImportTool.d.ts +0 -31
  390. package/packages/core/dist/src/tools/mcpImportTool.js +0 -143
  391. package/packages/core/dist/src/tools/mcpImportTool.js.map +0 -1
  392. package/packages/core/dist/src/utils/contextMemory.d.ts +0 -67
  393. package/packages/core/dist/src/utils/contextMemory.js +0 -493
  394. package/packages/core/dist/src/utils/contextMemory.js.map +0 -1
  395. package/packages/core/dist/src/utils/contextMemory.test.d.ts +0 -6
  396. package/packages/core/dist/src/utils/contextMemory.test.js +0 -183
  397. package/packages/core/dist/src/utils/contextMemory.test.js.map +0 -1
  398. /package/{bundle/docs/core → packages/core/dist/docs/reference}/memport.md +0 -0
  399. /package/{bundle/docs/core → packages/core/dist/docs/reference}/tools-api.md +0 -0
  400. /package/{bundle/docs/cli → packages/core/dist/docs/resources}/uninstall.md +0 -0
@@ -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
+ ```
@@ -1,99 +1,49 @@
1
- # Gemini CLI file system tools
1
+ # File system tools reference
2
2
 
3
- The Gemini CLI provides a comprehensive suite of tools for interacting with the
4
- local file system. These tools allow the Gemini model to read from, write to,
5
- list, search, and modify files and directories, all under your control and
6
- typically with confirmation for sensitive operations.
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.
7
5
 
8
- **Note:** All file system tools operate within a `rootDirectory` (usually the
9
- current working directory where you launched the CLI) for security. Paths that
10
- you provide to these tools are generally expected to be absolute or are resolved
11
- relative to this root directory.
6
+ ## Technical reference
12
7
 
13
- ## 1. `list_directory` (ReadFolder)
8
+ All file system tools operate within a `rootDirectory` (the current working
9
+ directory or workspace root) for security.
14
10
 
15
- `list_directory` lists the names of files and subdirectories directly within a
16
- specified directory path. It can optionally ignore entries matching provided
17
- glob patterns.
11
+ ### `list_directory` (ReadFolder)
12
+
13
+ Lists the names of files and subdirectories directly within a specified path.
18
14
 
19
15
  - **Tool name:** `list_directory`
20
- - **Display name:** ReadFolder
21
- - **File:** `ls.ts`
22
- - **Parameters:**
23
- - `path` (string, required): The absolute path to the directory to list.
24
- - `ignore` (array of strings, optional): A list of glob patterns to exclude
25
- from the listing (e.g., `["*.log", ".git"]`).
26
- - `respect_git_ignore` (boolean, optional): Whether to respect `.gitignore`
27
- patterns when listing files. Defaults to `true`.
28
- - **Behavior:**
29
- - Returns a list of file and directory names.
30
- - Indicates whether each entry is a directory.
31
- - Sorts entries with directories first, then alphabetically.
32
- - **Output (`llmContent`):** A string like:
33
- `Directory listing for /path/to/your/folder:\n[DIR] subfolder1\nfile1.txt\nfile2.png`
34
- - **Confirmation:** No.
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.
35
21
 
36
- ## 2. `read_file` (ReadFile)
22
+ ### `read_file` (ReadFile)
37
23
 
38
- `read_file` reads and returns the content of a specified file. This tool handles
39
- text, images (PNG, JPG, GIF, WEBP, SVG, BMP), audio files (MP3, WAV, AIFF, AAC,
40
- OGG, FLAC), and PDF files. For text files, it can read specific line ranges.
41
- Other binary file types are generally skipped.
24
+ Reads and returns the content of a specific file. Supports text, images, audio,
25
+ and PDF.
42
26
 
43
27
  - **Tool name:** `read_file`
44
- - **Display name:** ReadFile
45
- - **File:** `read-file.ts`
46
- - **Parameters:**
47
- - `path` (string, required): The absolute path to the file to read.
48
- - `offset` (number, optional): For text files, the 0-based line number to
49
- start reading from. Requires `limit` to be set.
50
- - `limit` (number, optional): For text files, the maximum number of lines to
51
- read. If omitted, reads a default maximum (e.g., 2000 lines) or the entire
52
- file if feasible.
53
- - **Behavior:**
54
- - For text files: Returns the content. If `offset` and `limit` are used,
55
- returns only that slice of lines. Indicates if content was truncated due to
56
- line limits or line length limits.
57
- - For image, audio, and PDF files: Returns the file content as a
58
- base64-encoded data structure suitable for model consumption.
59
- - For other binary files: Attempts to identify and skip them, returning a
60
- message indicating it's a generic binary file.
61
- - **Output:** (`llmContent`):
62
- - For text files: The file content, potentially prefixed with a truncation
63
- message (e.g.,
64
- `[File content truncated: showing lines 1-100 of 500 total lines...]\nActual file content...`).
65
- - For image/audio/PDF files: An object containing `inlineData` with `mimeType`
66
- and base64 `data` (e.g.,
67
- `{ inlineData: { mimeType: 'image/png', data: 'base64encodedstring' } }`).
68
- - For other binary files: A message like
69
- `Cannot display content of binary file: /path/to/data.bin`.
70
- - **Confirmation:** No.
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.
71
32
 
72
- ## 3. `write_file` (WriteFile)
33
+ ### `write_file` (WriteFile)
73
34
 
74
- `write_file` writes content to a specified file. If the file exists, it will be
75
- overwritten. If the file doesn't exist, it (and any necessary parent
76
- directories) will be created.
35
+ Writes content to a specified file, overwriting it if it exists or creating it
36
+ if not.
77
37
 
78
38
  - **Tool name:** `write_file`
79
- - **Display name:** WriteFile
80
- - **File:** `write-file.ts`
81
- - **Parameters:**
82
- - `file_path` (string, required): The absolute path to the file to write to.
83
- - `content` (string, required): The content to write into the file.
84
- - **Behavior:**
85
- - Writes the provided `content` to the `file_path`.
86
- - Creates parent directories if they don't exist.
87
- - **Output (`llmContent`):** A success message, e.g.,
88
- `Successfully overwrote file: /path/to/your/file.txt` or
89
- `Successfully created and wrote to new file: /path/to/new/file.txt`.
90
- - **Confirmation:** Yes. Shows a diff of changes and asks for user approval
91
- before writing.
39
+ - **Arguments:**
40
+ - `file_path` (string, required): Path to the file.
41
+ - `content` (string, required): Data to write.
42
+ - **Confirmation:** Requires manual user approval.
92
43
 
93
- ## 4. `glob` (FindFiles)
44
+ ### `glob` (FindFiles)
94
45
 
95
- `glob` finds files matching specific glob patterns (e.g., `src/**/*.ts`,
96
- `*.md`), returning absolute paths sorted by modification time (newest first).
46
+ Finds files matching specific glob patterns across the workspace.
97
47
 
98
48
  - **Tool name:** `glob`
99
49
  - **Display name:** FindFiles
@@ -117,14 +67,13 @@ directories) will be created.
117
67
  `Found 5 file(s) matching "*.ts" within src, sorted by modification time (newest first):\nsrc/file1.ts\nsrc/subdir/file2.ts...`
118
68
  - **Confirmation:** No.
119
69
 
120
- ## 5. `search_file_content` (SearchText)
70
+ ## 5. `grep_search` (SearchText)
121
71
 
122
- `search_file_content` searches for a regular expression pattern within the
123
- content of files in a specified directory. Can filter files by a glob pattern.
124
- Returns the lines containing matches, along with their file paths and line
125
- numbers.
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.
126
75
 
127
- - **Tool name:** `search_file_content`
76
+ - **Tool name:** `grep_search`
128
77
  - **Display name:** SearchText
129
78
  - **File:** `grep.ts`
130
79
  - **Parameters:**
@@ -156,62 +105,25 @@ numbers.
156
105
 
157
106
  ## 6. `replace` (Edit)
158
107
 
159
- `replace` replaces text within a file. By default, replaces a single occurrence,
160
- but can replace multiple occurrences when `expected_replacements` is specified.
161
- This tool is designed for precise, targeted changes and requires significant
162
- context around the `old_string` to ensure it modifies the correct location.
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.
163
113
 
164
114
  - **Tool name:** `replace`
165
- - **Display name:** Edit
166
- - **File:** `edit.ts`
167
- - **Parameters:**
168
- - `file_path` (string, required): The absolute path to the file to modify.
169
- - `old_string` (string, required): The exact literal text to replace.
170
-
171
- **CRITICAL:** This string must uniquely identify the single instance to
172
- change. It should include at least 3 lines of context _before_ and _after_
173
- the target text, matching whitespace and indentation precisely. If
174
- `old_string` is empty, the tool attempts to create a new file at `file_path`
175
- with `new_string` as content.
176
-
177
- - `new_string` (string, required): The exact literal text to replace
178
- `old_string` with.
179
- - `expected_replacements` (number, optional): The number of occurrences to
180
- replace. Defaults to `1`.
181
-
182
- - **Behavior:**
183
- - If `old_string` is empty and `file_path` does not exist, creates a new file
184
- with `new_string` as content.
185
- - If `old_string` is provided, it reads the `file_path` and attempts to find
186
- exactly one occurrence of `old_string`.
187
- - If one occurrence is found, it replaces it with `new_string`.
188
- - **Enhanced reliability (multi-stage edit correction):** To significantly
189
- improve the success rate of edits, especially when the model-provided
190
- `old_string` might not be perfectly precise, the tool incorporates a
191
- multi-stage edit correction mechanism.
192
- - If the initial `old_string` isn't found or matches multiple locations, the
193
- tool can leverage the Gemini model to iteratively refine `old_string` (and
194
- potentially `new_string`).
195
- - This self-correction process attempts to identify the unique segment the
196
- model intended to modify, making the `replace` operation more robust even
197
- with slightly imperfect initial context.
198
- - **Failure conditions:** Despite the correction mechanism, the tool will fail
199
- if:
200
- - `file_path` is not absolute or is outside the root directory.
201
- - `old_string` is not empty, but the `file_path` does not exist.
202
- - `old_string` is empty, but the `file_path` already exists.
203
- - `old_string` is not found in the file after attempts to correct it.
204
- - `old_string` is found multiple times, and the self-correction mechanism
205
- cannot resolve it to a single, unambiguous match.
206
- - **Output (`llmContent`):**
207
- - On success:
208
- `Successfully modified file: /path/to/file.txt (1 replacements).` or
209
- `Created new file: /path/to/new_file.txt with provided content.`
210
- - On failure: An error message explaining the reason (e.g.,
211
- `Failed to edit, 0 occurrences found...`,
212
- `Failed to edit, expected 1 occurrences but found 2...`).
213
- - **Confirmation:** Yes. Shows a diff of the proposed changes and asks for user
214
- approval before writing to the file.
215
-
216
- These file system tools provide a foundation for the Gemini CLI to understand
217
- and interact with your local project context.
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.
@@ -1,98 +1,102 @@
1
1
  # Gemini CLI tools
2
2
 
3
- The Gemini CLI includes built-in tools that the Gemini model uses to interact
4
- with your local environment, access information, and perform actions. These
5
- tools enhance the CLI's capabilities, enabling it to go beyond text generation
6
- and assist with a wide range of tasks.
7
-
8
- ## Overview of Gemini CLI tools
9
-
10
- In the context of the Gemini CLI, tools are specific functions or modules that
11
- the Gemini model can request to be executed. For example, if you ask Gemini to
12
- "Summarize the contents of `my_document.txt`," the model will likely identify
13
- the need to read that file and will request the execution of the `read_file`
14
- tool.
15
-
16
- The core component (`packages/core`) manages these tools, presents their
17
- definitions (schemas) to the Gemini model, executes them when requested, and
18
- returns the results to the model for further processing into a user-facing
19
- response.
20
-
21
- These tools provide the following capabilities:
22
-
23
- - **Access local information:** Tools allow Gemini to access your local file
24
- system, read file contents, list directories, etc.
25
- - **Execute commands:** With tools like `run_shell_command`, Gemini can run
26
- shell commands (with appropriate safety measures and user confirmation).
27
- - **Interact with the web:** Tools can fetch content from URLs.
28
- - **Take actions:** Tools can modify files, write new files, or perform other
29
- actions on your system (again, typically with safeguards).
30
- - **Ground responses:** By using tools to fetch real-time or specific local
31
- data, Gemini's responses can be more accurate, relevant, and grounded in your
32
- actual context.
33
-
34
- ## How to use Gemini CLI tools
35
-
36
- To use Gemini CLI tools, provide a prompt to the Gemini CLI. The process works
37
- as follows:
38
-
39
- 1. You provide a prompt to the Gemini CLI.
40
- 2. The CLI sends the prompt to the core.
41
- 3. The core, along with your prompt and conversation history, sends a list of
42
- available tools and their descriptions/schemas to the Gemini API.
43
- 4. The Gemini model analyzes your request. If it determines that a tool is
44
- needed, its response will include a request to execute a specific tool with
45
- certain parameters.
46
- 5. The core receives this tool request, validates it, and (often after user
47
- confirmation for sensitive operations) executes the tool.
48
- 6. The output from the tool is sent back to the Gemini model.
49
- 7. The Gemini model uses the tool's output to formulate its final answer, which
50
- is then sent back through the core to the CLI and displayed to you.
51
-
52
- You will typically see messages in the CLI indicating when a tool is being
53
- called and whether it succeeded or failed.
3
+ Gemini CLI uses tools to interact with your local environment, access
4
+ information, and perform actions on your behalf. These tools extend the model's
5
+ capabilities beyond text generation, letting it read files, execute commands,
6
+ and search the web.
7
+
8
+ ## User-triggered tools
9
+
10
+ You can directly trigger these tools using special syntax in your prompts.
11
+
12
+ - **[File access](./file-system.md#read_many_files) (`@`):** Use the `@` symbol
13
+ followed by a file or directory path to include its content in your prompt.
14
+ This triggers the `read_many_files` tool.
15
+ - **[Shell commands](./shell.md) (`!`):** Use the `!` symbol followed by a
16
+ system command to execute it directly. This triggers the `run_shell_command`
17
+ tool.
18
+
19
+ ## Model-triggered tools
20
+
21
+ The Gemini model automatically requests these tools when it needs to perform
22
+ specific actions or gather information to fulfill your requests. You do not call
23
+ these tools manually.
24
+
25
+ ### File management
26
+
27
+ These tools let the model explore and modify your local codebase.
28
+
29
+ - **[Directory listing](./file-system.md#list_directory) (`list_directory`):**
30
+ Lists files and subdirectories.
31
+ - **[File reading](./file-system.md#read_file) (`read_file`):** Reads the
32
+ content of a specific file.
33
+ - **[File writing](./file-system.md#write_file) (`write_file`):** Creates or
34
+ overwrites a file with new content.
35
+ - **[File search](./file-system.md#glob) (`glob`):** Finds files matching a glob
36
+ pattern.
37
+ - **[Text search](./file-system.md#search_file_content)
38
+ (`search_file_content`):** Searches for text within files using grep or
39
+ ripgrep.
40
+ - **[Text replacement](./file-system.md#replace) (`replace`):** Performs precise
41
+ edits within a file.
42
+
43
+ ### Agent coordination
44
+
45
+ These tools help the model manage its plan and interact with you.
46
+
47
+ - **Ask user (`ask_user`):** Requests clarification or missing information from
48
+ you via an interactive dialog.
49
+ - **[Memory](./memory.md) (`save_memory`):** Saves important facts to your
50
+ long-term memory (`GEMINI.md`).
51
+ - **[Todos](./todos.md) (`write_todos`):** Manages a list of subtasks for
52
+ complex plans.
53
+ - **[Agent Skills](../cli/skills.md) (`activate_skill`):** Loads specialized
54
+ procedural expertise when needed.
55
+ - **Internal docs (`get_internal_docs`):** Accesses Gemini CLI's own
56
+ documentation to help answer your questions.
57
+
58
+ ### Information gathering
59
+
60
+ These tools provide the model with access to external data.
61
+
62
+ - **[Web fetch](./web-fetch.md) (`web_fetch`):** Retrieves and processes content
63
+ from specific URLs.
64
+ - **[Web search](./web-search.md) (`google_web_search`):** Performs a Google
65
+ Search to find up-to-date information.
66
+
67
+ ## How to use tools
68
+
69
+ You use tools indirectly by providing natural language prompts to Gemini CLI.
70
+
71
+ 1. **Prompt:** You enter a request or use syntax like `@` or `!`.
72
+ 2. **Request:** The model analyzes your request and identifies if a tool is
73
+ required.
74
+ 3. **Validation:** If a tool is needed, the CLI validates the parameters and
75
+ checks your security settings.
76
+ 4. **Confirmation:** For sensitive operations (like writing files), the CLI
77
+ prompts you for approval.
78
+ 5. **Execution:** The tool runs, and its output is sent back to the model.
79
+ 6. **Response:** The model uses the results to generate a final, grounded
80
+ answer.
54
81
 
55
82
  ## Security and confirmation
56
83
 
57
- Many tools, especially those that can modify your file system or execute
58
- commands (`write_file`, `edit`, `run_shell_command`), are designed with safety
59
- in mind. The Gemini CLI will typically:
60
-
61
- - **Require confirmation:** Prompt you before executing potentially sensitive
62
- operations, showing you what action is about to be taken.
63
- - **Utilize sandboxing:** All tools are subject to restrictions enforced by
64
- sandboxing (see [Sandboxing in the Gemini CLI](../cli/sandbox.md)). This means
65
- that when operating in a sandbox, any tools (including MCP servers) you wish
66
- to use must be available _inside_ the sandbox environment. For example, to run
67
- an MCP server through `npx`, the `npx` executable must be installed within the
68
- sandbox's Docker image or be available in the `sandbox-exec` environment.
69
-
70
- It's important to always review confirmation prompts carefully before allowing a
71
- tool to proceed.
72
-
73
- ## Learn more about Gemini CLI's tools
74
-
75
- Gemini CLI's built-in tools can be broadly categorized as follows:
76
-
77
- - **[File System Tools](./file-system.md):** For interacting with files and
78
- directories (reading, writing, listing, searching, etc.).
79
- - **[Shell Tool](./shell.md) (`run_shell_command`):** For executing shell
80
- commands.
81
- - **[Web Fetch Tool](./web-fetch.md) (`web_fetch`):** For retrieving content
82
- from URLs.
83
- - **[Web Search Tool](./web-search.md) (`google_web_search`):** For searching
84
- the web.
85
- - **[Memory Tool](./memory.md) (`save_memory`):** For saving and recalling
86
- information across sessions.
87
- - **[Todo Tool](./todos.md) (`write_todos`):** For managing subtasks of complex
88
- requests.
89
-
90
- Additionally, these tools incorporate:
91
-
92
- - **[MCP servers](./mcp-server.md)**: MCP servers act as a bridge between the
93
- Gemini model and your local environment or other services like APIs.
94
- - **[Agent Skills](../cli/skills.md)**: On-demand expertise packages that are
95
- activated via the `activate_skill` tool to provide specialized guidance and
96
- resources.
97
- - **[Sandboxing](../cli/sandbox.md)**: Sandboxing isolates the model and its
98
- changes from your environment to reduce potential risk.
84
+ Safety is a core part of the tool system. To protect your system, Gemini CLI
85
+ implements several safeguards.
86
+
87
+ - **User confirmation:** You must manually approve tools that modify files or
88
+ execute shell commands. The CLI shows you a diff or the exact command before
89
+ you confirm.
90
+ - **Sandboxing:** You can run tool executions in secure, containerized
91
+ environments to isolate changes from your host system. For more details, see
92
+ the [Sandboxing](../cli/sandbox.md) guide.
93
+ - **Trusted folders:** You can configure which directories allow the model to
94
+ use system tools.
95
+
96
+ Always review confirmation prompts carefully before allowing a tool to execute.
97
+
98
+ ## Next steps
99
+
100
+ - Learn how to [Provide context](../cli/gemini-md.md) to guide tool use.
101
+ - Explore the [Command reference](../reference/commands.md) for tool-related
102
+ slash commands.
@@ -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.