Skip to content

Projectconfiguratie (config.yaml) ​

Elk veld van openspec/config.yaml: het schema, de context en de regels waarmee dit project werkt.

Locatie ​

Elk OpenSpec-project bewaart zijn configuratiebestand op openspec/config.yaml, in de projectroot.

Velden ​

SleutelTypeVereistEffect
schemastringJaHet workflowschema dat de wijzigingen in dit project volgen
contextstringNeeWordt geïnjecteerd in elk artefact en bij apply en archive
rulesmap: artefact-ID → lijst met stringsNeeExtra regels toegevoegd aan de ingebouwde richtlijnen van één artefact
operationsmap: bewerking → lijst met richtlijnenNeeAdviserende richtlijnen voor het uitvoeren van apply- en archivewerk
storestringNeeOpenSpec-root als terugvaloptie wanneer deze openspec/ alleen configuratie bevat
referenceslijstNeeStores waarvan de specs in de instructies worden geïndexeerd

Ongeldige velden zorgen er nooit voor dat een commando mislukt. Elk veld wordt afzonderlijk gevalideerd en een ongeldige waarde wordt met een waarschuwing verwijderd. Een bestand dat niet kan worden gelezen of geen geldige YAML is, wordt met een waarschuwing genegeerd, behalve door openspec validate, dat met exitcode 1 eindigt zodat CI dit opmerkt.

Wat je in deze velden moet schrijven, wordt behandeld in Projectconfiguratie.

schema ​

Het workflowschema dat elke wijziging in dit project volgt. Geldige waarden zijn spec-driven of een schemanaam die het project definieert. Voer openspec schemas uit om de beschikbare schemanamen op te sommen.

context ​

Vrije tekst die in de instructies van elk artefact wordt geïnjecteerd en aan apply en archive wordt doorgegeven. De limiet is 50KB en een grotere waarde wordt met een waarschuwing genegeerd.

rules ​

Extra regels voor één artefact, toegevoegd aan de ingebouwde richtlijnen van het schema:

yaml
rules:
  proposal:
    - Keep proposals under 500 words

Artefact-ID's zijn niet beperkt tot de ingebouwde namen, dus artefacten van aangepaste schema's werken als sleutels.

operations ​

Adviserende richtlijnen voor hoe apply- en archivewerk wordt uitgevoerd, los van artefactregels:

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

Alleen apply en archive worden gelezen.

store ​

Een store-ID die als OpenSpec-root wordt gebruikt en alleen wordt geraadpleegd wanneer deze openspec/-map alleen configuratie bevat (geen specs/ of changes/). Het is een terugvaloptie, nooit een override. De volledige volgorde staat in Rootresolutie.

references ​

Store-ID's waarvan de specs door het werk van dit project worden gebruikt. Een index van de specs van elke store (id, samenvatting, fetch-commando) wordt toegevoegd aan de uitvoer van instructies. Specinhoud wordt nooit inline opgenomen en rootresolutie wordt nooit beïnvloed. Een item is een store-ID of een map met id en een optionele remote-kloonbron:

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

Voorbeeld ​

Een ingevulde 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

Verouderde namen ​

openspec/config.yml wordt als alias gelezen wanneer config.yaml niet bestaat. Als beide bestanden bestaan, heeft config.yaml voorrang en wordt config.yml genegeerd. openspec init maakt config.yaml aan.