diff --git a/analysis/memory.md b/analysis/memory.md index 1347222..b859233 100644 --- a/analysis/memory.md +++ b/analysis/memory.md @@ -261,7 +261,7 @@ Structured task planning with cognitive forcing - requires happy/negative/bounda - `crates/g3-core/src/tool_definitions.rs` [263..330] - plan.read, plan.write, plan.approve definitions - `crates/g3-core/src/tool_dispatch.rs` [36..38] - dispatch cases for plan tools -- `crates/g3-cli/src/commands.rs` [460..490] - `/feature` command starts Plan Mode +- `crates/g3-cli/src/commands.rs` [460..490] - `/plan` command starts Plan Mode - `crates/g3-core/src/prompts.rs` [21..130] - SHARED_PLAN_SECTION replaces TODO section **Plan Schema (YAML)**: @@ -282,7 +282,7 @@ items: notes: Implementation explanation # required when done ``` -**Workflow**: `/feature ` → agent drafts plan → user approves → agent implements → plan_verify() called when complete +**Workflow**: `/plan ` → agent drafts plan → user approves → agent implements → plan_verify() called when complete ### Plan Mode Tool Names (IMPORTANT) Tool names must use underscores, not dots (Anthropic API restriction: `^[a-zA-Z0-9_-]{1,128}$`). diff --git a/crates/g3-cli/src/commands.rs b/crates/g3-cli/src/commands.rs index 5f5e738..bcd2efd 100644 --- a/crates/g3-cli/src/commands.rs +++ b/crates/g3-cli/src/commands.rs @@ -74,7 +74,7 @@ pub async fn handle_command( output.print(" /readme - Reload README.md and AGENTS.md from disk"); output.print(" /stats - Show detailed context and performance statistics"); output.print(" /run - Read file and execute as prompt"); - output.print(" /feature - Start Plan Mode for a new feature"); + output.print(" /plan - Start Plan Mode for a new feature"); output.print(" /help - Show this help message"); output.print(" exit/quit - Exit the interactive session"); output.print(""); @@ -453,16 +453,16 @@ pub async fn handle_command( } Ok(true) } - cmd if cmd.starts_with("/feature") => { + cmd if cmd.starts_with("/plan") => { let parts: Vec<&str> = cmd.splitn(2, ' ').collect(); if parts.len() < 2 || parts[1].trim().is_empty() { - output.print("Usage: /feature "); + output.print("Usage: /plan "); output.print("Starts Plan Mode for a new feature. The agent will:"); output.print(" 1. Research and draft a Plan with checks (happy/negative/boundary)"); output.print(" 2. Ask clarifying questions if needed"); output.print(" 3. Request approval before coding"); output.print(""); - output.print("Example: /feature Add CSV import for comic book metadata"); + output.print("Example: /plan Add CSV import for comic book metadata"); } else { let feature_description = parts[1].trim();