@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,105 @@
1
+ # Set up an MCP server
2
+
3
+ Connect Gemini CLI to your external databases and services. In this guide,
4
+ you'll learn how to extend Gemini CLI's capabilities by installing the GitHub
5
+ MCP server and using it to manage your repositories.
6
+
7
+ ## Prerequisites
8
+
9
+ - Gemini CLI installed.
10
+ - **Docker:** Required for this specific example (many MCP servers run as Docker
11
+ containers).
12
+ - **GitHub token:** A Personal Access Token (PAT) with repo permissions.
13
+
14
+ ## How to prepare your credentials
15
+
16
+ Most MCP servers require authentication. For GitHub, you need a PAT.
17
+
18
+ 1. Create a [fine-grained PAT](https://github.com/settings/tokens?type=beta).
19
+ 2. Grant it **Read** access to **Metadata** and **Contents**, and
20
+ **Read/Write** access to **Issues** and **Pull Requests**.
21
+ 3. Store it in your environment:
22
+
23
+ ```bash
24
+ export GITHUB_PERSONAL_ACCESS_TOKEN="github_pat_..."
25
+ ```
26
+
27
+ ## How to configure Gemini CLI
28
+
29
+ You tell Gemini about new servers by editing your `settings.json`.
30
+
31
+ 1. Open `~/.gemini/settings.json` (or the project-specific
32
+ `.gemini/settings.json`).
33
+ 2. Add the `mcpServers` block. This tells Gemini: "Run this docker container
34
+ and talk to it."
35
+
36
+ ```json
37
+ {
38
+ "mcpServers": {
39
+ "github": {
40
+ "command": "docker",
41
+ "args": [
42
+ "run",
43
+ "-i",
44
+ "--rm",
45
+ "-e",
46
+ "GITHUB_PERSONAL_ACCESS_TOKEN",
47
+ "ghcr.io/modelcontextprotocol/servers/github:latest"
48
+ ],
49
+ "env": {
50
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
51
+ }
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ > **Note:** The `command` is `docker`, and the rest are arguments passed to it.
58
+ > We map the local environment variable into the container so your secret isn't
59
+ > hardcoded in the config file.
60
+
61
+ ## How to verify the connection
62
+
63
+ Restart Gemini CLI. It will automatically try to start the defined servers.
64
+
65
+ **Command:** `/mcp list`
66
+
67
+ You should see: `✓ github: docker ... - Connected`
68
+
69
+ If you see `Disconnected` or an error, check that Docker is running and your API
70
+ token is valid.
71
+
72
+ ## How to use the new tools
73
+
74
+ Now that the server is running, the agent has new capabilities ("tools"). You
75
+ don't need to learn special commands; just ask in natural language.
76
+
77
+ ### Scenario: Listing pull requests
78
+
79
+ **Prompt:** `List the open PRs in the google/gemini-cli repository.`
80
+
81
+ The agent will:
82
+
83
+ 1. Recognize the request matches a GitHub tool.
84
+ 2. Call `github_list_pull_requests`.
85
+ 3. Present the data to you.
86
+
87
+ ### Scenario: Creating an issue
88
+
89
+ **Prompt:**
90
+ `Create an issue in my repo titled "Bug: Login fails" with the description "See logs".`
91
+
92
+ ## Troubleshooting
93
+
94
+ - **Server won't start?** Try running the docker command manually in your
95
+ terminal to see if it prints an error (e.g., "image not found").
96
+ - **Tools not found?** Run `/mcp refresh` to force the CLI to re-query the
97
+ server for its capabilities.
98
+
99
+ ## Next steps
100
+
101
+ - Explore the [MCP servers reference](../../tools/mcp-server.md) to learn about
102
+ SSE and HTTP transports for remote servers.
103
+ - Browse the
104
+ [official MCP server list](https://github.com/modelcontextprotocol/servers) to
105
+ find connectors for Slack, Postgres, Google Drive, and more.
@@ -0,0 +1,126 @@
1
+ # Manage context and memory
2
+
3
+ Control what Gemini CLI knows about you and your projects. In this guide, you'll
4
+ learn how to define project-wide rules with `GEMINI.md`, teach the agent
5
+ persistent facts, and inspect the active context.
6
+
7
+ ## Prerequisites
8
+
9
+ - Gemini CLI installed and authenticated.
10
+ - A project directory where you want to enforce specific rules.
11
+
12
+ ## Why manage context?
13
+
14
+ Out of the box, Gemini CLI is smart but generic. It doesn't know your preferred
15
+ testing framework, your indentation style, or that you hate using `any` in
16
+ TypeScript. Context management solves this by giving the agent persistent
17
+ memory.
18
+
19
+ You'll use these features when you want to:
20
+
21
+ - **Enforce standards:** Ensure every generated file matches your team's style
22
+ guide.
23
+ - **Set a persona:** Tell the agent to act as a "Senior Rust Engineer" or "QA
24
+ Specialist."
25
+ - **Remember facts:** Save details like "My database port is 5432" so you don't
26
+ have to repeat them.
27
+
28
+ ## How to define project-wide rules (GEMINI.md)
29
+
30
+ The most powerful way to control the agent's behavior is through `GEMINI.md`
31
+ files. These are Markdown files containing instructions that are automatically
32
+ loaded into every conversation.
33
+
34
+ ### Scenario: Create a project context file
35
+
36
+ 1. In the root of your project, create a file named `GEMINI.md`.
37
+
38
+ 2. Add your instructions:
39
+
40
+ ```markdown
41
+ # Project Instructions
42
+
43
+ - **Framework:** We use React with Vite.
44
+ - **Styling:** Use Tailwind CSS for all styling. Do not write custom CSS.
45
+ - **Testing:** All new components must include a Vitest unit test.
46
+ - **Tone:** Be concise. Don't explain basic React concepts.
47
+ ```
48
+
49
+ 3. Start a new session. Gemini CLI will now know these rules automatically.
50
+
51
+ ### Scenario: Using the hierarchy
52
+
53
+ Context is loaded hierarchically. This allows you to have general rules for
54
+ everything and specific rules for sub-projects.
55
+
56
+ 1. **Global:** `~/.gemini/GEMINI.md` (Rules for _every_ project you work on).
57
+ 2. **Project Root:** `./GEMINI.md` (Rules for the current repository).
58
+ 3. **Subdirectory:** `./src/GEMINI.md` (Rules specific to the `src` folder).
59
+
60
+ **Example:** You might set "Always use strict typing" in your global config, but
61
+ "Use Python 3.11" only in your backend repository.
62
+
63
+ ## How to teach the agent facts (Memory)
64
+
65
+ Sometimes you don't want to write a config file. You just want to tell the agent
66
+ something once and have it remember forever. You can do this naturally in chat.
67
+
68
+ ### Scenario: Saving a memory
69
+
70
+ Just tell the agent to remember something.
71
+
72
+ **Prompt:** `Remember that I prefer using 'const' over 'let' wherever possible.`
73
+
74
+ The agent will use the `save_memory` tool to store this fact in your global
75
+ memory file.
76
+
77
+ **Prompt:** `Save the fact that the staging server IP is 10.0.0.5.`
78
+
79
+ ### Scenario: Using memory in conversation
80
+
81
+ Once a fact is saved, you don't need to invoke it explicitly. The agent "knows"
82
+ it.
83
+
84
+ **Next Prompt:** `Write a script to deploy to staging.`
85
+
86
+ **Agent Response:** "I'll write a script to deploy to **10.0.0.5**..."
87
+
88
+ ## How to manage and inspect context
89
+
90
+ As your project grows, you might want to see exactly what instructions the agent
91
+ is following.
92
+
93
+ ### Scenario: View active context
94
+
95
+ To see the full, concatenated set of instructions currently loaded (from all
96
+ `GEMINI.md` files and saved memories), use the `/memory show` command.
97
+
98
+ **Command:** `/memory show`
99
+
100
+ This prints the raw text the model receives at the start of the session. It's
101
+ excellent for debugging why the agent might be ignoring a rule.
102
+
103
+ ### Scenario: Refresh context
104
+
105
+ If you edit a `GEMINI.md` file while a session is running, the agent won't know
106
+ immediately. Force a reload with:
107
+
108
+ **Command:** `/memory refresh`
109
+
110
+ ## Best practices
111
+
112
+ - **Keep it focused:** Don't dump your entire internal wiki into `GEMINI.md`.
113
+ Keep instructions actionable and relevant to code generation.
114
+ - **Use negative constraints:** Explicitly telling the agent what _not_ to do
115
+ (e.g., "Do not use class components") is often more effective than vague
116
+ positive instructions.
117
+ - **Review often:** Periodically check your `GEMINI.md` files to remove outdated
118
+ rules.
119
+
120
+ ## Next steps
121
+
122
+ - Learn about [Session management](session-management.md) to see how short-term
123
+ history works.
124
+ - Explore the [Command reference](../../reference/commands.md) for more
125
+ `/memory` options.
126
+ - Read the technical spec for [Project context](../../cli/gemini-md.md).
@@ -0,0 +1,105 @@
1
+ # Manage sessions and history
2
+
3
+ Resume, browse, and rewind your conversations with Gemini CLI. In this guide,
4
+ you'll learn how to switch between tasks, manage your session history, and undo
5
+ mistakes using the rewind feature.
6
+
7
+ ## Prerequisites
8
+
9
+ - Gemini CLI installed and authenticated.
10
+ - At least one active or past session.
11
+
12
+ ## How to resume where you left off
13
+
14
+ It's common to switch context—maybe you're waiting for a build and want to work
15
+ on a different feature. Gemini makes it easy to jump back in.
16
+
17
+ ### Scenario: Resume the last session
18
+
19
+ The fastest way to pick up your most recent work is with the `--resume` flag (or
20
+ `-r`).
21
+
22
+ ```bash
23
+ gemini -r
24
+ ```
25
+
26
+ This restores your chat history and memory, so you can say "Continue with the
27
+ next step" immediately.
28
+
29
+ ### Scenario: Browse past sessions
30
+
31
+ If you want to find a specific conversation from yesterday, use the interactive
32
+ browser.
33
+
34
+ **Command:** `/resume`
35
+
36
+ This opens a searchable list of all your past sessions. You'll see:
37
+
38
+ - A timestamp (e.g., "2 hours ago").
39
+ - The first user message (helping you identify the topic).
40
+ - The number of turns in the conversation.
41
+
42
+ Select a session and press **Enter** to load it.
43
+
44
+ ## How to manage your workspace
45
+
46
+ Over time, you'll accumulate a lot of history. Keeping your session list clean
47
+ helps you find what you need.
48
+
49
+ ### Scenario: Deleting sessions
50
+
51
+ In the `/resume` browser, navigate to a session you no longer need and press
52
+ **x**. This permanently deletes the history for that specific conversation.
53
+
54
+ You can also manage sessions from the command line:
55
+
56
+ ```bash
57
+ # List all sessions with their IDs
58
+ gemini --list-sessions
59
+
60
+ # Delete a specific session by ID or index
61
+ gemini --delete-session 1
62
+ ```
63
+
64
+ ## How to rewind time (Undo mistakes)
65
+
66
+ Gemini CLI's **Rewind** feature is like `Ctrl+Z` for your workflow.
67
+
68
+ ### Scenario: Triggering rewind
69
+
70
+ At any point in a chat, type `/rewind` or press **Esc** twice.
71
+
72
+ ### Scenario: Choosing a restore point
73
+
74
+ You'll see a list of your recent interactions. Select the point _before_ the
75
+ undesired changes occurred.
76
+
77
+ ### Scenario: Choosing what to revert
78
+
79
+ Gemini gives you granular control over the undo process. You can choose to:
80
+
81
+ 1. **Rewind conversation:** Only remove the chat history. The files stay
82
+ changed. (Useful if the code is good but the chat got off track).
83
+ 2. **Revert code changes:** Keep the chat history but undo the file edits.
84
+ (Useful if you want to keep the context but retry the implementation).
85
+ 3. **Rewind both:** Restore everything to exactly how it was.
86
+
87
+ ## How to fork conversations
88
+
89
+ Sometimes you want to try two different approaches to the same problem.
90
+
91
+ 1. Start a session and get to a decision point.
92
+ 2. Save the current state with `/chat save decision-point`.
93
+ 3. Try your first approach.
94
+ 4. Later, use `/chat resume decision-point` to fork the conversation back to
95
+ that moment and try a different approach.
96
+
97
+ This creates a new branch of history without losing your original work.
98
+
99
+ ## Next steps
100
+
101
+ - Learn about [Checkpointing](../../cli/checkpointing.md) to understand the
102
+ underlying safety mechanism.
103
+ - Explore [Task planning](task-planning.md) to keep complex sessions organized.
104
+ - See the [Command reference](../../reference/commands.md) for all `/chat` and
105
+ `/resume` options.
@@ -0,0 +1,107 @@
1
+ # Execute shell commands
2
+
3
+ Use the CLI to run builds, manage git, and automate system tasks without leaving
4
+ the conversation. In this guide, you'll learn how to run commands directly,
5
+ automate complex workflows, and manage background processes safely.
6
+
7
+ ## Prerequisites
8
+
9
+ - Gemini CLI installed and authenticated.
10
+ - Basic familiarity with your system's shell (Bash, Zsh, PowerShell, etc.).
11
+
12
+ ## How to run commands directly (`!`)
13
+
14
+ Sometimes you just need to check a file size or git status without asking the AI
15
+ to do it for you. You can pass commands directly to your shell using the `!`
16
+ prefix.
17
+
18
+ **Example:** `!ls -la`
19
+
20
+ This executes `ls -la` immediately and prints the output to your terminal. The
21
+ AI doesn't "see" this output unless you paste it back into the chat or use it in
22
+ a prompt.
23
+
24
+ ### Scenario: Entering Shell mode
25
+
26
+ If you're doing a lot of manual work, toggle "Shell Mode" by typing `!` and
27
+ pressing **Enter**. Now, everything you type is sent to the shell until you exit
28
+ (usually by pressing **Esc** or typing `exit`).
29
+
30
+ ## How to automate complex tasks
31
+
32
+ You can automate tasks using a combination of Gemini CLI and shell commands.
33
+
34
+ ### Scenario: Run tests and fix failures
35
+
36
+ You want to run tests and fix any failures.
37
+
38
+ **Prompt:**
39
+ `Run the unit tests. If any fail, analyze the error and try to fix the code.`
40
+
41
+ **Workflow:**
42
+
43
+ 1. Gemini calls `run_shell_command('npm test')`.
44
+ 2. You see a confirmation prompt: `Allow command 'npm test'? [y/N]`.
45
+ 3. You press `y`.
46
+ 4. The tests run. If they fail, Gemini reads the error output.
47
+ 5. Gemini uses `read_file` to inspect the failing test.
48
+ 6. Gemini uses `replace` to fix the bug.
49
+ 7. Gemini runs `npm test` again to verify the fix.
50
+
51
+ This loop turns Gemini into an autonomous engineer.
52
+
53
+ ## How to manage background processes
54
+
55
+ You can ask Gemini to start long-running tasks, like development servers or file
56
+ watchers.
57
+
58
+ **Prompt:** `Start the React dev server in the background.`
59
+
60
+ Gemini will run the command (e.g., `npm run dev`) and detach it.
61
+
62
+ ### Scenario: Viewing active shells
63
+
64
+ To see what's running in the background, use the `/shells` command.
65
+
66
+ **Command:** `/shells`
67
+
68
+ This opens a dashboard where you can view logs or kill runaway processes.
69
+
70
+ ## How to handle interactive commands
71
+
72
+ Gemini CLI attempts to handle interactive commands (like `git add -p` or
73
+ confirmation prompts) by streaming the output to you. However, for highly
74
+ interactive tools (like `vim` or `top`), it's often better to run them yourself
75
+ in a separate terminal window or use the `!` prefix.
76
+
77
+ ## Safety first
78
+
79
+ Giving an AI access to your shell is powerful but risky. Gemini CLI includes
80
+ several safety layers.
81
+
82
+ ### Confirmation prompts
83
+
84
+ By default, **every** shell command requested by the agent requires your
85
+ explicit approval.
86
+
87
+ - **Allow once:** Runs the command one time.
88
+ - **Allow always:** Trusts this specific command for the rest of the session.
89
+ - **Deny:** Stops the agent.
90
+
91
+ ### Sandboxing
92
+
93
+ For maximum security, especially when running untrusted code or exploring new
94
+ projects, we strongly recommend enabling Sandboxing. This runs all shell
95
+ commands inside a secure Docker container.
96
+
97
+ **Enable sandboxing:** Use the `--sandbox` flag when starting the CLI:
98
+ `gemini --sandbox`.
99
+
100
+ ## Next steps
101
+
102
+ - Learn about [Sandboxing](../../cli/sandbox.md) to safely run destructive
103
+ commands.
104
+ - See the [Shell tool reference](../../tools/shell.md) for configuration options
105
+ like timeouts and working directories.
106
+ - Explore [Task planning](task-planning.md) to see how shell commands fit into
107
+ larger workflows.
@@ -1,23 +1,27 @@
1
- # Getting Started with Agent Skills
1
+ # Get started with Agent Skills
2
2
 
3
- Agent Skills allow you to extend Gemini CLI with specialized expertise. This
4
- tutorial will guide you through creating your first skill and using it in a
5
- session.
3
+ Agent Skills extend Gemini CLI with specialized expertise. In this guide, you'll
4
+ learn how to create your first skill, bundle custom scripts, and activate them
5
+ during a session.
6
6
 
7
- ## 1. Create your first skill
7
+ ## How to create a skill
8
8
 
9
- A skill is a directory containing a `SKILL.md` file. Let's create an **API
10
- Auditor** skill that helps you verify if local or remote endpoints are
9
+ A skill is defined by a directory containing a `SKILL.md` file. Let's create an
10
+ **API Auditor** skill that helps you verify if local or remote endpoints are
11
11
  responding correctly.
12
12
 
13
- 1. **Create the skill directory structure:**
13
+ ### Create the directory structure
14
+
15
+ 1. Run the following command to create the folders:
14
16
 
15
17
  ```bash
16
18
  mkdir -p .gemini/skills/api-auditor/scripts
17
19
  ```
18
20
 
19
- 2. **Create the `SKILL.md` file:** Create a file at
20
- `.gemini/skills/api-auditor/SKILL.md` with the following content:
21
+ ### Create the definition
22
+
23
+ 1. Create a file at `.gemini/skills/api-auditor/SKILL.md`. This tells the agent
24
+ _when_ to use the skill and _how_ to behave.
21
25
 
22
26
  ```markdown
23
27
  ---
@@ -40,9 +44,12 @@ responding correctly.
40
44
  without an `https://` protocol.
41
45
  ```
42
46
 
43
- 3. **Create the bundled Node.js script:** Create a file at
44
- `.gemini/skills/api-auditor/scripts/audit.js`. This script will be used by
45
- the agent to perform the actual check:
47
+ ### Add the tool logic
48
+
49
+ Skills can bundle resources like scripts.
50
+
51
+ 1. Create a file at `.gemini/skills/api-auditor/scripts/audit.js`. This is the
52
+ code the agent will run.
46
53
 
47
54
  ```javascript
48
55
  // .gemini/skills/api-auditor/scripts/audit.js
@@ -59,39 +66,37 @@ responding correctly.
59
66
  .catch((e) => console.error(`Result: Failed (${e.message})`));
60
67
  ```
61
68
 
62
- ## 2. Verify the skill is discovered
63
-
64
- Use the `/skills` slash command (or `gemini skills list` from your terminal) to
65
- see if Gemini CLI has found your new skill.
69
+ ## How to verify discovery
66
70
 
67
- In a Gemini CLI session:
71
+ Gemini CLI automatically discovers skills in the `.gemini/skills` directory. You
72
+ can also use `.agents/skills` as a more generic alternative. Check that it found
73
+ your new skill.
68
74
 
69
- ```
70
- /skills list
71
- ```
75
+ **Command:** `/skills list`
72
76
 
73
77
  You should see `api-auditor` in the list of available skills.
74
78
 
75
- ## 3. Use the skill in a chat
79
+ ## How to use the skill
76
80
 
77
- Now, let's see the skill in action. Start a new session and ask a question about
78
- an endpoint.
81
+ Now, try it out. Start a new session and ask a question that triggers the
82
+ skill's description.
79
83
 
80
- **User:** "Can you audit http://geminili.com"
84
+ **User:** "Can you audit http://geminicli.com"
81
85
 
82
- Gemini will recognize the request matches the `api-auditor` description and will
83
- ask for your permission to activate it.
86
+ Gemini recognizes the request matches the `api-auditor` description and asks for
87
+ permission to activate it.
84
88
 
85
89
  **Model:** (After calling `activate_skill`) "I've activated the **api-auditor**
86
90
  skill. I'll run the audit script now..."
87
91
 
88
- Gemini will then use the `run_shell_command` tool to execute your bundled Node
92
+ Gemini then uses the `run_shell_command` tool to execute your bundled Node
89
93
  script:
90
94
 
91
95
  `node .gemini/skills/api-auditor/scripts/audit.js http://geminili.com`
92
96
 
93
- ## Next Steps
97
+ ## Next steps
94
98
 
95
- - Explore [Agent Skills Authoring Guide](../skills.md#creating-a-skill) to learn
96
- about more advanced skill features.
99
+ - Explore the
100
+ [Agent Skills Authoring Guide](../../cli/skills.md#creating-a-skill) to learn
101
+ about more advanced features.
97
102
  - Learn how to share skills via [Extensions](../../extensions/index.md).
@@ -0,0 +1,93 @@
1
+ # Plan tasks with todos
2
+
3
+ Keep complex jobs on the rails with Gemini CLI's built-in task planning. In this
4
+ guide, you'll learn how to ask for a plan, execute it step-by-step, and monitor
5
+ progress with the todo list.
6
+
7
+ ## Prerequisites
8
+
9
+ - Gemini CLI installed and authenticated.
10
+ - A complex task in mind (e.g., a multi-file refactor or new feature).
11
+
12
+ ## Why use task planning?
13
+
14
+ Standard LLMs have a limited context window and can "forget" the original goal
15
+ after 10 turns of code generation. Task planning provides:
16
+
17
+ 1. **Visibility:** You see exactly what the agent plans to do _before_ it
18
+ starts.
19
+ 2. **Focus:** The agent knows exactly which step it's working on right now.
20
+ 3. **Resilience:** If the agent gets stuck, the plan helps it get back on
21
+ track.
22
+
23
+ ## How to ask for a plan
24
+
25
+ The best way to trigger task planning is to explicitly ask for it.
26
+
27
+ **Prompt:**
28
+ `I want to migrate this project from JavaScript to TypeScript. Please make a plan first.`
29
+
30
+ Gemini will analyze your codebase and use the `write_todos` tool to generate a
31
+ structured list.
32
+
33
+ **Example Plan:**
34
+
35
+ 1. [ ] Create `tsconfig.json`.
36
+ 2. [ ] Rename `.js` files to `.ts`.
37
+ 3. [ ] Fix type errors in `utils.js`.
38
+ 4. [ ] Fix type errors in `server.js`.
39
+ 5. [ ] Verify build passes.
40
+
41
+ ## How to review and iterate
42
+
43
+ Once the plan is generated, it appears in your CLI. Review it.
44
+
45
+ - **Missing steps?** Tell the agent: "You forgot to add a step for installing
46
+ `@types/node`."
47
+ - **Wrong order?** Tell the agent: "Let's verify the build _after_ each file,
48
+ not just at the end."
49
+
50
+ The agent will update the todo list dynamically.
51
+
52
+ ## How to execute the plan
53
+
54
+ Tell the agent to proceed.
55
+
56
+ **Prompt:** `Looks good. Start with the first step.`
57
+
58
+ As the agent works, you'll see the todo list update in real-time above the input
59
+ box.
60
+
61
+ - **Current focus:** The active task is highlighted (e.g.,
62
+ `[IN_PROGRESS] Create tsconfig.json`).
63
+ - **Progress:** Completed tasks are marked as done.
64
+
65
+ ## How to monitor progress (`Ctrl+T`)
66
+
67
+ For a long-running task, the full todo list might be hidden to save space. You
68
+ can toggle the full view at any time.
69
+
70
+ **Action:** Press **Ctrl+T**.
71
+
72
+ This shows the complete list, including pending, in-progress, and completed
73
+ items. It's a great way to check "how much is left?" without scrolling back up.
74
+
75
+ ## How to handle unexpected changes
76
+
77
+ Plans change. Maybe you discover a library is incompatible halfway through.
78
+
79
+ **Prompt:**
80
+ `Actually, let's skip the 'server.js' refactor for now. It's too risky.`
81
+
82
+ The agent will mark that task as `cancelled` or remove it, and move to the next
83
+ item. This dynamic adjustment is what makes the todo system powerful—it's a
84
+ living document, not a static text block.
85
+
86
+ ## Next steps
87
+
88
+ - Explore [Session management](session-management.md) to save your plan and
89
+ finish it tomorrow.
90
+ - See the [Todo tool reference](../../tools/todos.md) for technical schema
91
+ details.
92
+ - Learn about [Memory management](memory-management.md) to persist planning
93
+ preferences (e.g., "Always create a test plan first").