プロジェクト設定 (config.yaml)
openspec/config.yaml のすべてのフィールド: このプロジェクトが計画に使用するスキーマ、コンテキスト、ルール。
場所
各 OpenSpec プロジェクトは、プロジェクトルートの openspec/config.yaml に設定ファイルを保持します。
フィールド
| キー | 型 | 必須 | 効果 |
|---|---|---|---|
schema | string | はい | このプロジェクトの変更が従うワークフロースキーマ |
context | string | いいえ | すべての成果物、apply、archive に注入される |
rules | map: 成果物 ID → 文字列リスト | いいえ | 1つの成果物の組み込みガイダンスに追加される追加ルール |
operations | map: オペレーション → ガイダンスリスト | いいえ | apply および archive 作業のための参考ガイダンス |
store | string | いいえ | この openspec/ が設定のみの場合のフォールバック OpenSpec ルート |
references | list | いいえ | spec が手順にインデックスされるストア |
無効なフィールドによってコマンドが失敗することはありません。各フィールドは個別に検証され、不正な値は警告とともに破棄されます。読み取れないファイルまたは有効な YAML でないファイルは警告とともに無視されますが、openspec validate では CI が検出できるよう終了コード 1 で終了します。
これらのフィールドに何を書くかについては、プロジェクト設定 で説明しています。
schema
このプロジェクトのすべての変更が従うワークフロースキーマ。有効な値は spec-driven またはプロジェクトが定義するスキーマ名です。openspec schemas を実行して、利用可能なスキーマ名を一覧表示します。
context
すべての成果物の手順に注入され、apply および archive に渡されるフリーテキスト。上限は 50KB で、それを超える値は警告とともに無視されます。
rules
1つの成果物の追加ルールで、スキーマの組み込みガイダンスに追加されます:
rules:
proposal:
- Keep proposals under 500 words成果物 ID は組み込み名に限定されないため、カスタムスキーマの成果物もキーとして機能します。
operations
apply および archive 作業の進め方に関する参考ガイダンスで、成果物ルールとは別です:
operations:
apply:
guidance:
- Keep test summaries conciseapply と archive のみが読み取られます。
store
OpenSpec ルートとして使用されるストア ID。この openspec/ ディレクトリが設定のみ(specs/ または changes/ がない)の場合にのみ参照されます。これはフォールバックであり、オーバーライドではありません。完全なレーションは ルート解決 を参照してください。
references
このプロジェクトの作業が参照する spec を持つストア ID。各ストアの spec のインデックス(ID、概要、フェッチコマンド)が手順出力に追加されます。spec の内容はインライン化されず、ルート解決にも影響しません。エントリはストア ID、または id とオプションの remote クローンソースを持つマップです:
references:
- platform-specs
- id: billing-specs
remote: git@github.com:acme/billing-specs.git例
記入済みの config.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 を作成します。