|
Download docs/tools/planning.md from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 2.64 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/docs/tools/planning.md
- Command line
-
hf download hf://SaylorTwift/gemini-cli/docs/tools/planning.md
-
curl -L -o planning.md https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/docs/tools/planning.md
2.64 kB
| # Gemini CLI planning tools | |
| Planning tools let Gemini CLI switch into a safe, read-only "Plan Mode" for | |
| researching and planning complex changes, and to signal the finalization of a | |
| plan to the user. | |
| ## 1. `enter_plan_mode` (EnterPlanMode) | |
| `enter_plan_mode` switches the CLI to Plan Mode. This tool is typically called | |
| by the agent when you ask it to "start a plan" using natural language. In this | |
| mode, the agent is restricted to read-only tools to allow for safe exploration | |
| and planning. | |
| <!-- prettier-ignore --> | |
| > [!NOTE] | |
| > This tool is not available when the CLI is in YOLO mode. | |
| - **Tool name:** `enter_plan_mode` | |
| - **Display name:** Enter Plan Mode | |
| - **File:** `enter-plan-mode.ts` | |
| - **Parameters:** | |
| - `reason` (string, optional): A short reason explaining why the agent is | |
| entering plan mode (for example, "Starting a complex feature | |
| implementation"). | |
| - **Behavior:** | |
| - Switches the CLI's approval mode to `PLAN`. | |
| - Notifies the user that the agent has entered Plan Mode. | |
| - **Output (`llmContent`):** A message indicating the switch, for example, | |
| `Switching to Plan mode.` | |
| - **Confirmation:** Yes. The user is prompted to confirm entering Plan Mode. | |
| ## 2. `exit_plan_mode` (ExitPlanMode) | |
| `exit_plan_mode` signals that the planning phase is complete. It presents the | |
| finalized plan to the user and requests formal approval to start the | |
| implementation. The agent MUST reach an informal agreement with the user in the | |
| chat regarding the proposed strategy BEFORE calling this tool. | |
| - **Tool name:** `exit_plan_mode` | |
| - **Display name:** Exit Plan Mode | |
| - **File:** `exit-plan-mode.ts` | |
| - **Parameters:** | |
| - `plan_path` (string, required): The path to the finalized Markdown plan | |
| file. This file MUST be located within the project's temporary plans | |
| directory (for example, `~/.gemini/tmp/<project>/plans/`). | |
| - **Behavior:** | |
| - Validates that the `plan_path` is within the allowed directory and that the | |
| file exists and has content. | |
| - Presents the plan to the user for formal review. | |
| - If the user approves the plan: | |
| - Switches the CLI's approval mode to the user's chosen approval mode ( | |
| `DEFAULT` or `AUTO_EDIT`). | |
| - Marks the plan as approved for implementation. | |
| - If the user rejects the plan: | |
| - Stays in Plan Mode. | |
| - Returns user feedback to the model to refine the plan. | |
| - **Output (`llmContent`):** | |
| - On approval: A message indicating the plan was approved and the new approval | |
| mode. | |
| - On rejection: A message containing the user's feedback. | |
| - **Confirmation:** Yes. Shows the finalized plan and asks for user formal | |
| approval to proceed with implementation. | |