Strumento CLI basato su Go che scansiona i codebase per verificare la prontezza al lancio, rilevando configurazioni mancanti, problemi di igiene della sicurezza, fughe di segreti e lacune di integrazione prima del dispiegamento in produzione.
Preflight.sh è uno strumento da riga di comando che analizza il tuo codebase per verificare la prontezza al lancio. Identifica configurazioni mancanti, problemi di integrazione, problemi di sicurezza, lacune nei metadati SEO e altri errori comuni prima di effettuare il deploy in produzione.
Non metterti in imbarazzo in produzione. Basta eseguire il comando.
brew install preflightsh/preflight/preflight
npm install -g @preflightsh/preflight
go install github.com/preflightsh/preflight@latest
docker pull ghcr.io/preflightsh/preflight
curl -sSL https://preflight.sh/install.sh | sh
Scarica l'ultima release da GitHub Releases.
# Inizializza nella directory del tuo progetto
cd your-project
preflight init
# Esegui tutti i controlli
preflight scan
# Analizza una directory specifica
preflight scan /path/to/project
# Esegui con output verboso (mostra quali file corrispondono a ciascun controllo)
preflight scan --verbose
preflight scan -v # forma abbreviata
# Esegui in modalità CI con output JSON
preflight scan --ci --format json
# Esegui solo controlli specifici, o saltane alcuni, per iterazioni rapide
# (una tantum; a differenza di `preflight ignore` non modifica preflight.yml)
preflight scan --only seo_meta,og_twitter
preflight scan --skip vulnerability,secrets
# Silenzia un controllo
preflight ignore sitemap
# Riattiva un controllo
preflight unignore sitemap
# Elenca tutti gli ID dei controlli
preflight checks
Questo repository include una skill per agenti compatibile con skills.sh in skills/preflight/SKILL.md. Fornisce agli agenti di codifica un flusso di lavoro Preflight ripetibile: ispeziona preflight.yml, esegui scansioni sicure per CI, classifica i risultati, evita ignore non sicuri, riesegui la validazione e segnala il rischio residuo di lancio.
Elenca la skill da questo repository:
# Con Bun
bunx --yes skills add preflightsh/preflight --list
# Oppure con npm
npx --yes skills add preflightsh/preflight --list
Installa solo la skill Preflight:
# Con Bun
bunx --yes skills add preflightsh/preflight --skill preflight
# Oppure con npm
npx --yes skills add preflightsh/preflight --skill preflight
Preflight è completamente utilizzabile dalla riga di comando senza account. La dashboard opzionale su app.preflight.sh aggiunge una cronologia ospitata delle tue scansioni e suggerimenti di correzione generati dall'IA per ogni risultato. Il tuo codice non lascia mai la tua macchina: la scansione viene eseguita localmente e solo un riepilogo oscurato dei risultati (ID dei controlli, stati e messaggi, mai valori segreti o contenuti dei file) viene inviato quando pubblichi.
Crea un account gratuito, poi collega la CLI:
preflight auth login # apre il browser per autorizzare questa CLI
preflight auth status # mostra con quale account sei connesso
preflight auth logout # rimuove le credenziali salvate
Pubblica una scansione sulla tua dashboard con --publish. Stampa un link per visualizzare l'esecuzione. La pubblicazione è best-effort: se sei offline o non connesso, la scansione viene comunque eseguita ed esce normalmente.
preflight scan --publish
Sulla dashboard ottieni per ogni esecuzione la suddivisione pass/warn/fail, l'elenco completo dei risultati e una cronologia per progetto, così puoi vedere cosa è cambiato tra i deploy.
Puoi anche leggere quella cronologia dal terminale con preflight history:
preflight history # esecuzioni recenti su tutti i tuoi progetti
preflight history --here # solo le esecuzioni del progetto corrente
preflight history <run-id> # risultati completi dei controlli di una singola esecuzione
preflight history --here --format json # leggibile da macchina, per agenti
Richiede preflight auth login. --here associa le esecuzioni al repository corrente tramite il suo remote git, la stessa chiave usata durante la pubblicazione.
Apri qualsiasi controllo fallito o con avvisi su un'esecuzione pubblicata per generare una correzione passo-passo adattata allo stack rilevato, con comandi e codice pronti da copiare.
| Controllo | Descrizione |
|---|---|
| Parità ENV | Confronta .env e .env.example per variabili mancanti |
| Endpoint di Salute | Verifica che il sito sia raggiungibile; rileva automaticamente /health, /healthz, /api/health o ripiega sulla root |
| Scansione Vulnerabilità | Controlla le vulnerabilità delle dipendenze (bundle audit, npm audit, ecc.) |
| Metadati SEO | Controlla title, description e tag Open Graph |
| OG e Twitter Cards | Valida og:image, twitter:card e i metadati di condivisione social |
| URL Canonico | Verifica che il tag link canonico sia presente |
| Viewport | Controlla il corretto tag meta viewport per il mobile |
| Attributo Lang | Valida l'attributo html lang per l'accessibilità |
| Dati Strutturati | Controlla il markup JSON-LD Schema.org |
| Header di Sicurezza | Valida HSTS, CSP, X-Content-Type-Options sia su prod che su staging |
| Certificato SSL | Controlla la validità SSL e avvisa prima della scadenza |
| Redirect WWW | Verifica il redirect www/non-www verso l'URL canonico |
| Autenticazione Email | Controlla i record DNS SPF/DMARC per la deliverability delle email (opt-in) |
| Scansione Segreti | Trova chiavi API e credenziali trapelate nel codice |
| Istruzioni di Debug | Rileva console.log, var_dump, debugger lasciati nel codice |
| Pagine di Errore | Controlla la presenza di pagine di errore personalizzate 404/500 |
| Ottimizzazione Immagini | Trova immagini grandi (>500KB) che penalizzano i tempi di caricamento |
| Pagine Legali | Controlla la presenza di pagine privacy policy e termini di servizio |
| Consenso Cookie | Rileva la soluzione di consenso cookie (conformità GDPR/CCPA) |
| Favicon e Icone | Controlla favicon, apple-touch-icon (.png, .webp, .svg) e web manifest |
| robots.txt | Verifica che robots.txt esista e abbia contenuto |
| sitemap.xml | Controlla la presenza della sitemap o del generatore |
| llms.txt | Controlla il file di guida per i crawler LLM |
| ads.txt | Valida ads.txt per i siti supportati da pubblicità (opt-in) |
| humans.txt | Controlla humans.txt per accreditare il team (opt-in) |
| IndexNow | Verifica il file chiave IndexNow per un'indicizzazione di ricerca più rapida (opt-in) |
| LICENSE | Controlla il file di licenza (opt-in, per progetti open source) |
Preflight rileva automaticamente e valida la configurazione per questi servizi:
Pagamenti
Tracciamento Errori e Monitoraggio
Email e Newsletter