ForHosting KIT · Strumenti per sviluppatori

Validatore di messaggi Conventional Commits

Questo validatore di messaggi Conventional Commits controlla che l’intestazione di un commit segua la struttura consueta con tipo, ambito facoltativo e descrizione, quindi restituisce queste parti come dati strutturati stabili.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Riconosce i tipi comuni relativi a build, manutenzione, CI, documentazione, funzionalità, correzioni, prestazioni, refactoring, ripristini, stile e test. Lo usi per individuare intestazioni non valide o tipi sconosciuti prima che entrino nella cronologia condivisa, nel flusso di rilascio o in un changelog automatico. Il risultato compatto è subito utilizzabile dagli script senza ulteriore analisi testuale.

Controlli l’intestazione ed estragga i campi utili

Invii il messaggio di commit completo nel campo di testo. Il validatore normalizza le terminazioni di riga ed esamina la prima riga come intestazione Conventional Commits; il messaggio può quindi mantenere sotto una riga vuota, paragrafi del corpo e piè di pagina. Un’intestazione valida inizia con un tipo riconosciuto in minuscolo. Può proseguire con un ambito tra parentesi, aggiungere un punto esclamativo per segnalare una modifica incompatibile e deve poi contenere due punti, esattamente uno spazio separatore e una descrizione non vuota. Per esempio, <code>feat(parser): support escaped delimiters</code> restituisce il tipo <code>feat</code>, l’ambito <code>parser</code> e la descrizione <code>support escaped delimiters</code>. Il risultato normale include inoltre <code>valid: true</code> e un campo booleano di incompatibilità. Se manca l’ambito, la proprietà viene omessa anziché riempita con un valore vuoto o nullo fuorviante. Errori di sintassi e tipi sconosciuti generano un errore di input non valido con una spiegazione diretta, così un hook dell’editor o una pipeline può suggerire una correzione utile senza interpretare un risultato analizzato solo in parte.

Comprenda la convenzione riconosciuta

Conventional Commits definisce la forma dell’intestazione, lasciando ai progetti la possibilità di stabilire il proprio vocabolario di tipi. Questa capacità usa deliberatamente un insieme fisso e pratico per fornire risultati prevedibili tra repository: build, chore, ci, docs, feat, fix, perf, refactor, revert, style e test. Un’intestazione formalmente corretta con un’altra parola non viene accettata, perché ammettere qualsiasi termine annullerebbe la validazione del tipo richiesta. I tipi devono essere minuscoli. Gli ambiti sono facoltativi e possono contenere lettere minuscole, cifre, punti, trattini bassi, barre o trattini; devono iniziare con una lettera o una cifra. Sono quindi utilizzabili ambiti comuni come <code>api</code>, <code>web-client</code> e <code>packages/core</code>, mentre vengono respinti spazi ambigui e parentesi non abbinate. La descrizione conserva punteggiatura e maiuscole originali, ma non può iniziare o terminare con spazi. Un punto esclamativo immediatamente prima dei due punti indica una modifica incompatibile e viene restituito separatamente. Un piè di pagina <code>BREAKING CHANGE</code> può restare nel corpo, ma il valore booleano attuale deriva solo dal marcatore nell’intestazione e non interpreta la semantica del piè di pagina.

Inserisca una validazione deterministica nello sviluppo

Usi il validatore non appena è disponibile un messaggio proposto: in un hook dell’editor dei commit, in un controllo della pull request, in una coda di merge o in un servizio che prepara i metadati di rilascio. Un hook locale offre il riscontro più rapido, mentre la validazione sul server garantisce che i commit creati dall’automazione o da client alternativi rispettino la stessa politica. L’analizzatore è deterministico ed esegue una scansione limitata della stringa. Non contatta un host di repository, non ispeziona oggetti Git, non deduce l’intento da un diff, non riscrive la descrizione fornita e non usa servizi esterni. Lo stesso input genera pertanto gli stessi campi o lo stesso errore nel browser e tramite API. Consideri tipo, ambito e descrizione restituiti come dati di classificazione per raggruppare changelog, applicare regole di rilascio o alimentare dashboard, ma mantenga separati i controlli semantici specifici del progetto. Il validatore può confermare che <code>fix(auth): reject expired tokens</code> è strutturalmente valido, ma non può provare che la modifica corregga un errore o che <code>auth</code> sia un pacchetto consentito. Lo combini con la politica del repository se servono elenchi di ambiti o riferimenti ai ticket più rigorosi.

Protegga un hook commit-msg

Respinga subito le intestazioni non valide e mostri agli autori l’esatta struttura Conventional Commits richiesta dal repository.

Convalidi l’automazione dei merge

Controlli i messaggi creati da squash, code di merge o strumenti di rilascio prima che entrino nella cronologia permanente.

Classifichi gli input di rilascio

Estragga tipo, ambito, descrizione e incompatibilità stabili per raggruppare changelog o prendere decisioni di rilascio.

Quanto costa una validazione?

Ogni richiesta API costa $0.002. Può anche eseguire la versione per browser direttamente in questa pagina.

Quali tipi di commit vengono riconosciuti?

I tipi riconosciuti sono build, chore, ci, docs, feat, fix, perf, refactor, revert, style e test.

L’ambito è obbligatorio?

No. Sia feat: add export sia feat(api): add export sono validi. Se assente, l’ambito viene omesso dal risultato.

Il messaggio può includere corpo e piè di pagina?

Sì. La prima riga viene validata come intestazione; le righe successive restano nell’input, ma non vengono analizzate come campi di output.

Un punto esclamativo segnala una modifica incompatibile?

Sì. Se precede immediatamente i due punti, imposta l’incompatibilità su vero. Le dichiarazioni presenti solo nel piè di pagina non vengono interpretate.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/dev2/commit-message-lint

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/dev2/commit-message-lint \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"feat(parser): support escaped delimiters"}'
{
  "text": "feat(parser): support escaped delimiters"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.commit_message_lint",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_chars100000
max_header_chars1000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →