Skip to content

プロジェクト設定 (config.yaml) ​

openspec/config.yaml のすべてのフィールド: このプロジェクトが計画に使用するスキーマ、コンテキスト、ルール。

場所 ​

各 OpenSpec プロジェクトは、プロジェクトルートの openspec/config.yaml に設定ファイルを保持します。

フィールド ​

キー型必須効果
schemastringはいこのプロジェクトの変更が従うワークフロースキーマ
contextstringいいえすべての成果物、apply、archive に注入される
rulesmap: 成果物 ID → 文字列リストいいえ1つの成果物の組み込みガイダンスに追加される追加ルール
operationsmap: オペレーション → ガイダンスリストいいえapply および archive 作業のための参考ガイダンス
storestringいいえこの openspec/ が設定のみの場合のフォールバック OpenSpec ルート
referenceslistいいえspec が手順にインデックスされるストア

無効なフィールドによってコマンドが失敗することはありません。各フィールドは個別に検証され、不正な値は警告とともに破棄されます。読み取れないファイルまたは有効な YAML でないファイルは警告とともに無視されますが、openspec validate では CI が検出できるよう終了コード 1 で終了します。

これらのフィールドに何を書くかについては、プロジェクト設定 で説明しています。

schema ​

このプロジェクトのすべての変更が従うワークフロースキーマ。有効な値は spec-driven またはプロジェクトが定義するスキーマ名です。openspec schemas を実行して、利用可能なスキーマ名を一覧表示します。

context ​

すべての成果物の手順に注入され、apply および archive に渡されるフリーテキスト。上限は 50KB で、それを超える値は警告とともに無視されます。

rules ​

1つの成果物の追加ルールで、スキーマの組み込みガイダンスに追加されます:

yaml
rules:
  proposal:
    - Keep proposals under 500 words

成果物 ID は組み込み名に限定されないため、カスタムスキーマの成果物もキーとして機能します。

operations ​

apply および archive 作業の進め方に関する参考ガイダンスで、成果物ルールとは別です:

yaml
operations:
  apply:
    guidance:
      - Keep test summaries concise

apply と archive のみが読み取られます。

store ​

OpenSpec ルートとして使用されるストア ID。この openspec/ ディレクトリが設定のみ(specs/ または changes/ がない)の場合にのみ参照されます。これはフォールバックであり、オーバーライドではありません。完全なレーションは ルート解決 を参照してください。

references ​

このプロジェクトの作業が参照する spec を持つストア ID。各ストアの spec のインデックス(ID、概要、フェッチコマンド)が手順出力に追加されます。spec の内容はインライン化されず、ルート解決にも影響しません。エントリはストア ID、または id とオプションの remote クローンソースを持つマップです:

yaml
references:
  - platform-specs
  - id: billing-specs
    remote: git@github.com:acme/billing-specs.git

例 ​

記入済みの config.yaml:

yaml
schema: spec-driven

context: |
  Designs and tasks must cover Windows, macOS, and Linux
  Write all artifacts in Spanish

rules:
  proposal:
    - Keep proposals under 500 words
    - Always state what is out of scope
  tasks:
    - Break tasks into chunks of max 2 hours

operations:
  apply:
    guidance:
      - Keep test summaries concise
  archive:
    guidance:
      - Summarize the archive outcome before finishing

レガシー名 ​

openspec/config.yml は config.yaml が存在しない場合にエイリアスとして読み取られます。両方のファイルが存在する場合、config.yaml が優先され、config.yml は無視されます。openspec init は config.yaml を作成します。