コンテンツにスキップ

ルール

OpenCode は Cursor のルール类似して、AGENTS.md ファイルを通じてカスタム指示を提供できます。これらの指示は、特定プロジェクトの動作をカスタマイズするために LLM のコンテキストに含められます。

初期化

新しい AGENTS.mdファイルを作成するには、OpenCode で /init コマンドを実行します:

/init

/init はリポジトリの重要なファイルをスキャンし、コードベースが回答できない場合にターゲットを絞った質問をし、簡潔なプロジェクト固有のガイダンスを持つ AGENTS.md を作成または更新します。

これは将来のエージェントセッションが最も 必要とするものに集中します:

  • ビルド、lint、テストコマンド
  • コマンド順序と集中検証ステップ
  • ファイル名からでは明らかでないアーキテクチャとレポジトリ構造
  • プロジェクト固有の規則、設定の癖、運用の落とし穴
  • Cursor や Copilot ルールなどの既存の指示ソースへの参照

既に AGENTS.md がある場合、/init はその場で改善します。

例

このファイルを手動で作成することもできます。例:

# SST v3 Monorepo Project

This is an SST v3 monorepo with TypeScript. The project uses bun workspaces.

## Project Structure
- `packages/` - All workspace packages
- `infra/` - Infrastructure definitions
- `sst.config.ts` - Main SST configuration with dynamic imports

## Code Standards
- Use TypeScript with strict mode
- Shared code goes in `packages/core/`
- Functions go in `packages/functions/`
- Infrastructure should be split into logical files in `infra/`

## Monorepo Conventions
- Import shared modules using workspace names: `@my-app/core/example`

型

OpenCode は異なる目的で複数の場所から AGENTS.md を読み取ることをサポートしています。

Project

プロジェクトルートに AGENTS.md を配置して、プロジェクト固有のルールを設定します。これらはそのディレクトリ或其のサブディレクトリでのみ適用されます。

Global

~/.config/opencode/AGENTS.md にグローバルルールを持つこともできます。これはすべての OpenCode セッションに適用されます。Git にコミットされないため、个人的なルールに使用します。

Claude Code Compatibility

Claude Code からの移行ユーザーの場合、OpenCode はフォールバックとして Claude Code のファイル規則をサポートします:

  • プロジェクトルール: プロジェクトディレクトリの CLAUDE.md(AGENTS.md が存在しない場合に使用)
  • グローバルルール: ~/.claude/CLAUDE.md(~/.config/opencode/AGENTS.md が存在しない場合に使用)
  • スキル: ~/.claude/skills/ — 詳細は Agent Skills ドキュメントを参照してください

Claude Code 互換性を無効にするには:

export OPENCODE_DISABLE_CLAUDE_CODE=1        # Disable all .claude support
export OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # Disable only ~/.claude/CLAUDE.md
export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills

優先順位

OpenCode が起動するとき、以下の順序でルールファイルを検索します:

  1. 現在のディレクトリから上ってローカルファイル(AGENTS.md、次に CLAUDE.md)
  2. ~/.config/opencode/AGENTS.md のグローバルファイル
  3. ~/.claude/CLAUDE.md の Claude Codeファイル(無効にしていない場合)

各カテゴリで最初の一致ファイルが優先します。

カスタム指示

opencode.json でカスタム指示ファイルを指定できます:

{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
}

遥控 URL も使用できます:

{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
}

リモート指示は 5 秒のタイムアウト付きで取得されます。

すべての指示ファイルは AGENTS.md ファイルと組み合わされます。

外部ファイルの参照

OpenCode は AGENTS.md のファイル参照を自動的に解析しませんが、2 つの方法でこれを達成できます:

opencode.json の使用

推奨されるアプローチは opencode.json の instructions フィールドを使用します:

{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["docs/development-standards.md", "test/testing-guidelines.md"]
}

AGENTS.md の手動指示

明示的な指示を提供することで OpenCode に外部ファイルを読み取るように教えることができます:

# TypeScript Project Rules

## External File Loading

CRITICAL: When you encounter a file reference (e.g., @rules/general.md), use your Read tool to load it on a need-to-know basis. They're relevant to the SPECIFIC task at hand.

Instructions:
- Do NOT preemptively load all references - use lazy loading based on actual need
- When loaded, treat content as mandatory instructions that override defaults
- Follow references recursively when needed

## Development Guidelines
For TypeScript code style: @docs/typescript-guidelines.md
For React patterns: @docs/react-patterns.md

OpenCode は要求に応じてファイルをロードします。