Skip to content

Commit 68a01b6

Browse files
authored
docs: document ~/.claude/CLAUDE.md compatibility behavior (anomalyco#8268)
1 parent 123cb11 commit 68a01b6

1 file changed

Lines changed: 23 additions & 6 deletions

File tree

packages/web/src/content/docs/rules.mdx

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Rules
33
description: Set custom instructions for opencode.
44
---
55

6-
You can provide custom instructions to opencode by creating an `AGENTS.md` file. This is similar to `CLAUDE.md` or Cursor's rules. It contains instructions that will be included in the LLM's context to customize its behavior for your specific project.
6+
You can provide custom instructions to opencode by creating an `AGENTS.md` file. This is similar to Cursor's rules. It contains instructions that will be included in the LLM's context to customize its behavior for your specific project.
77

88
---
99

@@ -58,24 +58,41 @@ opencode also supports reading the `AGENTS.md` file from multiple locations. And
5858

5959
### Project
6060

61-
The ones we have seen above, where the `AGENTS.md` is placed in the project root, are project-specific rules. These only apply when you are working in this directory or its sub-directories.
61+
Place an `AGENTS.md` in your project root for project-specific rules. These only apply when you are working in this directory or its sub-directories.
6262

6363
### Global
6464

6565
You can also have global rules in a `~/.config/opencode/AGENTS.md` file. This gets applied across all opencode sessions.
6666

6767
Since this isn't committed to Git or shared with your team, we recommend using this to specify any personal rules that the LLM should follow.
6868

69+
### Claude Code Compatibility
70+
71+
For users migrating from Claude Code, OpenCode supports Claude Code's file conventions as fallbacks:
72+
73+
- **Project rules**: `CLAUDE.md` in your project directory (used if no `AGENTS.md` exists)
74+
- **Global rules**: `~/.claude/CLAUDE.md` (used if no `~/.config/opencode/AGENTS.md` exists)
75+
- **Skills**: `~/.claude/skills/` — see [Agent Skills](/docs/skills/) for details
76+
77+
To disable Claude Code compatibility, set one of these environment variables:
78+
79+
```bash
80+
export OPENCODE_DISABLE_CLAUDE_CODE=1 # Disable all .claude support
81+
export OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # Disable only ~/.claude/CLAUDE.md
82+
export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills
83+
```
84+
6985
---
7086

7187
## Precedence
7288

73-
So when opencode starts, it looks for:
89+
When opencode starts, it looks for rule files in this order:
7490

75-
1. **Local files** by traversing up from the current directory
76-
2. **Global file** by checking `~/.config/opencode/AGENTS.md`
91+
1. **Local files** by traversing up from the current directory (`AGENTS.md`, `CLAUDE.md`, or `CONTEXT.md`)
92+
2. **Global file** at `~/.config/opencode/AGENTS.md`
93+
3. **Claude Code file** at `~/.claude/CLAUDE.md` (unless disabled)
7794

78-
If you have both global and project-specific rules, opencode will combine them together.
95+
The first matching file wins in each category. For example, if you have both `AGENTS.md` and `CLAUDE.md`, only `AGENTS.md` is used. Similarly, `~/.config/opencode/AGENTS.md` takes precedence over `~/.claude/CLAUDE.md`.
7996

8097
---
8198

0 commit comments

Comments
 (0)