Skip to content

Panoramica ​

Le tue opzioni per personalizzare OpenSpec.

OpenSpec supporta più opzioni di personalizzazione. Questa pagina mostra cosa cambia ciascuna e quando usarla.

Cosa puoi personalizzare ​

OpzioneCosa modificaUsala quando
ProfiliQuali workflow sono installati e se come skill, comandi o entrambiVuoi workflow e modelli di lavoro aggiuntivi, oppure rimuovere workflow non necessari
Configurazione del progettoLe istruzioni iniettate in ogni esecuzione del workflow: contesto, regole e indicazioni operative (config.yaml)Vuoi che le modifiche siano pianificate a tuo modo, ad esempio che i task includano sempre i test Playwright
SchemiCosa produce OpenSpec: gli artifact, il loro ordine e i loro templateLe modifiche devono produrre file, sezioni o formati di pianificazione diversi

Non sei sicuro di quale usare? ​

La configurazione e gli schemi sono due livelli di personalizzazione. Scegli in base a quanto vuoi metterci mano:

  • Inizia con la configurazione del progetto: è più leggera e per la maggior parte dei progetti è sufficiente. Mantieni gli artifact standard e aggiungi sopra il tuo contesto e le tue regole.
  • Esegui il fork di uno schema quando aggiungere non basta: la configurazione si limita ad aggiungere elementi sopra il workflow principale. Può aggiungere una regola come "i task includono sempre i test", ma non può eliminare il documento di progetto o rinominare un file. Questo è il territorio dello schema. Il fork ti offre una tua copia da modificare.

"Fork" qui si riferisce al comando openspec schema fork, non al fork di un repository git. Schemi ha i dettagli.

flowchart LR
    a["I workflow devono conoscere il mio stack e le mie convenzioni"] --> config
    b["Un artifact ha bisogno di una regola aggiuntiva, come i task che includono sempre i test"] --> config
    c["Artifact, nomi di file o struttura del documento diversi"] --> schema
    d["Le istruzioni integrate dicono cose che il mio team fa diversamente"] --> schema
    config["Configurazione del progetto<br/>(config.yaml)"]
    schema["Fork di uno schema<br/>(openspec schema fork)"]