From 12f1ad521fef2e1fa6f1b0ce6ec939664d61899f Mon Sep 17 00:00:00 2001 From: Jay V Date: Thu, 7 Aug 2025 16:16:12 -0400 Subject: [PATCH] docs: slash commands --- packages/web/src/content/docs/docs/cli.mdx | 127 +++++++++++++++++- .../web/src/content/docs/docs/keybinds.mdx | 6 +- 2 files changed, 125 insertions(+), 8 deletions(-) diff --git a/packages/web/src/content/docs/docs/cli.mdx b/packages/web/src/content/docs/docs/cli.mdx index 102f1ca2..9d93c233 100644 --- a/packages/web/src/content/docs/docs/cli.mdx +++ b/packages/web/src/content/docs/docs/cli.mdx @@ -3,6 +3,8 @@ title: CLI description: The opencode CLI options and commands. --- +import { Tabs, TabItem } from "@astrojs/starlight/components" + Running the opencode CLI starts it for the current directory. ```bash @@ -17,6 +19,117 @@ opencode /path/to/project --- +## Slash commands + +When using the opencode CLI, you can type `/` followed by a command name to quickly execute actions. For example: + +:::tip +You can also use `@` to reference files in your messages. +::: + +```bash frame="none" +/help +``` + +Here are all available slash commands: + +- **`/help`** + + Show the help dialog. + +- **`/editor`** + + Open external editor for composing messages. Uses the editor set in your `EDITOR` environment variable. [Learn more](#editor-setup). + +- **`/export`** + + Export current conversation to Markdown and open in your default editor. Uses the editor set in your `EDITOR` environment variable. [Learn more](#editor-setup). + +- **`/new`** + + Start a new session. _Alias_: `/clear` + +- **`/sessions`** + + List and switch between sessions. _Aliases_: `/resume`, `/continue` + +- **`/share`** + + Share current session. [Learn more](/docs/share). + +- **`/unshare`** + + Unshare current session. [Learn more](/docs/share#un-sharing). + +- **`/compact`** + + Compact the current session. _Alias_: `/summarize` + +- **`/details`** + + Toggle tool execution details. + +- **`/models`** + + List available models. + +- **`/themes`** + + List available themes. + +- **`/init`** + + Create or update `AGENTS.md` file. [Learn more](/docs/rules). + +- **`/undo`** + + Undo last message. + +- **`/redo`** + + Redo message. + +- **`/exit`** + + Exit opencode. _Aliases_: `/quit`, `/q` + +--- + +### Editor setup + +Both the `/editor` and `/export` commands use the editor specified in your `EDITOR` environment variable. + + + + ```bash + export EDITOR=nano # or vim, code, etc. + ``` + To make it permanent, add this to your shell profile; `~/.bashrc`, `~/.zshrc`, etc. + + + ```bash + set EDITOR=notepad # or code, vim, etc. + ``` + To make it permanent, use **System Properties** > **Environment Variables**. + + + ```bash + $env:EDITOR = "notepad" # or "code", "vim", etc. + ``` + To make it permanent, add this to your PowerShell profile. + + + +Popular editor options include: + +- `code` - Visual Studio Code +- `vim` - Vim editor +- `nano` - Nano editor +- `notepad` - Windows Notepad +- `subl` - Sublime Text + +--- + ## Commands The opencode CLI also has the following commands. @@ -122,11 +235,11 @@ opencode upgrade v0.1.48 The opencode CLI takes the following flags. -| Flag | Short | Description | -| -------------- | ----- | -------------------- | -| `--help` | `-h` | Display help | -| `--version` | | Print version number | -| `--print-logs` | | Print logs to stderr | -| `--prompt` | `-p` | Prompt to use | +| Flag | Short | Description | +| -------------- | ----- | ------------------------------------------ | +| `--help` | `-h` | Display help | +| `--version` | | Print version number | +| `--print-logs` | | Print logs to stderr | +| `--prompt` | `-p` | Prompt to use | | `--model` | `-m` | Model to use in the form of provider/model | -| `--mode` | | Mode to use | +| `--mode` | | Mode to use | diff --git a/packages/web/src/content/docs/docs/keybinds.mdx b/packages/web/src/content/docs/docs/keybinds.mdx index 1b2416f0..076b428f 100644 --- a/packages/web/src/content/docs/docs/keybinds.mdx +++ b/packages/web/src/content/docs/docs/keybinds.mdx @@ -45,6 +45,8 @@ opencode has a list of keybinds that you can customize through the opencode conf } ``` +--- + ## Leader key opencode uses a `leader` key for most keybinds. This avoids conflicts in your terminal. @@ -53,7 +55,9 @@ By default, `ctrl+x` is the leader key and most actions require you to first pre You don't need to use a leader key for your keybinds but we recommend doing so. -## Disable a keybind +--- + +## Disable keybind You can disable a keybind by adding the key to your config with a value of "none".