summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/modes.mdx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/web/src/content/docs/modes.mdx')
-rw-r--r--packages/web/src/content/docs/modes.mdx329
1 files changed, 0 insertions, 329 deletions
diff --git a/packages/web/src/content/docs/modes.mdx b/packages/web/src/content/docs/modes.mdx
deleted file mode 100644
index b8ea69739..000000000
--- a/packages/web/src/content/docs/modes.mdx
+++ /dev/null
@@ -1,329 +0,0 @@
----
-title: Modes
-description: Different modes for different use cases.
----
-
-:::caution
-Modes are now configured through the `agent` option in the opencode config. The
-`mode` option is now deprecated. [Learn more](/docs/agents).
-:::
-
-Modes in opencode allow you to customize the behavior, tools, and prompts for different use cases.
-
-It comes with two built-in modes: **build** and **plan**. You can customize
-these or configure your own through the opencode config.
-
-You can switch between modes during a session or configure them in your config file.
-
----
-
-## Built-in
-
-opencode comes with two built-in modes.
-
----
-
-### Build
-
-Build is the **default** mode with all tools enabled. This is the standard mode for development work where you need full access to file operations and system commands.
-
----
-
-### Plan
-
-A restricted mode designed for planning and analysis. In plan mode, the following tools are disabled by default:
-
-- `write` - Cannot create new files
-- `edit` - Cannot modify existing files, except for files located at `.opencode/plans/*.md` to detail the plan itself
-- `patch` - Cannot apply patches
-- `bash` - Cannot execute shell commands
-
-This mode is useful when you want the AI to analyze code, suggest changes, or create plans without making any actual modifications to your codebase.
-
----
-
-## Switching
-
-You can switch between modes during a session using the _Tab_ key. Or your configured `switch_mode` keybind.
-
-See also: [Formatters](/docs/formatters) for information about code formatting configuration.
-
----
-
-## Configure
-
-You can customize the built-in modes or create your own through configuration. Modes can be configured in two ways:
-
-### JSON Configuration
-
-Configure modes in your `opencode.json` config file:
-
-```json title="opencode.json"
-{
- "$schema": "https://opencode.ai/config.json",
- "mode": {
- "build": {
- "model": "anthropic/claude-sonnet-4-20250514",
- "prompt": "{file:./prompts/build.txt}",
- "tools": {
- "write": true,
- "edit": true,
- "bash": true
- }
- },
- "plan": {
- "model": "anthropic/claude-haiku-4-20250514",
- "tools": {
- "write": false,
- "edit": false,
- "bash": false
- }
- }
- }
-}
-```
-
-### Markdown Configuration
-
-You can also define modes using markdown files. Place them in:
-
-- Global: `~/.config/opencode/modes/`
-- Project: `.opencode/modes/`
-
-```markdown title="~/.config/opencode/modes/review.md"
----
-model: anthropic/claude-sonnet-4-20250514
-temperature: 0.1
-tools:
- write: false
- edit: false
- bash: false
----
-
-You are in code review mode. Focus on:
-
-- Code quality and best practices
-- Potential bugs and edge cases
-- Performance implications
-- Security considerations
-
-Provide constructive feedback without making direct changes.
-```
-
-The markdown file name becomes the mode name (e.g., `review.md` creates a `review` mode).
-
-Let's look at these configuration options in detail.
-
----
-
-### Model
-
-Use the `model` config to override the default model for this mode. Useful for using different models optimized for different tasks. For example, a faster model for planning, a more capable model for implementation.
-
-```json title="opencode.json"
-{
- "mode": {
- "plan": {
- "model": "anthropic/claude-haiku-4-20250514"
- }
- }
-}
-```
-
----
-
-### Temperature
-
-Control the randomness and creativity of the AI's responses with the `temperature` config. Lower values make responses more focused and deterministic, while higher values increase creativity and variability.
-
-```json title="opencode.json"
-{
- "mode": {
- "plan": {
- "temperature": 0.1
- },
- "creative": {
- "temperature": 0.8
- }
- }
-}
-```
-
-Temperature values typically range from 0.0 to 1.0:
-
-- **0.0-0.2**: Very focused and deterministic responses, ideal for code analysis and planning
-- **0.3-0.5**: Balanced responses with some creativity, good for general development tasks
-- **0.6-1.0**: More creative and varied responses, useful for brainstorming and exploration
-
-```json title="opencode.json"
-{
- "mode": {
- "analyze": {
- "temperature": 0.1,
- "prompt": "{file:./prompts/analysis.txt}"
- },
- "build": {
- "temperature": 0.3
- },
- "brainstorm": {
- "temperature": 0.7,
- "prompt": "{file:./prompts/creative.txt}"
- }
- }
-}
-```
-
-If no temperature is specified, opencode uses model-specific defaults (typically 0 for most models, 0.55 for Qwen models).
-
----
-
-### Prompt
-
-Specify a custom system prompt file for this mode with the `prompt` config. The prompt file should contain instructions specific to the mode's purpose.
-
-```json title="opencode.json"
-{
- "mode": {
- "review": {
- "prompt": "{file:./prompts/code-review.txt}"
- }
- }
-}
-```
-
-This path is relative to where the config file is located. So this works for
-both the global opencode config and the project specific config.
-
----
-
-### Tools
-
-Control which tools are available in this mode with the `tools` config. You can enable or disable specific tools by setting them to `true` or `false`.
-
-```json
-{
- "mode": {
- "readonly": {
- "tools": {
- "write": false,
- "edit": false,
- "bash": false,
- "read": true,
- "grep": true,
- "glob": true
- }
- }
- }
-}
-```
-
-If no tools are specified, all tools are enabled by default.
-
----
-
-#### Available tools
-
-Here are all the tools can be controlled through the mode config.
-
-| Tool | Description |
-| ----------- | ---------------------- |
-| `bash` | Execute shell commands |
-| `edit` | Modify existing files |
-| `write` | Create new files |
-| `read` | Read file contents |
-| `grep` | Search file contents |
-| `glob` | Find files by pattern |
-| `patch` | Apply patches to files |
-| `todowrite` | Manage todo lists |
-| `webfetch` | Fetch web content |
-
----
-
-## Custom modes
-
-You can create your own custom modes by adding them to the configuration. Here are examples using both approaches:
-
-### Using JSON configuration
-
-```json title="opencode.json" {4-14}
-{
- "$schema": "https://opencode.ai/config.json",
- "mode": {
- "docs": {
- "prompt": "{file:./prompts/documentation.txt}",
- "tools": {
- "write": true,
- "edit": true,
- "bash": false,
- "read": true,
- "grep": true,
- "glob": true
- }
- }
- }
-}
-```
-
-### Using markdown files
-
-Create mode files in `.opencode/modes/` for project-specific modes or `~/.config/opencode/modes/` for global modes:
-
-```markdown title=".opencode/modes/debug.md"
----
-temperature: 0.1
-tools:
- bash: true
- read: true
- grep: true
- write: false
- edit: false
----
-
-You are in debug mode. Your primary goal is to help investigate and diagnose issues.
-
-Focus on:
-
-- Understanding the problem through careful analysis
-- Using bash commands to inspect system state
-- Reading relevant files and logs
-- Searching for patterns and anomalies
-- Providing clear explanations of findings
-
-Do not make any changes to files. Only investigate and report.
-```
-
-```markdown title="~/.config/opencode/modes/refactor.md"
----
-model: anthropic/claude-sonnet-4-20250514
-temperature: 0.2
-tools:
- edit: true
- read: true
- grep: true
- glob: true
----
-
-You are in refactoring mode. Focus on improving code quality without changing functionality.
-
-Priorities:
-
-- Improve code readability and maintainability
-- Apply consistent naming conventions
-- Reduce code duplication
-- Optimize performance where appropriate
-- Ensure all tests continue to pass
-```
-
----
-
-### Use cases
-
-Here are some common use cases for different modes.
-
-- **Build mode**: Full development work with all tools enabled
-- **Plan mode**: Analysis and planning without making changes
-- **Review mode**: Code review with read-only access plus documentation tools
-- **Debug mode**: Focused on investigation with bash and read tools enabled
-- **Docs mode**: Documentation writing with file operations but no system commands
-
-You might also find different models are good for different use cases.