Projektkonfiguration
Legen Sie mit wenigen Zeilen in config.yaml fest, wie die Workflows Änderungen planen sollen.
openspec/config.yaml teilt den Workflows mit, wie Änderungen geplant werden sollen.
Die folgende Konfiguration aktualisiert beispielsweise die Erstellungsregeln für das tasks.md-Artefakt:
rules:
tasks:
- End every task with a commitWenn der Agent ausgeführt wird, greift er auf diese Regeln zu und stellt sicher, dass jede Aufgabe mit einem Commit-Schritt endet.
Halten Sie Regeln kurz. Alles hier gelangt in den Kontext des Agents, und ausführliche Regeln können die Ausgabe verschlechtern.
Funktionsweise
config.yaml enthält Anweisungen, die der Agent erhält, wenn er Artefakte erstellt oder den Workflow durchläuft.
Bei jedem Durchlauf geschieht Folgendes:
- Sie führen einen Workflow aus (z. B.
/openspec-propose). - Der Agent ruft den Befehl
openspec instructionsauf. - Der Befehl liest Ihren Kontext und Ihre Regeln aus config.yaml.
- Die integrierten Anweisungen von OpenSpec und Ihre Anpassungen werden zu einem einzigen Prompt für den Agenten kombiniert.
- Der Agent befolgt diesen Prompt, um das Artefakt zu schreiben.
Wenn ein context-Feld und die Regel von oben auf dieser Seite vorhanden sind, liefert openspec instructions für tasks.md beispielsweise Folgendes zurück (gekürzt und kommentiert):
<artifact id="tasks" change="add-dark-mode" schema="spec-driven">
<!-- Aus Ihrer config.yaml: Kontext -->
<project_context>
Designs and tasks must cover Windows, macOS, and Linux
Write all artifacts in Spanish
</project_context>
<!-- Aus Ihrer config.yaml: Regeln für tasks -->
<rules>
- End every task with a commit
</rules>
<!-- Von OpenSpec: die integrierten Anweisungen -->
<instruction>
...how to write a good tasks.md...
</instruction>
<template>
...the tasks.md structure to fill in...
</template>
</artifact>Ihre Konfiguration kommt zuerst, dann die integrierte Anweisung und Vorlage von OpenSpec. Regeln ergänzen die integrierten Inhalte und ersetzen sie nie. Änderungen an config.yaml erreichen den Agenten beim nächsten Durchlauf.
Die Felder
Drei Felder bestimmen, was der Agent erhält. Der genaue Vertrag jedes Felds (Typen, Grenzen, Validierung) ist unter Projektkonfiguration (config.yaml) dokumentiert.
| Feld | Funktion | Eingefügt in |
|---|---|---|
context | Anweisungen, die der Agent immer erhält | Alles: jedes Artefakt, apply, archive |
rules | Zusätzliche Anweisungen für ein Artefakt | Nur die Erstellung dieses Artefakts |
operations | Anleitung zur Ausführung eines Workflow-Schritts | Nur apply und archive |
Die übrigen Felder von config.yaml (schema, store, references) bestimmen, welches Schema und welchen OpenSpec-Root ein Projekt verwendet. Die Vertragsseite behandelt sie.
Die letzte Spalte ist exakt: Ein Feld erreicht nur die dort aufgeführten Schritte. Insbesondere empfängt verify niemals rules. Es prüft die Implementierung anhand der Artefakte, so wie sie geschrieben sind.
context
context ist Hintergrundwissen, das der Agent erhält, wenn er ein Artefakt erstellt, Aufgaben anwendet oder eine Änderung archiviert.
context: |
We ship cross-platform. Designs and tasks must cover Windows, macOS, and Linux
Write all artifacts in SpanishVerwenden Sie context für Fakten und Einschränkungen, die die Workflow-Ausgabe beeinflussen sollen. Behalten Sie dauerhafte Projektdokumentation in den Dokumentationsdateien des Projekts und lassen Sie alles weg, was der Agent durch Lesen des Codes lernen kann.
Eine andere Sprache: Da context jedes Artefakt erreicht, können Sie Write all artifacts in Spanish. hinzufügen, um den Agenten anzuweisen, die Artefakte proposal, spec, design und tasks auf Spanisch zu schreiben.
rules
rules sind an ein Artefakt gebunden, mit der Artefakt-ID als Schlüssel. Jede Zeile wird zu den integrierten Anweisungen dieses Artefakts hinzugefügt:
rules:
proposal:
- Keep proposals under 500 words
tasks:
- Every UI task includes a Playwright testProposals bleiben nun kurz und tasks.md plant immer Browser-Tests. Alle anderen Artefakte bleiben unberührt.
operations
operations steuert, wie der Agent apply und archive ausführt, und nicht, was die Artefakte sagen:
operations:
apply:
guidance:
- Run the linter before marking a task complete
archive:
guidance:
- Summarize what shipped before archivingWährend apply lintet der Agent, während er Aufgaben abschließt. Während archive schließt er mit einer Zusammenfassung ab.
Wenn config.yaml nicht ausreicht
Config fügt dem Standard-Workflow Anweisungen hinzu, kann aber nicht ändern, welche Artefakte existieren oder wie sie strukturiert sind. Wenn Sie diese Kontrollebene wünschen oder Regeln das Verhalten nicht konsistent steuern, forken Sie ein Schema.