summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-09-02 23:30:26 -0400
committerDax Raad <[email protected]>2025-09-02 23:30:48 -0400
commit1c31c2dd977d6e1c3a8e2e33cb6d4717b7897e7a (patch)
tree0fef7df3b9b5d540acde4a2c3b2f031972b846a9 /packages/web/src/content/docs
parentc1d754bec9f54836f66181dd37d279f0ffe2e6e5 (diff)
downloadopencode-1c31c2dd977d6e1c3a8e2e33cb6d4717b7897e7a.tar.gz
opencode-1c31c2dd977d6e1c3a8e2e33cb6d4717b7897e7a.zip
wip: zen
Diffstat (limited to 'packages/web/src/content/docs')
-rw-r--r--packages/web/src/content/docs/agents.mdx (renamed from packages/web/src/content/docs/docs/agents.mdx)0
-rw-r--r--packages/web/src/content/docs/cli.mdx (renamed from packages/web/src/content/docs/docs/cli.mdx)0
-rw-r--r--packages/web/src/content/docs/commands.mdx (renamed from packages/web/src/content/docs/docs/commands.mdx)0
-rw-r--r--packages/web/src/content/docs/config.mdx (renamed from packages/web/src/content/docs/docs/config.mdx)0
-rw-r--r--packages/web/src/content/docs/docs/index.mdx311
-rw-r--r--packages/web/src/content/docs/enterprise.mdx (renamed from packages/web/src/content/docs/docs/enterprise.mdx)2
-rw-r--r--packages/web/src/content/docs/formatters.mdx (renamed from packages/web/src/content/docs/docs/formatters.mdx)0
-rw-r--r--packages/web/src/content/docs/github.mdx (renamed from packages/web/src/content/docs/docs/github.mdx)0
-rw-r--r--packages/web/src/content/docs/gitlab.mdx (renamed from packages/web/src/content/docs/docs/gitlab.mdx)0
-rw-r--r--packages/web/src/content/docs/ide.mdx (renamed from packages/web/src/content/docs/docs/ide.mdx)0
-rw-r--r--packages/web/src/content/docs/index.mdx319
-rw-r--r--packages/web/src/content/docs/keybinds.mdx (renamed from packages/web/src/content/docs/docs/keybinds.mdx)0
-rw-r--r--packages/web/src/content/docs/lsp.mdx (renamed from packages/web/src/content/docs/docs/lsp.mdx)0
-rw-r--r--packages/web/src/content/docs/mcp-servers.mdx (renamed from packages/web/src/content/docs/docs/mcp-servers.mdx)0
-rw-r--r--packages/web/src/content/docs/models.mdx (renamed from packages/web/src/content/docs/docs/models.mdx)0
-rw-r--r--packages/web/src/content/docs/modes.mdx (renamed from packages/web/src/content/docs/docs/modes.mdx)0
-rw-r--r--packages/web/src/content/docs/permissions.mdx (renamed from packages/web/src/content/docs/docs/permissions.mdx)0
-rw-r--r--packages/web/src/content/docs/plugins.mdx (renamed from packages/web/src/content/docs/docs/plugins.mdx)0
-rw-r--r--packages/web/src/content/docs/providers.mdx (renamed from packages/web/src/content/docs/docs/providers.mdx)2
-rw-r--r--packages/web/src/content/docs/rules.mdx (renamed from packages/web/src/content/docs/docs/rules.mdx)0
-rw-r--r--packages/web/src/content/docs/sdk.mdx (renamed from packages/web/src/content/docs/docs/sdk.mdx)2
-rw-r--r--packages/web/src/content/docs/server.mdx (renamed from packages/web/src/content/docs/docs/server.mdx)2
-rw-r--r--packages/web/src/content/docs/share.mdx (renamed from packages/web/src/content/docs/docs/share.mdx)0
-rw-r--r--packages/web/src/content/docs/themes.mdx (renamed from packages/web/src/content/docs/docs/themes.mdx)0
-rw-r--r--packages/web/src/content/docs/troubleshooting.mdx (renamed from packages/web/src/content/docs/docs/troubleshooting.mdx)0
-rw-r--r--packages/web/src/content/docs/tui.mdx (renamed from packages/web/src/content/docs/docs/tui.mdx)0
-rw-r--r--packages/web/src/content/docs/zen.mdx (renamed from packages/web/src/content/docs/docs/zen.mdx)2
27 files changed, 314 insertions, 326 deletions
diff --git a/packages/web/src/content/docs/docs/agents.mdx b/packages/web/src/content/docs/agents.mdx
index 1527a1b08..1527a1b08 100644
--- a/packages/web/src/content/docs/docs/agents.mdx
+++ b/packages/web/src/content/docs/agents.mdx
diff --git a/packages/web/src/content/docs/docs/cli.mdx b/packages/web/src/content/docs/cli.mdx
index 903c3638d..903c3638d 100644
--- a/packages/web/src/content/docs/docs/cli.mdx
+++ b/packages/web/src/content/docs/cli.mdx
diff --git a/packages/web/src/content/docs/docs/commands.mdx b/packages/web/src/content/docs/commands.mdx
index 59c9536ac..59c9536ac 100644
--- a/packages/web/src/content/docs/docs/commands.mdx
+++ b/packages/web/src/content/docs/commands.mdx
diff --git a/packages/web/src/content/docs/docs/config.mdx b/packages/web/src/content/docs/config.mdx
index 045bc596c..045bc596c 100644
--- a/packages/web/src/content/docs/docs/config.mdx
+++ b/packages/web/src/content/docs/config.mdx
diff --git a/packages/web/src/content/docs/docs/index.mdx b/packages/web/src/content/docs/docs/index.mdx
deleted file mode 100644
index 97910e0e5..000000000
--- a/packages/web/src/content/docs/docs/index.mdx
+++ /dev/null
@@ -1,311 +0,0 @@
----
-title: Intro
-description: Get started with opencode.
----
-
-import { Tabs, TabItem } from "@astrojs/starlight/components"
-
-[**opencode**](/) is an AI coding agent built for the terminal.
-
-![opencode TUI with the opencode theme](../../../assets/lander/screenshot.png)
-
-Let's get started.
-
----
-
-#### Prerequisites
-
-To use opencode, you'll need:
-
-1. A modern terminal emulator like:
-
- - [WezTerm](https://wezterm.org), cross-platform
- - [Alacritty](https://alacritty.org), cross-platform
- - [Ghostty](https://ghostty.org), Linux and macOS
- - [Kitty](https://sw.kovidgoyal.net/kitty/), Linux and macOS
-
-2. API keys for the LLM providers you want to use.
-
----
-
-## Install
-
-The easiest way to install opencode is through the install script.
-
-```bash
-curl -fsSL https://opencode.ai/install | bash
-```
-
-You can also install it with the following:
-
-- **Using Node.js**
-
- <Tabs>
- <TabItem label="npm">
- ```bash
- npm install -g opencode-ai
- ```
- </TabItem>
- <TabItem label="Bun">
- ```bash
- bun install -g opencode-ai
- ```
- </TabItem>
- <TabItem label="pnpm">
- ```bash
- pnpm install -g opencode-ai
- ```
- </TabItem>
- <TabItem label="Yarn">
- ```bash
- yarn global add opencode-ai
- ```
- </TabItem>
- </Tabs>
-
-- **Using Homebrew on macOS and Linux**
-
- ```bash
- brew install sst/tap/opencode
- ```
-
-- **Using Paru on Arch Linux**
-
- ```bash
- paru -S opencode-bin
- ```
-
-#### Windows
-
-Right now the automatic installation methods do not work properly on Windows. However you can grab the binary from the [Releases](https://github.com/sst/opencode/releases).
-
----
-
-## Configure
-
-With opencode you can use any LLM provider by configuring their API keys.
-
-We recommend signing up for [Claude Pro](https://www.anthropic.com/news/claude-pro) or [Max](https://www.anthropic.com/max), it's the most cost-effective way to use opencode.
-
-Once you've signed up, run `opencode auth login` and select Anthropic.
-
-```bash
-$ opencode auth login
-
-┌ Add credential
-│
-◆ Select provider
-│ ● Anthropic (recommended)
-│ ○ OpenAI
-│ ○ Google
-│ ○ Amazon Bedrock
-│ ○ Azure
-│ ○ DeepSeek
-│ ○ Groq
-│ ...
-└
-```
-
-Alternatively, you can select one of the other providers. [Learn more](/docs/providers#directory).
-
----
-
-## Initialize
-
-Now that you've configured a provider, you can navigate to a project that
-you want to work on.
-
-```bash
-cd /path/to/project
-```
-
-And run opencode.
-
-```bash
-opencode
-```
-
-Next, initialize opencode for the project by running the following command.
-
-```bash frame="none"
-/init
-```
-
-This will get opencode to analyze your project and create an `AGENTS.md` file in
-the project root.
-
-:::tip
-You should commit your project's `AGENTS.md` file to Git.
-:::
-
-This helps opencode understand the project structure and the coding patterns
-used.
-
----
-
-## Usage
-
-You are now ready to use opencode to work on your project. Feel free to ask it
-anything!
-
-If you are new to using an AI coding agent, here are some examples that might
-help.
-
----
-
-### Ask questions
-
-You can ask opencode to explain the codebase to you.
-
-:::tip
-Use the `@` key to fuzzy search for files in the project.
-:::
-
-```txt frame="none" "@packages/functions/src/api/index.ts"
-How is authentication handled in @packages/functions/src/api/index.ts
-```
-
-This is helpful if there's a part of the codebase that you didn't work on.
-
----
-
-### Add features
-
-You can ask opencode to add new features to your project. Though we first recommend asking it to create a plan.
-
-1. **Create a plan**
-
- opencode has a _Plan mode_ that disables its ability to make changes and
- instead suggest _how_ it'll implement the feature.
-
- Switch to it using the **Tab** key. You'll see an indicator for this in the lower right corner.
-
- ```bash frame="none" title="Switch to Plan mode"
- <TAB>
- ```
-
- Now let's describe what we want it to do.
-
- ```txt frame="none"
- When a user deletes a note, we'd like to flag it as deleted in the database.
- Then create a screen that shows all the recently deleted notes.
- From this screen, the user can undelete a note or permanently delete it.
- ```
-
- You want to give opencode enough details to understand what you want. It helps
- to talk to it like you are talking to a junior developer on your team.
-
- :::tip
- Give opencode plenty of context and examples to help it understand what you
- want.
- :::
-
-2. **Iterate on the plan**
-
- Once it gives you a plan, you can give it feedback or add more details.
-
- ```txt frame="none"
- We'd like to design this new screen using a design I've used before.
- [Image #1] Take a look at this image and use it as a reference.
- ```
-
- :::tip
- Drag and drop images into the terminal to add them to the prompt.
- :::
-
- opencode can scan any images you give it and add them to the prompt. You can
- do this by dragging and dropping an image into the terminal.
-
-3. **Build the feature**
-
- Once you feel comfortable with the plan, switch back to _Build mode_ by
- hitting the **Tab** key again.
-
- ```bash frame="none"
- <TAB>
- ```
-
- And asking it to make the changes.
-
- ```bash frame="none"
- Sounds good! Go ahead and make the changes.
- ```
-
----
-
-### Make changes
-
-For more straightforward changes, you can ask opencode to directly build it
-without having to review the plan first.
-
-```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
-We need to add authentication to the /settings route. Take a look at how this is
-handled in the /notes route in @packages/functions/src/notes.ts and implement
-the same logic in @packages/functions/src/settings.ts
-```
-
-You want to make sure you provide a good amount of detail so opencode makes the right
-changes.
-
----
-
-### Undo changes
-
-Let's say you ask opencode to make some changes.
-
-```txt frame="none" "@packages/functions/src/api/index.ts"
-Can you refactor the function in @packages/functions/src/api/index.ts?
-```
-
-But you realize that it is not what you wanted. You **can undo** the changes
-using the `/undo` command.
-
-```bash frame="none"
-/undo
-```
-
-opencode will now revert the changes you made and show your original message
-again.
-
-```txt frame="none" "@packages/functions/src/api/index.ts"
-Can you refactor the function in @packages/functions/src/api/index.ts?
-```
-
-From here you can tweak the prompt and ask opencode to try again.
-
-:::tip
-You can run `/undo` multiple times to undo multiple changes.
-:::
-
-Or you **can redo** the changes using the `/redo` command.
-
-```bash frame="none"
-/redo
-```
-
----
-
-## Share
-
-The conversations that you have with opencode can be [shared with your
-team](/docs/share).
-
-```bash frame="none"
-/share
-```
-
-This will create a link to the current conversation and copy it to your clipboard.
-
-:::note
-Conversations are not shared by default.
-:::
-
-Here's an [example conversation](https://opencode.ai/s/4XP1fce5) with opencode.
-
----
-
-## Customize
-
-And that's it! You are now a pro at using opencode.
-
-To make it your own, we recommend [picking a theme](/docs/themes), [customizing the keybinds](/docs/keybinds), [configuring code formatters](/docs/formatters), [creating custom commands](/docs/commands), or playing around with the [opencode config](/docs/config).
diff --git a/packages/web/src/content/docs/docs/enterprise.mdx b/packages/web/src/content/docs/enterprise.mdx
index 3e4b281e0..4faff39cd 100644
--- a/packages/web/src/content/docs/docs/enterprise.mdx
+++ b/packages/web/src/content/docs/enterprise.mdx
@@ -3,7 +3,7 @@ title: Enterprise
description: Using opencode in your organization.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const email = `mailto:${config.email}`
opencode does not store any of your code or context data. This makes it easy for
diff --git a/packages/web/src/content/docs/docs/formatters.mdx b/packages/web/src/content/docs/formatters.mdx
index 9c9411aeb..9c9411aeb 100644
--- a/packages/web/src/content/docs/docs/formatters.mdx
+++ b/packages/web/src/content/docs/formatters.mdx
diff --git a/packages/web/src/content/docs/docs/github.mdx b/packages/web/src/content/docs/github.mdx
index d592fc84f..d592fc84f 100644
--- a/packages/web/src/content/docs/docs/github.mdx
+++ b/packages/web/src/content/docs/github.mdx
diff --git a/packages/web/src/content/docs/docs/gitlab.mdx b/packages/web/src/content/docs/gitlab.mdx
index 023ac678e..023ac678e 100644
--- a/packages/web/src/content/docs/docs/gitlab.mdx
+++ b/packages/web/src/content/docs/gitlab.mdx
diff --git a/packages/web/src/content/docs/docs/ide.mdx b/packages/web/src/content/docs/ide.mdx
index b2f7d1e10..b2f7d1e10 100644
--- a/packages/web/src/content/docs/docs/ide.mdx
+++ b/packages/web/src/content/docs/ide.mdx
diff --git a/packages/web/src/content/docs/index.mdx b/packages/web/src/content/docs/index.mdx
index ea39be9ee..7ca2fee79 100644
--- a/packages/web/src/content/docs/index.mdx
+++ b/packages/web/src/content/docs/index.mdx
@@ -1,12 +1,311 @@
---
-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-ornate-dark.svg
- light: ../../assets/logo-ornate-light.svg
- alt: opencode logo
+title: Intro
+description: Get started with opencode.
---
+
+import { Tabs, TabItem } from "@astrojs/starlight/components"
+
+[**opencode**](/) is an AI coding agent built for the terminal.
+
+![opencode TUI with the opencode theme](../../assets/lander/screenshot.png)
+
+Let's get started.
+
+---
+
+#### Prerequisites
+
+To use opencode, you'll need:
+
+1. A modern terminal emulator like:
+
+ - [WezTerm](https://wezterm.org), cross-platform
+ - [Alacritty](https://alacritty.org), cross-platform
+ - [Ghostty](https://ghostty.org), Linux and macOS
+ - [Kitty](https://sw.kovidgoyal.net/kitty/), Linux and macOS
+
+2. API keys for the LLM providers you want to use.
+
+---
+
+## Install
+
+The easiest way to install opencode is through the install script.
+
+```bash
+curl -fsSL https://opencode.ai/install | bash
+```
+
+You can also install it with the following:
+
+- **Using Node.js**
+
+ <Tabs>
+ <TabItem label="npm">
+ ```bash
+ npm install -g opencode-ai
+ ```
+ </TabItem>
+ <TabItem label="Bun">
+ ```bash
+ bun install -g opencode-ai
+ ```
+ </TabItem>
+ <TabItem label="pnpm">
+ ```bash
+ pnpm install -g opencode-ai
+ ```
+ </TabItem>
+ <TabItem label="Yarn">
+ ```bash
+ yarn global add opencode-ai
+ ```
+ </TabItem>
+ </Tabs>
+
+- **Using Homebrew on macOS and Linux**
+
+ ```bash
+ brew install sst/tap/opencode
+ ```
+
+- **Using Paru on Arch Linux**
+
+ ```bash
+ paru -S opencode-bin
+ ```
+
+#### Windows
+
+Right now the automatic installation methods do not work properly on Windows. However you can grab the binary from the [Releases](https://github.com/sst/opencode/releases).
+
+---
+
+## Configure
+
+With opencode you can use any LLM provider by configuring their API keys.
+
+We recommend signing up for [Claude Pro](https://www.anthropic.com/news/claude-pro) or [Max](https://www.anthropic.com/max), it's the most cost-effective way to use opencode.
+
+Once you've signed up, run `opencode auth login` and select Anthropic.
+
+```bash
+$ opencode auth login
+
+┌ Add credential
+│
+◆ Select provider
+│ ● Anthropic (recommended)
+│ ○ OpenAI
+│ ○ Google
+│ ○ Amazon Bedrock
+│ ○ Azure
+│ ○ DeepSeek
+│ ○ Groq
+│ ...
+└
+```
+
+Alternatively, you can select one of the other providers. [Learn more](/docs/providers#directory).
+
+---
+
+## Initialize
+
+Now that you've configured a provider, you can navigate to a project that
+you want to work on.
+
+```bash
+cd /path/to/project
+```
+
+And run opencode.
+
+```bash
+opencode
+```
+
+Next, initialize opencode for the project by running the following command.
+
+```bash frame="none"
+/init
+```
+
+This will get opencode to analyze your project and create an `AGENTS.md` file in
+the project root.
+
+:::tip
+You should commit your project's `AGENTS.md` file to Git.
+:::
+
+This helps opencode understand the project structure and the coding patterns
+used.
+
+---
+
+## Usage
+
+You are now ready to use opencode to work on your project. Feel free to ask it
+anything!
+
+If you are new to using an AI coding agent, here are some examples that might
+help.
+
+---
+
+### Ask questions
+
+You can ask opencode to explain the codebase to you.
+
+:::tip
+Use the `@` key to fuzzy search for files in the project.
+:::
+
+```txt frame="none" "@packages/functions/src/api/index.ts"
+How is authentication handled in @packages/functions/src/api/index.ts
+```
+
+This is helpful if there's a part of the codebase that you didn't work on.
+
+---
+
+### Add features
+
+You can ask opencode to add new features to your project. Though we first recommend asking it to create a plan.
+
+1. **Create a plan**
+
+ opencode has a _Plan mode_ that disables its ability to make changes and
+ instead suggest _how_ it'll implement the feature.
+
+ Switch to it using the **Tab** key. You'll see an indicator for this in the lower right corner.
+
+ ```bash frame="none" title="Switch to Plan mode"
+ <TAB>
+ ```
+
+ Now let's describe what we want it to do.
+
+ ```txt frame="none"
+ When a user deletes a note, we'd like to flag it as deleted in the database.
+ Then create a screen that shows all the recently deleted notes.
+ From this screen, the user can undelete a note or permanently delete it.
+ ```
+
+ You want to give opencode enough details to understand what you want. It helps
+ to talk to it like you are talking to a junior developer on your team.
+
+ :::tip
+ Give opencode plenty of context and examples to help it understand what you
+ want.
+ :::
+
+2. **Iterate on the plan**
+
+ Once it gives you a plan, you can give it feedback or add more details.
+
+ ```txt frame="none"
+ We'd like to design this new screen using a design I've used before.
+ [Image #1] Take a look at this image and use it as a reference.
+ ```
+
+ :::tip
+ Drag and drop images into the terminal to add them to the prompt.
+ :::
+
+ opencode can scan any images you give it and add them to the prompt. You can
+ do this by dragging and dropping an image into the terminal.
+
+3. **Build the feature**
+
+ Once you feel comfortable with the plan, switch back to _Build mode_ by
+ hitting the **Tab** key again.
+
+ ```bash frame="none"
+ <TAB>
+ ```
+
+ And asking it to make the changes.
+
+ ```bash frame="none"
+ Sounds good! Go ahead and make the changes.
+ ```
+
+---
+
+### Make changes
+
+For more straightforward changes, you can ask opencode to directly build it
+without having to review the plan first.
+
+```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
+We need to add authentication to the /settings route. Take a look at how this is
+handled in the /notes route in @packages/functions/src/notes.ts and implement
+the same logic in @packages/functions/src/settings.ts
+```
+
+You want to make sure you provide a good amount of detail so opencode makes the right
+changes.
+
+---
+
+### Undo changes
+
+Let's say you ask opencode to make some changes.
+
+```txt frame="none" "@packages/functions/src/api/index.ts"
+Can you refactor the function in @packages/functions/src/api/index.ts?
+```
+
+But you realize that it is not what you wanted. You **can undo** the changes
+using the `/undo` command.
+
+```bash frame="none"
+/undo
+```
+
+opencode will now revert the changes you made and show your original message
+again.
+
+```txt frame="none" "@packages/functions/src/api/index.ts"
+Can you refactor the function in @packages/functions/src/api/index.ts?
+```
+
+From here you can tweak the prompt and ask opencode to try again.
+
+:::tip
+You can run `/undo` multiple times to undo multiple changes.
+:::
+
+Or you **can redo** the changes using the `/redo` command.
+
+```bash frame="none"
+/redo
+```
+
+---
+
+## Share
+
+The conversations that you have with opencode can be [shared with your
+team](/docs/share).
+
+```bash frame="none"
+/share
+```
+
+This will create a link to the current conversation and copy it to your clipboard.
+
+:::note
+Conversations are not shared by default.
+:::
+
+Here's an [example conversation](https://opencode.ai/s/4XP1fce5) with opencode.
+
+---
+
+## Customize
+
+And that's it! You are now a pro at using opencode.
+
+To make it your own, we recommend [picking a theme](/docs/themes), [customizing the keybinds](/docs/keybinds), [configuring code formatters](/docs/formatters), [creating custom commands](/docs/commands), or playing around with the [opencode config](/docs/config).
diff --git a/packages/web/src/content/docs/docs/keybinds.mdx b/packages/web/src/content/docs/keybinds.mdx
index 6fd6148e1..6fd6148e1 100644
--- a/packages/web/src/content/docs/docs/keybinds.mdx
+++ b/packages/web/src/content/docs/keybinds.mdx
diff --git a/packages/web/src/content/docs/docs/lsp.mdx b/packages/web/src/content/docs/lsp.mdx
index 6a661521c..6a661521c 100644
--- a/packages/web/src/content/docs/docs/lsp.mdx
+++ b/packages/web/src/content/docs/lsp.mdx
diff --git a/packages/web/src/content/docs/docs/mcp-servers.mdx b/packages/web/src/content/docs/mcp-servers.mdx
index 0ceeb47a3..0ceeb47a3 100644
--- a/packages/web/src/content/docs/docs/mcp-servers.mdx
+++ b/packages/web/src/content/docs/mcp-servers.mdx
diff --git a/packages/web/src/content/docs/docs/models.mdx b/packages/web/src/content/docs/models.mdx
index efebc5cb4..efebc5cb4 100644
--- a/packages/web/src/content/docs/docs/models.mdx
+++ b/packages/web/src/content/docs/models.mdx
diff --git a/packages/web/src/content/docs/docs/modes.mdx b/packages/web/src/content/docs/modes.mdx
index ae14c2f32..ae14c2f32 100644
--- a/packages/web/src/content/docs/docs/modes.mdx
+++ b/packages/web/src/content/docs/modes.mdx
diff --git a/packages/web/src/content/docs/docs/permissions.mdx b/packages/web/src/content/docs/permissions.mdx
index 44dbc92ef..44dbc92ef 100644
--- a/packages/web/src/content/docs/docs/permissions.mdx
+++ b/packages/web/src/content/docs/permissions.mdx
diff --git a/packages/web/src/content/docs/docs/plugins.mdx b/packages/web/src/content/docs/plugins.mdx
index 071f1d427..071f1d427 100644
--- a/packages/web/src/content/docs/docs/plugins.mdx
+++ b/packages/web/src/content/docs/plugins.mdx
diff --git a/packages/web/src/content/docs/docs/providers.mdx b/packages/web/src/content/docs/providers.mdx
index 2e8a3b5a3..c25a1c7d7 100644
--- a/packages/web/src/content/docs/docs/providers.mdx
+++ b/packages/web/src/content/docs/providers.mdx
@@ -3,7 +3,7 @@ title: Providers
description: Using any LLM provider in opencode.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const console = config.console
opencode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models.
diff --git a/packages/web/src/content/docs/docs/rules.mdx b/packages/web/src/content/docs/rules.mdx
index aa5590bb5..aa5590bb5 100644
--- a/packages/web/src/content/docs/docs/rules.mdx
+++ b/packages/web/src/content/docs/rules.mdx
diff --git a/packages/web/src/content/docs/docs/sdk.mdx b/packages/web/src/content/docs/sdk.mdx
index aaf218cc7..1e65064f4 100644
--- a/packages/web/src/content/docs/docs/sdk.mdx
+++ b/packages/web/src/content/docs/sdk.mdx
@@ -3,7 +3,7 @@ title: SDK
description: Type-safe JS client for opencode server.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
The opencode JS/TS SDK provides a type-safe client for interacting with the server.
diff --git a/packages/web/src/content/docs/docs/server.mdx b/packages/web/src/content/docs/server.mdx
index f63adb6c4..0713cce65 100644
--- a/packages/web/src/content/docs/docs/server.mdx
+++ b/packages/web/src/content/docs/server.mdx
@@ -3,7 +3,7 @@ title: Server
description: Interact with opencode server over HTTP.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
The `opencode serve` command runs a headless HTTP server that exposes an OpenAPI endpoint that an opencode client can use.
diff --git a/packages/web/src/content/docs/docs/share.mdx b/packages/web/src/content/docs/share.mdx
index efb54c2d5..efb54c2d5 100644
--- a/packages/web/src/content/docs/docs/share.mdx
+++ b/packages/web/src/content/docs/share.mdx
diff --git a/packages/web/src/content/docs/docs/themes.mdx b/packages/web/src/content/docs/themes.mdx
index 3defceaea..3defceaea 100644
--- a/packages/web/src/content/docs/docs/themes.mdx
+++ b/packages/web/src/content/docs/themes.mdx
diff --git a/packages/web/src/content/docs/docs/troubleshooting.mdx b/packages/web/src/content/docs/troubleshooting.mdx
index b846bed2d..b846bed2d 100644
--- a/packages/web/src/content/docs/docs/troubleshooting.mdx
+++ b/packages/web/src/content/docs/troubleshooting.mdx
diff --git a/packages/web/src/content/docs/docs/tui.mdx b/packages/web/src/content/docs/tui.mdx
index 113bad697..113bad697 100644
--- a/packages/web/src/content/docs/docs/tui.mdx
+++ b/packages/web/src/content/docs/tui.mdx
diff --git a/packages/web/src/content/docs/docs/zen.mdx b/packages/web/src/content/docs/zen.mdx
index 46d457932..b3de59021 100644
--- a/packages/web/src/content/docs/docs/zen.mdx
+++ b/packages/web/src/content/docs/zen.mdx
@@ -3,7 +3,7 @@ title: Zen
description: Curated list of models provided by opencode.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const console = config.console
export const email = `mailto:${config.email}`