設定ガイド
opencode.jsonc 設定ガイド:コミット前の 7 つの確認
大事なのはファイルの置き場所だけではありません。opencode.jsonc は、秘密情報を含まないレビュー可能な OpenCode 設定として扱い、認証情報はリポジトリ外に置きます。グローバル設定とプロジェクト設定の合成を理解し、Provider、モデル、権限、ロールバックを確認してからチームで使います。
- 要点
- opencode.jsonc
- 2026年7月31日確認
- 約17分
要点
opencode.jsonc

大事なのはファイルの置き場所だけではありません。opencode.jsonc は、秘密情報を含まないレビュー可能な OpenCode 設定として扱い、認証情報はリポジトリ外に置きます。グローバル設定とプロジェクト設定の合成を理解し、Provider、モデル、権限、ロールバックを確認してからチームで使います。
| 判断 | 推奨場所 | レビュー観点 |
|---|---|---|
| 主モデルと小型モデル | 共有ならプロジェクト、個人ならグローバル | モデル ID は今日確認済みか |
| Provider オプション | グローバルまたは管理設定 | token や private endpoint を露出しないか |
| 権限 | チーム規則はプロジェクト設定 | 各 allow / deny を説明できるか |
| Shell と TUI | リポジトリ要件以外はグローバル | 対象 OS で動くか |
| MCP と plugin | scope 確認後にプロジェクトへ | 外部データを変更できるか |
1. opencode.jsonc に入れる内容を先に決める
公式ドキュメントでは JSON と JSONC のサポートが説明されています。コメントは、設定の理由、所有者、確認日、再現コマンドを書くために使うと実務で役立ちます。
秘密情報は入れません。モデル、shell、ツール、権限、プロジェクトのパスは設定できますが、API key、token、private URL、proxy の資格情報は環境変数や Provider の認証経路に置きます。
2. グローバル・プロジェクト・管理設定を分ける
OpenCode の設定は完全置換ではなく結合されます。グローバル設定とプロジェクト設定が同時に効くことがあり、同じキーだけが後の層で上書きされます。
個人の好みはグローバル設定、チームがレビューすべき規則はプロジェクト設定に置くのが自然です。既定モデル、無視パス、コマンド方針、MCP、権限は特にレビュー対象です。

3. Provider とモデルを検証可能な選択にする
Provider とモデル ID は、最新の公式ドキュメントか Provider 画面からコピーします。JSON として正しくても、実 ID が違えば実行時に失敗します。
主モデルと小型モデルを分ける理由は、コスト、速度、コンテキスト、ローカル利用、コンプライアンスなどに限定します。理由が変わったら設定も見直します。
4. 権限は狭く、レビュー可能に保つ
権限は最も慎重に扱う部分です。編集と shell は最初 ask にして、繰り返し可能で戻しやすい低リスク操作だけを狭く allow にします。
依存追加、削除、migration、deploy、push、secret、リポジトリ外のディレクトリは deny または明示確認に残します。agent や MCP の例外は、その役割や連携の近くに置きます。
5. Schema 検証を先に行う
公式 Schema URL を入れると、エディタが補完と検証を行えます。これは安全審査そのものではありませんが、スペルミスや古い形を早く見つけられます。
その後、人間が各キーを確認します。秘密ではないか、プロジェクトで共有すべきか、コメントが正しいか、バージョン依存ではないかを見ます。
6. 小さなリポジトリで解決後の設定を試す
コミット前に、小さな安全なリポジトリで試します。OpenCode を起動し、モデル一覧、ファイル読み取り、小さな編集、想定コマンド、deny される操作を確認します。
OS、shell、Provider、モデル ID、テストコマンド、ロールバック手順を記録します。これにより設定は推測ではなく再現可能な基準になります。

- 最小ファイルを作るSchema、モデル、確認済み権限から始めます。
- 構文を検証するエディタの Schema または JSONC 対応ツールを使います。
- 層を解決するグローバル、プロジェクト、カスタムパス、管理設定の優先を確認します。
- 小さな作業を実行ファイル読み取り、軽い編集、既知コマンドを試します。
- deny を試すブロックされる操作が実行されないことを確認します。
- ロールバックを書く規則を外す方法や設定なし起動を記録します。
7. 問題発生時は全体を書き換えない
不具合時は、JSONC 構文、現在ディレクトリ、Git ルート、グローバル上書き、プロジェクト上書き、環境変数、Provider、権限の順に分けて確認します。
Windows では、設定ファイルの場所と shell の挙動を分けて考えます。統合ターミナルが環境変数を見ていない場合や shell コマンドが存在しない場合があります。
| 症状 | 考えられる原因 | 最初の修正 |
|---|---|---|
| JSON は正しいが無視される | ディレクトリまたは優先順位が違う | 現在位置、Git ルート、設定パスを確認 |
| モデル一覧が失敗 | Provider、URL、モデル ID が不一致 | 設定外で Provider を検証 |
| 権限規則が合わない | パターンまたは層が違う | tool、command、path を正確に記録 |
| 自分だけ動く | グローバル設定への隠れた依存 | 共有規則をプロジェクトへ移し秘密は除外 |
| Windows shell が失敗 | shell が PATH にない | 同じ端末でコマンドを試す |
opencode.jsonc FAQ
OpenCode は opencode.jsonc をサポートしますか?
はい。公式ドキュメントは JSON と JSONC を説明しています。コメントは所有者と検証用で、秘密情報は書きません。
opencode.jsonc はどこに置きますか?
リポジトリ規則はプロジェクト設定、個人の既定値はグローバル設定に置きます。
opencode.jsonc をコミットできますか?
非秘密のプロジェクト規則だけです。API key、private endpoint、proxy、deploy token は不可です。
最初に何を確認しますか?
構文と Schema、Provider/モデル、権限、小さな編集、ロールバックです。
JSONC は JSON より良いですか?
理由をコメントで説明できるなら便利です。重要なのは検証と保守です。
競合を避けるには?
優先順位を記録し、共有規則と個人設定を分け、解決後の設定をテストします。
確認した公式情報
公式 OpenCode ドキュメントは 2026年7月31日に確認しました。本番設定では現在の公式ドキュメントを再確認してください。