OpenCode
OpenCode
Section titled “OpenCode”LNAI exports unified configuration to OpenCode’s native format, transforming settings as needed.
Output Structure
Section titled “Output Structure”.opencode/├── AGENTS.md # Symlink → ../.ai/AGENTS.md├── rules/ # Symlink → ../.ai/rules/├── skills/<name>/ # Symlinks → ../../.ai/skills/<name>/└── <overrides> # Symlinks from .ai/.opencode/
opencode.json # Generated (at project root)File Mapping
Section titled “File Mapping”| Source | Output | Type |
|---|---|---|
.ai/AGENTS.md | .opencode/AGENTS.md | Symlink |
.ai/rules/ | .opencode/rules/ | Symlink |
.ai/skills/<name>/ | .opencode/skills/<name>/ | Symlink |
.ai/settings.json | opencode.json | Transformed |
.ai/.opencode/<path> | .opencode/<path> | Symlink |
Transformations
Section titled “Transformations”Permissions
Section titled “Permissions”// Input (Claude format){ "permissions": { "allow": ["Bash(git:*)"] } }
// Output (OpenCode format){ "permission": { "bash": { "git *": "allow" } } }MCP Servers
Section titled “MCP Servers”// Input (Claude stdio){ "command": "npx", "args": ["-y", "@example/mcp"] }
// Output (OpenCode local){ "type": "local", "command": ["npx", "-y", "@example/mcp"] }| Claude | OpenCode |
|---|---|
stdio (command, args) | type: "local", command: [...] |
type: "http" or "sse" | type: "remote" |
env: {} | environment: {} |
${VAR} | {env:VAR} |
Any settings in overrides.opencode are deep-merged into the output.