summaryrefslogtreecommitdiffhomepage
path: root/app/packages/web/src/content/docs
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-30 20:47:56 -0400
committerDax Raad <[email protected]>2025-05-30 20:48:36 -0400
commitf3da73553c45f17e04b1e77cb13eb0fca714d1bd (patch)
treea24317a19e1ab2a89da50db669dc6894f15d00d1 /app/packages/web/src/content/docs
parent9a26b3058ffc1023e5c7e54b6d571c903d15888e (diff)
downloadopencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.tar.gz
opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.zip
sync
Diffstat (limited to 'app/packages/web/src/content/docs')
-rw-r--r--app/packages/web/src/content/docs/docs/cli.mdx89
-rw-r--r--app/packages/web/src/content/docs/docs/config.mdx88
-rw-r--r--app/packages/web/src/content/docs/docs/index.mdx58
-rw-r--r--app/packages/web/src/content/docs/docs/lsp-servers.mdx34
-rw-r--r--app/packages/web/src/content/docs/docs/mcp-servers.mdx51
-rw-r--r--app/packages/web/src/content/docs/docs/models.mdx34
-rw-r--r--app/packages/web/src/content/docs/docs/shortcuts.mdx68
-rw-r--r--app/packages/web/src/content/docs/docs/themes.mdx75
-rw-r--r--app/packages/web/src/content/docs/index.mdx12
9 files changed, 0 insertions, 509 deletions
diff --git a/app/packages/web/src/content/docs/docs/cli.mdx b/app/packages/web/src/content/docs/docs/cli.mdx
deleted file mode 100644
index 44a56e1fb..000000000
--- a/app/packages/web/src/content/docs/docs/cli.mdx
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: CLI
----
-
-Once installed you can run the OpenCode CLI.
-
-```bash
-opencode
-```
-
-Or pass in flags. For example, to start with debug logging:
-
-```bash
-opencode -d
-```
-
-Or start with a specific working directory.
-
-```bash
-opencode -c /path/to/project
-```
-
-## Flags
-
-The OpenCode CLI takes the following flags.
-
-| Flag | Short | Description |
-| -- | -- | -- |
-| `--help` | `-h` | Display help |
-| `--debug` | `-d` | Enable debug mode |
-| `--cwd` | `-c` | Set current working directory |
-| `--prompt` | `-p` | Run a single prompt in non-interactive mode |
-| `--output-format` | `-f` | Output format for non-interactive mode, `text` or `json` |
-| `--quiet` | `-q` | Hide spinner in non-interactive mode |
-| `--verbose` | | Display logs to stderr in non-interactive mode |
-| `--allowedTools` | | Restrict the agent to only use specified tools |
-| `--excludedTools` | | Prevent the agent from using specified tools |
-
-## Non-interactive
-
-By default, OpenCode runs in interactive mode.
-
-But you can also run OpenCode in non-interactive mode by passing a prompt directly as a command-line argument. This is useful for scripting, automation, or when you want a quick answer without launching the full TUI.
-
-For example, to run a single prompt use the `-p` flag.
-
-```bash "-p"
-opencode -p "Explain the use of context in Go"
-```
-
-If you want to run without showing the spinner, use `-q`.
-
-```bash "-q"
-opencode -p "Explain the use of context in Go" -q
-```
-
-In this mode, OpenCode will process your prompt, print the result to standard output, and then exit. All **permissions are auto-approved** for the session.
-
-#### Tool restrictions
-
-You can control which tools the AI assistant has access to in non-interactive mode.
-
-- `--allowedTools`
-
- A comma-separated list of tools that the agent is allowed to use. Only these tools will be available.
-
- ```bash "--allowedTools"
- opencode -p "Explain the use of context in Go" --allowedTools=view,ls,glob
- ```
-
-- `--excludedTools`
-
- Comma-separated list of tools that the agent is not allowed to use. All other tools will be available.
-
- ```bash "--excludedTools"
- opencode -p "Explain the use of context in Go" --excludedTools=bash,edit
- ```
-
-These flags are mutually exclusive. So you can either use `--allowedTools` or `--excludedTools`, but not both.
-
-#### Output formats
-
-In non-interactive mode, you can also set the CLI to return as JSON using `-f`.
-
-```bash "-f json"
-opencode -p "Explain the use of context in Go" -f json
-```
-
-By default, this is set to `text`, to return plain text.
diff --git a/app/packages/web/src/content/docs/docs/config.mdx b/app/packages/web/src/content/docs/docs/config.mdx
deleted file mode 100644
index 288f194c5..000000000
--- a/app/packages/web/src/content/docs/docs/config.mdx
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: Config
----
-
-You can configure OpenCode using the OpenCode config. It can be places in:
-
-- `$HOME/.opencode.json`
-- `$XDG_CONFIG_HOME/opencode/.opencode.json`
-
-Or in the current directory, `./.opencode.json`.
-
-## OpenCode config
-
-The config file has the following structure.
-
-```json title=".opencode.json"
-{
- "data": {
- "directory": ".opencode"
- },
- "providers": {
- "openai": {
- "apiKey": "your-api-key",
- "disabled": false
- },
- "anthropic": {
- "apiKey": "your-api-key",
- "disabled": false
- },
- "groq": {
- "apiKey": "your-api-key",
- "disabled": false
- },
- "openrouter": {
- "apiKey": "your-api-key",
- "disabled": false
- }
- },
- "agents": {
- "primary": {
- "model": "claude-3.7-sonnet",
- "maxTokens": 5000
- },
- "task": {
- "model": "claude-3.7-sonnet",
- "maxTokens": 5000
- },
- "title": {
- "model": "claude-3.7-sonnet",
- "maxTokens": 80
- }
- },
- "mcpServers": {
- "example": {
- "type": "stdio",
- "command": "path/to/mcp-server",
- "env": [],
- "args": []
- }
- },
- "lsp": {
- "go": {
- "disabled": false,
- "command": "gopls"
- }
- },
- "debug": false,
- "debugLSP": false
-}
-```
-
-## Environment variables
-
-For the providers, you can also specify the keys using environment variables.
-
-| Environment Variable | Models |
-| -------------------------- | ----------- |
-| `ANTHROPIC_API_KEY` | Claude |
-| `OPENAI_API_KEY` | OpenAI |
-| `GEMINI_API_KEY` | Google Gemini |
-| `GROQ_API_KEY` | Groq |
-| `AWS_ACCESS_KEY_ID` | Amazon Bedrock |
-| `AWS_SECRET_ACCESS_KEY` | Amazon Bedrock |
-| `AWS_REGION` | Amazon Bedrock |
-| `AZURE_OPENAI_ENDPOINT` | Azure OpenAI |
-| `AZURE_OPENAI_API_KEY` | Azure OpenAI, optional when using Entra ID |
-| `AZURE_OPENAI_API_VERSION` | Azure OpenAI |
-
diff --git a/app/packages/web/src/content/docs/docs/index.mdx b/app/packages/web/src/content/docs/docs/index.mdx
deleted file mode 100644
index e6f71be19..000000000
--- a/app/packages/web/src/content/docs/docs/index.mdx
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: Intro
----
-
-OpenCode is an AI coding agent built natively for the terminal. It features:
-
-- Native TUI for a smoother, snappier experience
-- Uses LSPs to help the LLM make fewer mistakes
-- Opening multiple conversations with the same project
-- Use of any model through the AI SDK
-- Tracks and visualizes all the file changes
-- Editing longer messages with Vim
-
-## Installation
-
-```bash
-npm i -g opencode
-```
-
-If you don't have NPM installed, you can also install the OpenCode binary through the following.
-
-#### Using the install script
-
-```bash
-curl -fsSL https://opencode.ai/install | bash
-```
-
-Or install a specific version.
-
-```bash
-curl -fsSL https://opencode.ai/install | VERSION=0.1.0 bash
-```
-
-#### Using Homebrew on macOS and Linux
-
-```bash
-brew install sst/tap/opencode
-```
-
-#### Using AUR in Arch Linux
-
-With yay.
-
-```bash
-yay -S opencode-bin
-```
-
-Or with paru.
-
-```bash
-paru -S opencode-bin
-```
-
-#### Using Go
-
-```bash
-go install github.com/sst/opencode@latest
-```
diff --git a/app/packages/web/src/content/docs/docs/lsp-servers.mdx b/app/packages/web/src/content/docs/docs/lsp-servers.mdx
deleted file mode 100644
index cd259dea7..000000000
--- a/app/packages/web/src/content/docs/docs/lsp-servers.mdx
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: LSP servers
----
-
-OpenCode integrates with _Language Server Protocol_, or LSP to improve how the LLM interacts with your codebase.
-
-LSP servers for different languages give the LLM:
-
-- **Diagnostics**: These include things like errors and lint warnings. So the LLM can generate code that has fewer mistakes without having to run the code.
-- **Quick actions**: The LSP can allow the LLM to better navigate the codebase through features like _go-to-definition_ and _find references_.
-
-## Auto-detection
-
-By default, OpenCode will **automatically detect** the languages used in your project and add the right LSP servers.
-
-## Manual configuration
-
-You can also manually configure LSP servers by adding them under the `lsp` section in your OpenCode config.
-
-```json title=".opencode.json"
-{
- "lsp": {
- "go": {
- "disabled": false,
- "command": "gopls"
- },
- "typescript": {
- "disabled": false,
- "command": "typescript-language-server",
- "args": ["--stdio"]
- }
- }
-}
-```
diff --git a/app/packages/web/src/content/docs/docs/mcp-servers.mdx b/app/packages/web/src/content/docs/docs/mcp-servers.mdx
deleted file mode 100644
index 28c6d2ab2..000000000
--- a/app/packages/web/src/content/docs/docs/mcp-servers.mdx
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: MCP servers
----
-
-You can add external tools to OpenCode using the _Model Context Protocol_, or MCP. OpenCode supports both:
-
-- Local servers that use standard input/output, `stdio`
-- Remote servers that use server-sent events `sse`
-
-## Add MCP servers
-
-You can define MCP servers in your OpenCode config under the `mcpServers` section:
-
-### Local
-
-To add a local or `stdio` MCP server.
-
-```json title=".opencode.json" {4}
-{
- "mcpServers": {
- "local-example": {
- "type": "stdio",
- "command": "path/to/mcp-server",
- "env": [],
- "args": []
- }
- }
-}
-```
-
-### Remote
-
-To add a remote or `sse` MCP server.
-
-```json title=".opencode.json" {4}
-{
- "mcpServers": {
- "remote-example": {
- "type": "sse",
- "url": "https://example.com/mcp",
- "headers": {
- "Authorization": "Bearer token"
- }
- }
- }
-}
-```
-
-## Usage
-
-Once added, MCP tools are automatically available to the LLM alongside built-in tools. They follow the same permission model; requiring user approval before execution.
diff --git a/app/packages/web/src/content/docs/docs/models.mdx b/app/packages/web/src/content/docs/docs/models.mdx
deleted file mode 100644
index c40216695..000000000
--- a/app/packages/web/src/content/docs/docs/models.mdx
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: Models
----
-
-OpenCode uses the [AI SDK](https://ai-sdk.dev/) to have the support for **all the AI models**.
-
-Start by setting the [keys for the providers](/docs/config) you want to use in your OpenCode config.
-
-## Model select
-
-You can now select the model you want from the menu by hitting `Ctrl+O`.
-
-## Multiple models
-
-You can also use specific models for specific tasks. For example, you can use a smaller model to generate the title of the conversation or to run a sub task.
-
-```json title=".opencode.json"
-{
- "agents": {
- "primary": {
- "model": "gpt-4",
- "maxTokens": 5000
- },
- "task": {
- "model": "gpt-3.5-turbo",
- "maxTokens": 5000
- },
- "title": {
- "model": "gpt-3.5-turbo",
- "maxTokens": 80
- }
- }
-}
-```
diff --git a/app/packages/web/src/content/docs/docs/shortcuts.mdx b/app/packages/web/src/content/docs/docs/shortcuts.mdx
deleted file mode 100644
index dd866e0f3..000000000
--- a/app/packages/web/src/content/docs/docs/shortcuts.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title: Keyboard shortcuts
-sidebar:
- label: Shortcuts
----
-
-Below are a list of keyboard shortcuts that OpenCode supports.
-
-## Global
-
-| Shortcut | Action |
-| -------- | ------------------------------------------------------- |
-| `Ctrl+C` | Quit application |
-| `Ctrl+?` | Toggle help dialog |
-| `?` | Toggle help dialog (when not in editing mode) |
-| `Ctrl+L` | View logs |
-| `Ctrl+A` | Switch session |
-| `Ctrl+K` | Command dialog |
-| `Ctrl+O` | Toggle model selection dialog |
-| `Esc` | Close current overlay/dialog or return to previous mode |
-
-## Chat pane
-
-| Shortcut | Action |
-| -------- | --------------------------------------- |
-| `Ctrl+N` | Create new session |
-| `Ctrl+X` | Cancel current operation/generation |
-| `i` | Focus editor (when not in writing mode) |
-| `Esc` | Exit writing mode and focus messages |
-
-## Editor view
-
-| Shortcut | Action |
-| ------------------- | ----------------------------------------- |
-| `Ctrl+S` | Send message (when editor is focused) |
-| `Enter` or `Ctrl+S` | Send message (when editor is not focused) |
-| `Ctrl+E` | Open external editor |
-| `Esc` | Blur editor and focus messages |
-
-## Session dialog
-
-| Shortcut | Action |
-| ---------- | ---------------- |
-| `↑` or `k` | Previous session |
-| `↓` or `j` | Next session |
-| `Enter` | Select session |
-| `Esc` | Close dialog |
-
-## Model dialog
-
-| Shortcut | Action |
-| ---------- | ----------------- |
-| `↑` or `k` | Move up |
-| `↓` or `j` | Move down |
-| `←` or `h` | Previous provider |
-| `→` or `l` | Next provider |
-| `Esc` | Close dialog |
-
-## Permission dialog
-
-| Shortcut | Action |
-| ----------------------- | ---------------------------- |
-| `←` or `left` | Switch options left |
-| `→` or `right` or `tab` | Switch options right |
-| `Enter` or `space` | Confirm selection |
-| `a` | Allow permission |
-| `A` | Allow permission for session |
-| `d` | Deny permission |
diff --git a/app/packages/web/src/content/docs/docs/themes.mdx b/app/packages/web/src/content/docs/docs/themes.mdx
deleted file mode 100644
index e691a22e7..000000000
--- a/app/packages/web/src/content/docs/docs/themes.mdx
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: Themes
----
-
-OpenCode supports most common terminal themes and you can create your own custom theme.
-
-## Built-in themes
-
-The following predefined themes are available:
-
-- `opencode`
-- `catppuccin`
-- `dracula`
-- `flexoki`
-- `gruvbox`
-- `monokai`
-- `onedark`
-- `tokyonight`
-- `tron`
-- `custom`
-
-Where `opencode` is the default theme and `custom` let's you define your own theme.
-
-## Setting a theme
-
-You can set your theme in your OpenCode config.
-
-```json title=".opencode.json"
-{
- "tui": {
- "theme": "monokai"
- }
-}
-```
-
-## Create a theme
-
-You can create your own custom theme by setting the `theme: custom` and providing color definitions through the `customTheme`.
-
-```json title=".opencode.json"
-{
- "tui": {
- "theme": "custom",
- "customTheme": {
- "primary": "#ffcc00",
- "secondary": "#00ccff",
- "accent": { "dark": "#aa00ff", "light": "#ddccff" },
- "error": "#ff0000"
- }
- }
-}
-```
-
-#### Color keys
-
-You can define any of the following color keys in your `customTheme`.
-
-| Type | Color keys |
-| --- | --- |
-| Base colors | `primary`, `secondary`, `accent` |
-| Status colors | `error`, `warning`, `success`, `info` |
-| Text colors | `text`, `textMuted`, `textEmphasized` |
-| Background colors | `background`, `backgroundSecondary`, `backgroundDarker` |
-| Border colors | `borderNormal`, `borderFocused`, `borderDim` |
-| Diff view colors | `diffAdded`, `diffRemoved`, `diffContext`, etc. |
-
-You don't need to define all the color keys. Any undefined colors will fall back to the default `opencode` theme colors.
-
-#### Color definitions
-
-Color keys can take:
-
-1. **Hex string**: A single hex color string, like `"#aabbcc"`, that'll be used for both light and dark terminal backgrounds.
-
-2. **Light and dark colors**: An object with `dark` and `light` hex colors that'll be set based on the terminal's background.
diff --git a/app/packages/web/src/content/docs/index.mdx b/app/packages/web/src/content/docs/index.mdx
deleted file mode 100644
index 176520ec5..000000000
--- a/app/packages/web/src/content/docs/index.mdx
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: OpenCode
-description: The AI coding agent built for the terminal.
-template: splash
-hero:
- title: The AI coding agent built for the terminal.
- tagline: The AI coding agent built for the terminal.
- image:
- dark: ../../assets/logo-dark.svg
- light: ../../assets/logo-light.svg
- alt: OpenCode logo
----