SpecScore vs CodeSpeak
Due risposte a "a cosa dovrebbero servire le specifiche". CodeSpeak tratta la specifica comecodice sorgente — un LLM la compila, e tu mantieni la specifica anziché il codice. SpecScore tratta la specifica come un contratto aperto e durevole — mantieni il tuo codice, e qualsiasi agente (o nessuno) può leggerla, verificarla tramite lint e tracciarla.
Cosa hanno in comune.
Cosa fa bene CodeSpeak.
CodeSpeakè un sistema di programmazione guidato da LLM che compila specifiche in inglese strutturato in codice.
Una tesi audace, sostenuta con credibilità
"Mantieni la specifica, non il codice" è un ripensamento autentico, non una modifica incrementale. Proviene dal progettista del linguaggio Kotlin, e merita di essere presa sul serio: se la specifica è la sorgente, il codice generato diventa un dettaglio implementativo.
Adozione progressiva da codice a specifica
codespeak takeover analizza il codice sorgente esistente e produce una specifica che ne cattura il comportamento — una via d'accesso a basso attrito per il codice legacy, con una compressione da specifica a codice stimata attorno a 5–10×.
Recupero dell'intento dalle sessioni degli agenti
L'Intent Studio di CodeSpeak estrae requisiti dalle sessioni precedenti degli agenti — raccogliendo l'intenzione che hai già espresso invece di chiederti di scrivere una specifica da una pagina bianca.
Confronto delle funzionalità.
Entrambi fanno scommesse diverse, quindi la tabella confronta filosofia e meccanica, non vincitori.
| Funzionalità | CodeSpeak | SpecScore |
|---|---|---|
| Fonte della verità | La specifica (input di compilazione) | La specifica è il contratto; il codice è il prodotto |
| Codice generato | Prodotto da un LLM, non mantenuto a mano | Tu e i tuoi agenti scrivete e possedete il codice |
| Formato della specifica | Inglese semplice, definito da CodeSpeak | Standard aperto Markdown + YAML, schema pubblicato |
| Specifica → codice | Funzionalità centrale (compilatore LLM proprietario) | Fuori scopo — qualsiasi agente implementa |
| Funziona senza il fornitore | Le specifiche si compilano tramite CodeSpeak | Sì — le specifiche funzionano con qualsiasi agente, o nessuno |
| Linting delle specifiche | Non documentato | Qualità dei contenuti — verbi vaghi, AC mancanti, riferimenti orfani |
| Tracciabilità codice-a-specifica | Tramite rigenerazione | Annotazioni specscore: + trailer Verifies: |
| Determinismo | Compilazione LLM (non deterministica) | Interrogazioni CLI deterministiche; codice scritto normalmente |
| Codice → specifica | codespeak takeover | survey + stesura |
| Apertura | Sistema proprietario | Aperto — formato CC BY 4.0, strumenti MIT / Apache-2.0 |
| Stato | Anteprima alfa | In produzione |
In cosa differisce SpecScore.
Mantieni il tuo codice
CodeSpeak genera e rigenera l'implementazione; il codice è un output, non una risorsa durevole. SpecScore lascia il codice dove deve stare — nelle tue mani, nel tuo linguaggio, revisionabile riga per riga. La specifica aggiunge chiarezza e tracciabilità senza toglierti il codice.
Le tue specifiche sono portabili
Una specifica CodeSpeak è utile perché CodeSpeak la compila. Una specifica SpecScore è utile di per sé — è Markdown ben strutturato che qualsiasi agente può leggere, e rimane utile senza alcun tooling SpecScore installato. Adottala con qualsiasi strumento, o nessuno. Cambia quando vuoi.
L'ambiguità viene rilevata prima che costi
Con un compilatore LLM, una specifica ambigua diventa codice errato in fase di build. Il comando lint di SpecScore evidenzia verbi vaghi, criteri di accettazione mancanti e riferimenti orfani prima che un agente agisca su di essi.
$ specscore lint checkout/apply-discount.md ✗ R3 no acceptance criteria ✗ verb "handle gracefully" — non misurabile
Determinismo e tracciabilità
La risposta di CodeSpeak a "quale codice implementa questo?" è "tutto, rigenerato." La risposta di SpecScore è un file e una riga precisi, tramitespecscore code refs e trailer di commit Verifies:— deterministico, verificabile, tracciabile nei diff.
Un grafo di artefatti strutturato
L'unità di CodeSpeak è un file di specifica in prosa. SpecScore ha una gerarchia tipizzata — le Idee vengono promosse a Feature, le Feature contengono Requisiti e Criteri di Accettazione con ID univoci, i Plan referenziano AC, i Task referenziano Plan — tutto navigabile via software.
Nessun fornitore nel percorso di build
SpecScore è un singolo binario Go. Il lint viene eseguito in CI e negli hook di pre-commit senza bisogno di account, chiamate di rete o roundtrip verso un LLM durante la build.
Quando usare l'uno o l'altro.
Scegli CodeSpeak se…
- Vuoi smettere di mantenere codice e lasciare che la specifica sia la sorgente.
- Ti va bene dipendere dal compilatore di un fornitore per questo scopo.
- Vuoi comprimere una codebase esistente in una specifica molto più sintetica.
Usa SpecScore se…
- Vuoi specifiche che sopravvivano a qualsiasi singolo strumento — portabili per progettazione.
- Vuoi mantenere il tuo codice, nel tuo linguaggio, revisionabile e di tua proprietà.
- Ti serve verificare la qualità delle specifiche — il lint rileva l'ambiguità per tempo.
- Hai bisogno di tracciabilità deterministica da codice a specifica.
- Non vuoi fornitori né roundtrip verso LLM nel tuo percorso di build.
Due scommesse diverse.
CodeSpeak scommette su un compilatore: affida a lui la specifica e confida che produrrà e riprodurrà il codice. SpecScore scommette su un formato: mantieni la specifica aperta e portabile, mantieni la piena proprietà del codice e lascia che qualsiasi agente ci lavori sopra.
Uno scambia la portabilità con l'automazione. L'altro ti mantiene libero — e verificabile via lint.
Altri confronti.
Lo stesso formato, accanto ad altri strumenti di sviluppo guidato dalle specifiche:
Tutti insieme, in una pagina: migliori strumenti di sviluppo guidato dalle specifiche nel 2026.
Feedback
Questo confronto si basa su documentazione e codice sorgente pubblici. Qualcosa è sbagliato o superato? apri una issue di correzione. Vuoi che confrontiamo SpecScore con un altro strumento? richiedine uno.