設定ガイド

opencode.jsonc 設定ガイド:コミット前の 7 つの確認

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

要点
opencode.jsonc
2026年7月31日確認
約17分

要点

opencode.jsonc

OpenCode JSONC ファイルが保護されたプロジェクト領域へ流れる図
opencode.jsonc はレビュー可能な設定層であり、秘密情報の置き場ではありません。

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

判断推奨場所レビュー観点
主モデルと小型モデル共有ならプロジェクト、個人ならグローバルモデル ID は今日確認済みか
Provider オプショングローバルまたは管理設定token や private endpoint を露出しないか
権限チーム規則はプロジェクト設定各 allow / deny を説明できるか
Shell と TUIリポジトリ要件以外はグローバル対象 OS で動くか
MCP と pluginscope 確認後にプロジェクトへ外部データを変更できるか

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、Provider、権限、ロールバックの検証フロー
信頼できる設定はチーム利用前に層ごとに検証します。
  1. 最小ファイルを作るSchema、モデル、確認済み権限から始めます。
  2. 構文を検証するエディタの Schema または JSONC 対応ツールを使います。
  3. 層を解決するグローバル、プロジェクト、カスタムパス、管理設定の優先を確認します。
  4. 小さな作業を実行ファイル読み取り、軽い編集、既知コマンドを試します。
  5. deny を試すブロックされる操作が実行されないことを確認します。
  6. ロールバックを書く規則を外す方法や設定なし起動を記録します。

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日に確認しました。本番設定では現在の公式ドキュメントを再確認してください。