
preflight v0.20.1
CLI-инструмент на базе Go, который сканирует кодовые базы на готовность к запуску, обнаруживая отсутствующую конфигурацию, проблемы гигиены безопасности, утечки секретов и пробелы интеграции перед развёртыванием в production.
Preflight.sh
Preflight.sh — это инструмент командной строки, который сканирует вашу кодовую базу на готовность к запуску. Выявляет отсутствующую конфигурацию, проблемы интеграции, угрозы безопасности, пробелы в SEO-метаданных и другие распространённые ошибки до того, как вы развернёте проект в продакшене.
Не позорьте себя в продакшене. Просто запустите команду.
Установка
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-скрипт
curl -sSL https://preflight.sh/install.sh | sh
Ручная загрузка
Скачайте последний релиз на GitHub Releases.
Быстрый старт
# Инициализация в каталоге вашего проекта
cd your-project
preflight init
# Запуск всех проверок
preflight scan
# Сканирование конкретного каталога
preflight scan /path/to/project
# Запуск с подробным выводом (показывает, какие файлы соответствуют каждой проверке)
preflight scan --verbose
preflight scan -v # краткая форма
# Запуск в режиме CI с JSON-выводом
preflight scan --ci --format json
# Запуск только определённых проверок или пропуск некоторых для быстрой итерации
# (разово; в отличие от `preflight ignore` не изменяет preflight.yml)
preflight scan --only seo_meta,og_twitter
preflight scan --skip vulnerability,secrets
# Отключение проверки
preflight ignore sitemap
# Повторное включение проверки
preflight unignore sitemap
# Список всех ID проверок
preflight checks
Навык агента (Agent Skill)
Этот репозиторий включает совместимый со skills.sh навык агента в skills/preflight/SKILL.md. Он даёт агентам кодирования повторяемый рабочий процесс Preflight: проверка preflight.yml, запуск безопасных для CI сканирований, сортировка результатов, избегание небезопасных игнорирований, повторный запуск валидации и отчёт об остаточном риске запуска.
Выведите список навыков из этого репозитория:
# С помощью Bun
bunx --yes skills add preflightsh/preflight --list
# Или с помощью npm
npx --yes skills add preflightsh/preflight --list
Установите только навык Preflight:
# С помощью Bun
bunx --yes skills add preflightsh/preflight --skill preflight
# Или с помощью npm
npx --yes skills add preflightsh/preflight --skill preflight
Панель управления и ИИ-подсказки
Preflight полностью работает из командной строки без учётной записи. Дополнительная панель управления на app.preflight.sh добавляет размещённую историю ваших сканирований и сгенерированные ИИ подсказки по исправлению для каждой находки. Ваш код никогда не покидает вашу машину: сканирование выполняется локально, и при публикации отправляется только сокращённая сводка результатов (ID проверок, статусы и сообщения, но никогда секретные значения или содержимое файлов).
Создайте бесплатную учётную запись, затем подключите CLI:
preflight auth login # открывает браузер для авторизации этого CLI
preflight auth status # показывает, под каким пользователем вы вошли
preflight auth logout # удаляет сохранённые учётные данные
Опубликуйте сканирование на панели управления с помощью --publish. Он выводит ссылку для просмотра запуска. Публикация выполняется по принципу «лучшее усилие»: если вы офлайн или не вошли в систему, сканирование всё равно выполняется и завершается нормально.
preflight scan --publish
На панели управления вы получаете разбивку pass/warn/fail для каждого запуска, полный список находок и историю по каждому проекту, чтобы видеть, что изменилось между развёртываниями.
Вы также можете прочитать эту историю из терминала с помощью preflight history:
preflight history # недавние запуски по всем вашим проектам
preflight history --here # только запуски текущего проекта
preflight history <run-id> # полные результаты проверок одного запуска
preflight history --here --format json # машиночитаемый формат для агентов
Требуется preflight auth login. --here сопоставляет запуски с текущим репозиторием по его git-remote, используя тот же ключ, что и при публикации.
Откройте любую неудачную проверку или проверку с предупреждением в опубликованном запуске, чтобы сгенерировать пошаговое исправление, адаптированное под ваш обнаруженный стек, с готовыми к копированию командами и кодом.
- Бесплатно включает 5 опубликованных запусков в месяц.
- Свой ключ: добавьте API-ключ OpenAI или Anthropic в настройках панели управления, и публикация останется бесплатной и безлимитной (вы платите своему провайдеру напрямую).
- Управляемый ($5/мес): мы покрываем расходы на ИИ, и запуски безлимитны, API-ключ не требуется.
Что проверяется
| Проверка | Описание |
|---|---|
| ENV Parity | Сравнивает .env и .env.example на предмет отсутствующих переменных |
| Health Endpoint | Проверяет доступность сайта; автоматически определяет /health, /healthz, /api/health или возвращается к корневому пути |
| Vulnerability Scan | Проверяет уязвимости зависимостей (bundle audit, npm audit и т. д.) |
| SEO Metadata | Проверяет наличие title, description и тегов Open Graph |
| OG & Twitter Cards | Проверяет og:image, twitter:card и метаданные для публикации в соцсетях |
| Canonical URL | Проверяет наличие тега canonical link |
| Viewport | Проверяет правильный метатег viewport для мобильных устройств |
| Lang Attribute | Проверяет атрибут html lang для доступности |
| Structured Data | Проверяет наличие разметки JSON-LD Schema.org |
| Security Headers | Проверяет HSTS, CSP, X-Content-Type-Options как на продакшене, так и на стейджинге |
| SSL Certificate | Проверяет действительность SSL и предупреждает до истечения срока |
| WWW Redirect | Проверяет редирект www/без-www на канонический URL |
| Email Auth | Проверяет DNS-записи SPF/DMARC для доставляемости почты (по желанию) |
| Secret Scanning | Находит утёкшие API-ключи и учётные данные в коде |
| Debug Statements | Обнаруживает console.log, var_dump, debugger, оставленные в коде |
| Error Pages | Проверяет наличие пользовательских страниц ошибок 404/500 |
| Image Optimization | Находит большие изображения (>500KB), которые замедляют загрузку |
| Legal Pages | Проверяет наличие страниц политики конфиденциальности и условий обслуживания |
| Cookie Consent | Обнаруживает решение для согласия на cookie (соответствие GDPR/CCPA) |
| Favicon & Icons | Проверяет наличие favicon, apple-touch-icon (.png, .webp, .svg) и web manifest |
| robots.txt | Проверяет, что robots.txt существует и содержит контент |
| sitemap.xml | Проверяет наличие sitemap или генератора |
| llms.txt | Проверяет наличие файла рекомендаций для LLM-краулеров |
| ads.txt | Проверяет ads.txt для сайтов с рекламой (по желанию) |
| humans.txt | Проверяет наличие humans.txt для указания команды (по желанию) |
| IndexNow | Проверяет файл ключа IndexNow для ускоренной индексации в поиске (по желанию) |
| LICENSE | Проверяет наличие файла лицензии (по желанию, для проектов с открытым исходным кодом) |
Поддерживаемые сервисы (72)
Preflight автоматически определяет и проверяет конфигурацию для этих сервисов:
Платежи
- Stripe, PayPal, Braintree, Paddle, LemonSqueezy
Отслеживание ошибок и мониторинг
- Sentry, Bugsnag, Rollbar, Honeybadger, Datadog, New Relic, LogRocket