From c3c21c696df372a4b6f4b6400a7f30773f23bc71 Mon Sep 17 00:00:00 2001 From: cte Date: Thu, 8 Jan 2026 00:17:27 -0800 Subject: [PATCH] Update README --- apps/cli/README.md | 85 +++++++++++++++------------------------------- 1 file changed, 27 insertions(+), 58 deletions(-) diff --git a/apps/cli/README.md b/apps/cli/README.md index 867f3a94a5..db33a264a2 100644 --- a/apps/cli/README.md +++ b/apps/cli/README.md @@ -98,25 +98,27 @@ roo ~/Documents/my-project -y -P "Refactor the utils.ts file" In non-interactive mode: - Tool, command, browser, and MCP actions are auto-approved -- Followup questions show a 10-second timeout, then auto-select the first suggestion +- Followup questions show a 60-second timeout, then auto-select the first suggestion - Typing any key cancels the timeout and allows manual input ## Options -| Option | Description | Default | -| --------------------------------- | ------------------------------------------------------------------------------ | ----------------- | -| `[workspace]` | Workspace path to operate in (positional argument) | Current directory | -| `-P, --prompt ` | The prompt/task to execute (optional in TUI mode) | None | -| `-e, --extension ` | Path to the extension bundle directory | Auto-detected | -| `-v, --verbose` | Enable verbose output (show VSCode and extension logs) | `false` | -| `-d, --debug` | Enable debug output (includes detailed debug information, prompts, paths, etc) | `false` | -| `-x, --exit-on-complete` | Exit the process when task completes (useful for testing) | `false` | -| `-y, --yes` | Non-interactive mode: auto-approve all actions | `false` | -| `-k, --api-key ` | API key for the LLM provider | From env var | -| `-p, --provider ` | API provider (anthropic, openai, openrouter, etc.) | `openrouter` | -| `-m, --model ` | Model to use | Provider default | -| `-M, --mode ` | Mode to start in (code, architect, ask, debug, etc.) | `code` | -| `-r, --reasoning-effort ` | Reasoning effort level (none, minimal, low, medium, high, xhigh) | `medium` | +| Option | Description | Default | +| --------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------- | +| `[workspace]` | Workspace path to operate in (positional argument) | Current directory | +| `-P, --prompt ` | The prompt/task to execute (optional in TUI mode) | None | +| `-e, --extension ` | Path to the extension bundle directory | Auto-detected | +| `-v, --verbose` | Enable verbose output (show VSCode and extension logs) | `false` | +| `-d, --debug` | Enable debug output (includes detailed debug information, prompts, paths, etc) | `false` | +| `-x, --exit-on-complete` | Exit the process when task completes (useful for testing) | `false` | +| `-y, --yes` | Non-interactive mode: auto-approve all actions | `false` | +| `-k, --api-key ` | API key for the LLM provider | From env var | +| `-p, --provider ` | API provider (anthropic, openai, openrouter, etc.) | `openrouter` | +| `-m, --model ` | Model to use | `anthropic/claude-sonnet-4.5` | +| `-M, --mode ` | Mode to start in (code, architect, ask, debug, etc.) | `code` | +| `-r, --reasoning-effort ` | Reasoning effort level (unspecified, disabled, none, minimal, low, medium, high, xhigh) | `medium` | +| `--ephemeral` | Run without persisting state (uses temporary storage) | `false` | +| `--no-tui` | Disable TUI, use plain text output | `false` | By default, the CLI runs in quiet mode (suppressing VSCode/extension logs) and only shows assistant output. Use `-v` to see all logs, or `-d` for detailed debug information. @@ -130,9 +132,7 @@ The CLI will look for API keys in environment variables if not provided via `--a | openai | `OPENAI_API_KEY` | | openrouter | `OPENROUTER_API_KEY` | | google/gemini | `GOOGLE_API_KEY` | -| mistral | `MISTRAL_API_KEY` | -| deepseek | `DEEPSEEK_API_KEY` | -| bedrock | `AWS_ACCESS_KEY_ID` | +| ... | ... | ## Architecture @@ -173,12 +173,6 @@ The CLI will look for API keys in environment variables if not provided via `--a - CLI → Extension: `emit("webviewMessage", {...})` - Extension → CLI: `emit("extensionWebviewMessage", {...})` -## Current Limitations - -- **No TUI**: Output is plain text (no React/Ink UI yet) -- **No configuration file**: Settings are passed via command line flags -- **No persistence**: Each run is a fresh session - ## Development ```bash @@ -197,42 +191,17 @@ pnpm lint ## Releasing -To create a new release, run the release script from the monorepo root: +To create a new release, execute the /cli-release slash command: ```bash -# Release using version from package.json -./apps/cli/scripts/release.sh - -# Release with a specific version -./apps/cli/scripts/release.sh 0.1.0 +roo ~/Documents/Roo-Code -P "/cli-release" -y ``` -The script will: +The workflow will: -1. Build the extension and CLI -2. Create a platform-specific tarball (for your current OS/architecture) -3. Create a GitHub release with the tarball attached - -**Prerequisites:** - -- GitHub CLI (`gh`) installed and authenticated (`gh auth login`) -- pnpm installed - -## Troubleshooting - -### Extension bundle not found - -Make sure you've built the main extension first: - -```bash -cd src -pnpm bundle -``` - -### Module resolution errors - -The CLI expects the extension to be a CommonJS bundle. Make sure the extension's esbuild config outputs CommonJS. - -### "vscode" module not found - -The CLI intercepts `require('vscode')` calls. If you see this error, the module resolution interception may have failed. +1. Bump the version +2. Update the CHANGELOG +3. Build the extension and CLI +4. Create a platform-specific tarball (for your current OS/architecture) +5. Test the install script +6. Create a GitHub release with the tarball attached