Back to updates
New releaseAug 17, 2026

preflight v0.20.1

Go-based CLI tool that scans codebases for launch readiness, detecting missing configuration, security hygiene issues, secret leaks, and integration gaps before production deployment.

Share

Preflight.sh

Agent skill on skills.sh

Preflight.sh is a command-line tool that scans your codebase for launch readiness. Identifies missing configuration, integration issues, security concerns, SEO metadata gaps, and other common mistakes before you deploy to production.

Don't embarrass yourself in production. Just run the command.

Installation

Homebrew (macOS/Linux)

brew install preflightsh/preflight/preflight

npm

npm install -g @preflightsh/preflight

Go

go install github.com/preflightsh/preflight@latest

Docker

docker pull ghcr.io/preflightsh/preflight

Shell Script

curl -sSL https://preflight.sh/install.sh | sh

Manual Download

Download the latest release from GitHub Releases.

Quick Start

# Initialize in your project directory
cd your-project
preflight init

# Run all checks
preflight scan

# Scan a specific directory
preflight scan /path/to/project

# Run with verbose output (shows which files matched each check)
preflight scan --verbose
preflight scan -v  # short form

# Run in CI mode with JSON output
preflight scan --ci --format json

# Run only specific checks, or skip some, for fast iteration
# (one-off; unlike `preflight ignore` it doesn't change preflight.yml)
preflight scan --only seo_meta,og_twitter
preflight scan --skip vulnerability,secrets

# Silence a check
preflight ignore sitemap

# Unsilence a check
preflight unignore sitemap

# List all check IDs
preflight checks

Agent Skill

This repo includes a skills.sh-compatible agent skill at skills/preflight/SKILL.md. It gives coding agents a repeatable Preflight workflow: inspect preflight.yml, run CI-safe scans, triage findings, avoid unsafe ignores, rerun validation, and report residual launch risk.

List the skill from this repository:

# With Bun
bunx --yes skills add preflightsh/preflight --list

# Or with npm
npx --yes skills add preflightsh/preflight --list

Install only the Preflight skill:

# With Bun
bunx --yes skills add preflightsh/preflight --skill preflight

# Or with npm
npx --yes skills add preflightsh/preflight --skill preflight

Dashboard & AI Suggestions

Preflight is fully usable from the command line with no account. The optional dashboard at app.preflight.sh adds a hosted history of your scans and AI-generated fix suggestions for each finding. Your code never leaves your machine: scanning runs locally, and only a redacted summary of results (check IDs, statuses, and messages, never secret values or file contents) is sent when you publish.

Create a free account, then connect the CLI:

preflight auth login    # opens your browser to authorize this CLI
preflight auth status   # show who you're logged in as
preflight auth logout   # remove stored credentials

Publish a scan to your dashboard with --publish. It prints a link to view the run. Publishing is best-effort: if you're offline or not logged in, the scan still runs and exits normally.

preflight scan --publish

On the dashboard you get each run's pass/warn/fail breakdown, the full list of findings, and a per-project history so you can see what changed between deploys.

You can also read that history from the terminal with preflight history:

preflight history                       # recent runs across your projects
preflight history --here                # only the current project's runs
preflight history <run-id>              # one run's full check results
preflight history --here --format json  # machine-readable, for agents

Requires preflight auth login. --here matches runs to the current repository by its git remote, the same key used when publishing.

Open any failed or warning check on a published run to generate a step-by-step fix tailored to your detected stack, with copy-ready commands and code.

  • Free includes 5 published runs per month.
  • Bring your own key: add an OpenAI or Anthropic API key in your dashboard settings and publishing stays free and unlimited (you pay your provider directly).
  • Managed ($5/mo): we cover the AI costs and runs are unlimited, no API key required.

What It Checks

CheckDescription
ENV ParityCompares .env and .env.example for missing variables
Health EndpointVerifies site is reachable; auto-detects /health, /healthz, /api/health or falls back to root
Vulnerability ScanChecks for dependency vulnerabilities (bundle audit, npm audit, etc.)
SEO MetadataChecks for title, description, and Open Graph tags
OG & Twitter CardsValidates og:image, twitter:card and social sharing metadata
Canonical URLVerifies canonical link tag is present
ViewportChecks for proper viewport meta tag for mobile
Lang AttributeValidates html lang attribute for accessibility
Structured DataChecks for JSON-LD Schema.org markup
Security HeadersValidates HSTS, CSP, X-Content-Type-Options on both prod and staging
SSL CertificateChecks SSL validity and warns before expiration
WWW RedirectVerifies www/non-www redirect to canonical URL
Email AuthChecks SPF/DMARC DNS records for email deliverability (opt-in)
Secret ScanningFinds leaked API keys and credentials in code
Debug StatementsDetects console.log, var_dump, debugger left in code
Error PagesChecks for custom 404/500 error pages
Image OptimizationFinds large images (>500KB) that hurt load times
Legal PagesChecks for privacy policy and terms of service pages
Cookie ConsentDetects cookie consent solution (GDPR/CCPA compliance)
Favicon & IconsChecks for favicon, apple-touch-icon (.png, .webp, .svg), and web manifest
robots.txtVerifies robots.txt exists and has content
sitemap.xmlChecks for sitemap presence or generator
llms.txtChecks for LLM crawler guidance file
ads.txtValidates ads.txt for ad-supported sites (opt-in)
humans.txtChecks for humans.txt to credit the team (opt-in)
IndexNowVerifies IndexNow key file for faster search indexing (opt-in)
LICENSEChecks for license file (opt-in, for open source projects)

Supported Services (72)

Preflight auto-detects and validates configuration for these services:

Payments

  • Stripe, PayPal, Braintree, Paddle, LemonSqueezy

Error Tracking & Monitoring

  • Sentry, Bugsnag, Rollbar, Honeybadger, Datadog, New Relic, LogRocket

Email & Newsletters

  • Postmark, SendGrid, Mailgun, AWS SES, Resend, Mailchimp, Kit, Beehiiv, AWeber, ActiveCampaign, Campaign Monitor, Drip, Klaviyo, Buttondown

Analytics

  • Plausible, Fathom, Umami, Fullres Analytics, Datafa.st Analytics, Google Analytics, PostHog, Mixpanel, Amplitude, Segment, Hotjar

Auth

  • Auth0, Clerk, WorkOS

Chat

  • Intercom, Crisp

Notifications

  • Slack, Discord, Twilio

Infrastructure

  • Firebase, Supabase, Redis, Sidekiq, RabbitMQ, Elasticsearch, Convex

Storage & CDN

  • AWS S3, Cloudinary, Cloudflare

Search

  • Algolia

SEO

  • IndexNow

AI / LLMs

  • OpenAI, Anthropic Claude, Google AI (Gemini), Mistral, Cohere, Replicate, Hugging Face, Grok (X/Twitter), Perplexity, Together AI

Configuration

Preflight uses a preflight.yml file in your project root:

projectName: my-app
stack: rails  # rails, next, react, vite, laravel, etc.

urls:
  staging: "https://staging.example.com"
  production: "https://example.com"

services:
  stripe:
    declared: true
  sentry:
    declared: true

Categories