summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src
diff options
context:
space:
mode:
authorJay V <[email protected]>2025-08-07 16:16:12 -0400
committerJay V <[email protected]>2025-08-07 16:16:16 -0400
commit12f1ad521fef2e1fa6f1b0ce6ec939664d61899f (patch)
tree794af65204cfccca02044c29cd8b19111b54c3d0 /packages/web/src
parent723a37ea9ab7dae6e13b12a7f971d5b165d576bf (diff)
downloadopencode-12f1ad521fef2e1fa6f1b0ce6ec939664d61899f.tar.gz
opencode-12f1ad521fef2e1fa6f1b0ce6ec939664d61899f.zip
docs: slash commands
Diffstat (limited to 'packages/web/src')
-rw-r--r--packages/web/src/content/docs/docs/cli.mdx127
-rw-r--r--packages/web/src/content/docs/docs/keybinds.mdx6
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 102f1ca23..9d93c2330 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.
+
+<Tabs>
+ <TabItem label="Linux/macOS">
+ ```bash
+ export EDITOR=nano # or vim, code, etc.
+ ```
+ To make it permanent, add this to your shell profile; `~/.bashrc`, `~/.zshrc`, etc.
+ </TabItem>
+ <TabItem label="Windows (CMD)">
+ ```bash
+ set EDITOR=notepad # or code, vim, etc.
+ ```
+ To make it permanent, use **System Properties** > **Environment Variables**.
+ </TabItem>
+ <TabItem label="Windows (PowerShell)">
+ ```bash
+ $env:EDITOR = "notepad" # or "code", "vim", etc.
+ ```
+ To make it permanent, add this to your PowerShell profile.
+ </TabItem>
+</Tabs>
+
+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 1b2416f09..076b428f0 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".