-
Notifications
You must be signed in to change notification settings - Fork 19
docs(cli): overview and quickstart #398
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: hyc/launch-cli
Are you sure you want to change the base?
Changes from all commits
82a005c
9b0cd7c
854b779
e4ba919
b732165
7264716
08b5f19
3f2b4f8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,35 +1,60 @@ | ||||||
| --- | ||||||
| title: "{{WARP_CLI}} overview" | ||||||
| title: "Warp Agent CLI overview" | ||||||
| description: >- | ||||||
| The {{WARP_CLI}} brings Warp's agent to any terminal. Learn what the CLI | ||||||
| The Warp Agent CLI brings Warp's agent to any terminal. Learn what the CLI | ||||||
| does, how it relates to the Warp app and Oz, and how to get started. | ||||||
| --- | ||||||
| import { VARS } from '@data/vars'; | ||||||
|
|
||||||
| {/* TODO(cli-overview): draft per drafts/warp-cli-launch-plan.md — "cli/index.mdx" section. Feature-doc content type. */} | ||||||
|
|
||||||
| The {VARS.WARP_CLI} documentation for this page is in progress. | ||||||
| The {VARS.WARP_CLI} brings the Warp Agent from the Warp app to the terminal you already use. Run the `warp` command to start an agent conversation: prompt the agent in natural language, review and approve its actions, and run shell commands in the same input, without changing your terminal setup. | ||||||
|
|
||||||
| ## What is the {VARS.WARP_CLI}? | ||||||
|
|
||||||
| {/* TODO(cli-overview): what it is (agent in any terminal, `warp` command), also referred to as the Warp Agent CLI. */} | ||||||
| The {VARS.WARP_CLI} is a standalone terminal program that runs [Warp Agent](/platform/harnesses/warp-agent/), the same agent that powers the Warp app. It renders conversations as a scrolling transcript in your terminal, with streaming responses, code diffs, tool calls, and permission requests you approve inline. Because it's a regular command-line program, it works in any terminal emulator, including over SSH. | ||||||
|
|
||||||
| To get a working setup in a few minutes, follow the [quickstart](/cli/quickstart/). | ||||||
|
|
||||||
| ## Key features | ||||||
|
|
||||||
| {/* TODO(cli-overview): bulleted key features list (bold term - dash - description). */} | ||||||
| * **[Agent conversations](/cli/agent-conversations/)** - Streaming responses with markdown rendering, file-edit diffs, tool calls, plans, and task lists. | ||||||
| * **[Shell commands](/cli/shell-commands/)** - Run shell commands from the same input as agent prompts, including long-running and interactive commands. | ||||||
| * **[Permissions you control](/cli/permissions-and-profiles/)** - Approve commands and file edits from inline request cards, or configure execution profiles and auto-approve. | ||||||
| * **[Persistent conversations](/cli/conversations/)** - Saved to your Warp account, so you can exit and resume later or switch between them. | ||||||
| * **[Cloud handoff and orchestration](/cli/cloud-and-orchestration/)** - Hand a conversation off to a cloud agent, continue cloud runs in the CLI, and coordinate multiple agents. | ||||||
| * **[Project context](/cli/context/)** - The agent picks up your project's rules (like `AGENTS.md`), skills, and MCP servers automatically. | ||||||
| * **[Model choice](/cli/models-and-usage/)** - Pick a model per conversation, bring your own provider API keys, and track credit usage. | ||||||
| * **[Customization](/cli/configuration/)** - Configure themes, the statusline, keybindings, and more through a local settings file. | ||||||
|
|
||||||
| ## How it relates to the Warp app and Oz | ||||||
|
|
||||||
| {/* TODO(cli-overview): CLI vs Warp app vs Oz platform; Warp Agent harness cross-link. */} | ||||||
| * **The Warp app** - The CLI runs the same [Warp Agent](/platform/harnesses/warp-agent/) harness as the Warp app, so your account, plan, model access, rules, and skills work the same in both. The CLI doesn't require the Warp app to be installed. | ||||||
| * **{VARS.WARP_AUTOMATION_PLATFORM}** - {VARS.WARP_AUTOMATION_PLATFORM} is Warp's programmable platform for running and coordinating agents at scale. The CLI connects to the same platform: conversations sync to your Warp account, and you can hand work off to [cloud agents](/cli/cloud-and-orchestration/) or continue a cloud run from your terminal. | ||||||
|
|
||||||
| ## Supported platforms | ||||||
|
|
||||||
| {/* TODO(cli-overview): confirm platform availability with eng before merge. */} | ||||||
| The CLI runs on: | ||||||
|
|
||||||
| * **macOS** - Apple Silicon and Intel. | ||||||
| * **Linux** - x64 and Arm64. | ||||||
|
|
||||||
| ## Logging in and out | ||||||
|
|
||||||
| The first time you run `warp`, the CLI signs you in with a device authorization flow: it shows a verification link and code, opens your browser, and unlocks automatically once you approve the login. For non-interactive environments such as CI, authenticate with a Warp API key instead, using the `WARP_API_KEY` environment variable or the `--api-key` flag. See [logging in](/cli/quickstart/#log-in) in the quickstart for the full flow. | ||||||
|
|
||||||
| To sign out, run `/logout`. The CLI returns to its login screen and opens Warp's web sign-out page so your browser session is signed out too. | ||||||
|
|
||||||
| ## Automatic updates | ||||||
|
|
||||||
| The CLI keeps itself up to date. While it runs, it periodically checks for a newer version, downloads it in the background, and stages it without interrupting your session. The staged version takes effect the next time you launch `warp`; when an update is ready, the start screen shows an "update installed, restart to apply" notice next to the version. To turn background updates off, set `general.autoupdate_enabled` to `false` in the [settings file](/cli/configuration/). | ||||||
|
|
||||||
| ## Open source | ||||||
| ## Coming from the Warp app | ||||||
|
|
||||||
| {/* TODO(cli-overview): planned open-sourcing messaging; no dates or license commitments. */} | ||||||
| If you already use the Warp app, most of your setup carries over. Rules and skills are discovered from the same shared paths, and your Warp Drive content syncs after you log in. For the rest, the CLI ships with a bundled migration skill: ask the agent to migrate your setup from the Warp app, and it walks you through copying compatible settings and global MCP server configurations. Credentials are never copied, so MCP servers that require authentication must be reauthenticated in the CLI. | ||||||
|
|
||||||
| ## Next steps | ||||||
|
|
||||||
| {/* TODO(cli-overview): links to quickstart and feature pages. */} | ||||||
| * [Quickstart](/cli/quickstart/) - Install the CLI, log in, and run your first prompt. | ||||||
| * [Agent conversations](/cli/agent-conversations/) - Learn how the transcript, diffs, and approvals work. | ||||||
| * [Shell commands](/cli/shell-commands/) - Run shell commands alongside agent prompts. | ||||||
| * [Configuration](/cli/configuration/) - Customize the CLI with the settings file. | ||||||
| * [Reference](/cli/reference/) - Flags, slash commands, and keyboard shortcuts. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚨 [CRITICAL] This link points to
Suggested change
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Declining this change: |
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,39 +1,87 @@ | ||||||
| --- | ||||||
| title: "{{WARP_CLI}} quickstart" | ||||||
| title: "Warp Agent CLI quickstart" | ||||||
| description: >- | ||||||
| Install the {{WARP_CLI}}, log in, and run your first agent conversation in | ||||||
| your own terminal in a few minutes. | ||||||
| Install the Warp Agent CLI, log in, and run your first agent conversation | ||||||
| in your own terminal in a few minutes. | ||||||
| --- | ||||||
| import { VARS } from '@data/vars'; | ||||||
|
|
||||||
| {/* TODO(cli-overview): draft per drafts/warp-cli-launch-plan.md — "cli/quickstart.mdx" section. Quickstart content type (~10 min to working result). */} | ||||||
|
|
||||||
| The {VARS.WARP_CLI} documentation for this page is in progress. | ||||||
| This guide takes you from installing the {VARS.WARP_CLI} to your first agent conversation in about five minutes. | ||||||
|
|
||||||
| ## Prerequisites | ||||||
|
|
||||||
| {/* TODO(cli-overview): minimal prerequisites (Warp account). */} | ||||||
| * **A Warp account** - The login step opens your browser, where you can sign in or create an account. The CLI uses the same account as the Warp app. | ||||||
| * **A supported platform** - macOS or Linux. See [supported platforms](/cli/#supported-platforms). | ||||||
|
|
||||||
| ## Install the {VARS.WARP_CLI} | ||||||
|
|
||||||
| {/* TODO(cli-overview): install command(s) — confirm distribution channels with eng before merge. */} | ||||||
| {/* PENDING: install instructions from eng */} | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed in b732165: added a visible interim note to the install section so it no longer renders empty ("Install instructions will be published when the Warp Agent CLI is released. If you're testing a pre-release build, use the install link shared with you."). The hidden PENDING comment stays as the marker for the final instructions. |
||||||
|
|
||||||
| :::note | ||||||
| Install instructions will be published when the CLI is released. If you're testing a pre-release build, use the install link shared with you. | ||||||
| ::: | ||||||
|
|
||||||
| After installing, verify that the `warp` command is available: | ||||||
|
|
||||||
| ```bash | ||||||
| warp --version | ||||||
| ``` | ||||||
|
|
||||||
| The command prints the installed version. The CLI keeps itself up to date automatically after this; see [automatic updates](/cli/#automatic-updates). | ||||||
|
|
||||||
| ## Log in | ||||||
|
|
||||||
| {/* TODO(cli-overview): device-auth login flow; `--api-key` / `WARP_API_KEY` alternative for non-interactive auth. */} | ||||||
| Log in once so the CLI can access your Warp account, models, and saved context. | ||||||
|
|
||||||
| 1. Run `warp`. | ||||||
| 2. The CLI shows a verification link and a device code, and opens the link in your browser. If the browser doesn't open, visit the link shown in the CLI and enter the code. | ||||||
| 3. Approve the login in your browser. The CLI unlocks automatically, so you don't need to restart it. | ||||||
|
|
||||||
| When login completes, the CLI shows its start screen: the version, a short "What's new" list, and the rules, skills, and MCP servers it discovered for your current directory. | ||||||
|
|
||||||
| :::note | ||||||
| On machines without a browser, such as CI or remote servers, authenticate with a Warp API key instead by setting the `WARP_API_KEY` environment variable: | ||||||
|
|
||||||
| ```bash | ||||||
| WARP_API_KEY=YOUR_API_KEY warp | ||||||
| ``` | ||||||
|
|
||||||
| You can also pass the `--api-key` flag, but prefer the environment variable: command-line arguments can be captured in shell history and process listings. See [API keys](/reference/cli/api-keys/) for how to create one. | ||||||
| ::: | ||||||
|
|
||||||
| ## Run your first prompt | ||||||
|
|
||||||
| {/* TODO(cli-overview): first agent prompt; what the zero state shows. */} | ||||||
| 1. Type a prompt in plain language, for example: `What does this project do?` | ||||||
| 2. If the agent wants to run a command or edit a file, it shows a permission request. Choose an option to approve or reject the action. | ||||||
|
|
||||||
| Learn more about the transcript, diffs, and approvals in [Agent conversations](/cli/agent-conversations/) and [Permissions and profiles](/cli/permissions-and-profiles/). | ||||||
|
|
||||||
| ## Run a shell command | ||||||
|
|
||||||
| {/* TODO(cli-overview): shell input alongside agent prompts. */} | ||||||
| You can run shell commands directly without leaving the CLI. | ||||||
|
|
||||||
| 1. Type `!` at the start of an empty input to switch to shell mode. The footer shows **Shell mode**. | ||||||
| 2. Type a command, such as `git status`, and press `Enter`. | ||||||
| 3. Press `Backspace` on the empty input to switch back to prompting the agent. | ||||||
|
|
||||||
| See [Shell commands](/cli/shell-commands/) for long-running commands, interactive programs, and natural language detection. | ||||||
|
|
||||||
| ## Exit and resume | ||||||
|
|
||||||
| {/* TODO(cli-overview): double Ctrl+C to exit; resume command printed on exit. */} | ||||||
| 1. Press `Ctrl+C` twice in a row to exit, or run `/exit`. A single `Ctrl+C` press stops the agent's current response, or clears the input when nothing is running. | ||||||
| 2. On exit, the CLI prints a resume command for the conversation: | ||||||
|
|
||||||
| ```bash | ||||||
| warp --resume CONVERSATION_TOKEN | ||||||
| ``` | ||||||
|
|
||||||
| 3. Run the printed command later to pick up where you left off. | ||||||
|
|
||||||
| To browse and reopen past conversations from inside the CLI, see [Conversations](/cli/conversations/). | ||||||
|
|
||||||
| ## Next steps | ||||||
|
|
||||||
| {/* TODO(cli-overview): links to agent conversations, configuration, reference. */} | ||||||
| * [Agent conversations](/cli/agent-conversations/) - Work with the transcript, code diffs, plans, and tasks. | ||||||
| * [Context](/cli/context/) - Give the agent rules, skills, and MCP servers. | ||||||
| * [Configuration](/cli/configuration/) - Set your theme, statusline, and keybindings. | ||||||
| * [Reference](/cli/reference/) - All flags, slash commands, and keyboard shortcuts. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚨 [CRITICAL] This link points to
Suggested change
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Declining this change for the same reason as the overview page: |
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note that right now we're still calling it Oz until the Factory launch...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kept Oz naming as-is everywhere (08b5f19). Body prose now references the platform through the
WARP_AUTOMATION_PLATFORMcontent variable, which renders "Oz" today, so the Factory-launch rename is a one-line change in vars.ts. The heading and frontmatter keep the literal name (anchors and frontmatter aren't variable-substituted).