OpenCode ルール(AGENTS.md)

OpenCode では、ルール(Rules)は AI の動作を制御する中核メカニズムです。

私たちはAGENTS.mdファイルを通じて、OpenCode にカスタム指示を提供し、プロジェクトの規範に従って開発させることができます。

ツールは AI が何をできるかを決定し、AGENTS.md は AI がどうすべきかを決定します。

AGENTS.md = AI にチーム開発規範を設定する。


一、AGENTS.md とは

AGENTS.mdルールファイルであり、次のために使用されます:

  • プロジェクト構造の定義
  • コードスタイルの制約
  • 開発プロセスの標準化
  • AI にタスクの実行方法を指示

これらの内容は LLM のコンテキストに追加されます。

効果:

  • AI があなたのプロジェクトをより理解する
  • 生成されるコードが規範に適合する
  • 繰り返しの修正が減る

二、クイック初期化

OpenCode で実行:

/init

このコマンドは:

  • プロジェクト構造をスキャン
  • コードの編成方法を分析
  • AGENTS.md を自動生成

推奨:

  • AGENTS.md を Git にコミット
  • チームの統一規範として

三、サンプル構造

# 项目说明

这是一个基于 TypeScript 的 monorepo 项目。

## 项目结构

- packages/ 核心模块
- infra/ 基础设施
- web/ 前端应用

## 代码规范

- 使用 TypeScript 严格模式
- 公共代码放在 packages/core
- 所有函数必须添加注释

## 开发约定

- 使用 workspace 方式引用模块
- API 必须统一错误处理

本質:チーム規範を「AI に向けて書く」


四、ルールの適用範囲

1、プロジェクトレベルルール

パス:

./AGENTS.md

作用:

  • 現在のプロジェクトでのみ有効
  • チームで共有

2、グローバルルール

パス:

~/.config/opencode/AGENTS.md

作用:

  • すべてのプロジェクトで有効
  • 個人用

推奨用途:

  • 個人のコーディング習慣
  • 出力スタイルの制御

五、Claude Code 互換性

OpenCode は Claude Code のルール体系と互換性があります:

  • プロジェクトルール:CLAUDE.md
  • グローバルルール:~/.claude/CLAUDE.md
  • スキルディレクトリ:~/.claude/skills/

使用したくない場合は、無効にできます:

export OPENCODE_DISABLE_CLAUDE_CODE=1

六、ルールの読み込み優先順位(重要)

OpenCode は起動時に次の順序で読み込みます:

  1. 現在のディレクトリから上方向に AGENTS.md を探す
  2. ない場合 → CLAUDE.md を探す
  3. グローバルルール ~/.config/opencode/AGENTS.md
  4. Claude グローバルルール ~/.claude/CLAUDE.md

重要ポイント:

  • AGENTS.md の優先順位が最も高い
  • 同じレベルでは最初に一致したファイルのみが使用される

七、拡張ルール(instructions)

~の中でopencode.json追加のルールファイルを読み込めます:

{
  "instructions": [
    "CONTRIBUTING.md",
    "docs/guidelines.md",
    ".cursor/rules/*.md"
  ]
}

利点:

  • 既存のドキュメントを再利用
  • 重複管理を回避

リモートルールをサポート

{
  "instructions": [
    "https://raw.githubusercontent.com/xxx/rules/main/style.md"
  ]
}

説明:

  • URL 読み込みをサポート
  • タイムアウト:5 秒

八、モジュール化ルール(上級)

推奨方法(instructions を使用)

{
  "instructions": [
    "docs/dev.md",
    "test/rules.md",
    "packages/*/AGENTS.md"
  ]
}

適しているケース:

  • monorepo
  • 大規模プロジェクト

方法2:AGENTS.md で手動参照

# 规则加载说明

当遇到 @xxx 文件时,请使用 read 工具加载。

- 不要一次性加载全部文件
- 按需加载
- 加载后必须遵守

例:

TypeScript 规范:@docs/typescript.md
React 规范:@docs/react.md
API 规范:@docs/api.md

「オンデマンドでのルール読み込み」を実現


九、ベストプラクティス(重点)

1、ルールは具体的に

❌ 書かないこと:

コードは規範に従うべきだ

✅ 書くべきこと:

所有函数必须添加 JSDoc 注释

2、ルールは実行可能に

AI は抽象的な説明ではなく、明確なルールのみを実行できます。

3、長すぎないように

推奨:

  • コアルールは AGENTS.md に書く
  • 詳細ルールは instructions ファイルに分割

4、チームで一元的に管理

  • Git 管理に組み込む
  • 開発規範の一部として
その他の拡張