Skip to main content

Fail-fast quality gate for AI coding agents: Typecheck → Lint → Test → Security Audit. Stops the agent declaring 'done' on broken code.

Project description

✈️ pre-flight-check

Stop your AI coding agent from declaring "done" on broken code.

A universal quality gate that runs Typecheck → Lint → Test → Security Audit before any task is marked complete. Auto-detects Node.js and Python. Works with 10 AI coding tools.


CI Release License: MIT Python 3.8+ Zero deps


Website  ·  Install  ·  How it works  ·  Supported AI tools  ·  Full guide

🌐 The landing-page source now lives in site/ and auto-deploys to GitHub Pages.


        ┌───────────┐   ┌──────┐   ┌──────┐   ┌────────────────┐
   →    │ TYPECHECK │ → │ LINT │ → │ TEST │ → │ SECURITY AUDIT │ → ✅ cleared for takeoff
        └───────────┘   └──────┘   └──────┘   └────────────────┘
              ↓ first failure halts the pipeline → ❌ exit 1

🛑 The problem

Your AI agent writes a function, watches it not throw at runtime, and reports "done" — while tsc would have caught a type error in 50ms, eslint would have flagged dead code, and pytest would have failed three tests.

pre-flight-check closes that loop. One command, four gates, structured failure output the agent has to act on. No more "I've successfully implemented the feature!" while the build is on fire.

📦 Install

Pick the install path that matches your platform.

🍎 macOS · 🐧 Linux (Homebrew)
brew tap mirekondro/pre-flight-check
brew install pre-flight-check
🪟 Windows (Scoop)
scoop bucket add pre-flight-check https://github.com/mirekondro/The-Pre-Flight-Check
scoop install pre-flight-check
🐍 Any platform (pipx)
pipx install pre-flight-check
⚡ One-line install (no package manager)
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/mirekondro/The-Pre-Flight-Check/main/install.sh | bash

# Windows (PowerShell)
irm https://raw.githubusercontent.com/mirekondro/The-Pre-Flight-Check/main/install.ps1 | iex
🤖 Claude Code plugin marketplace
claude plugin marketplace add mirekondro/The-Pre-Flight-Check
claude plugin install pre-flight-check

Then in any project:

pre-flight-check init --tool claude          # or cursor, codex, gemini, copilot, …
pre-flight-check init --tool all --project   # install for every supported AI tool at once

See INSTALL.md for the full per-tool matrix and troubleshooting.

⚙️ What it does

When your AI agent says "I'm done," it doesn't always mean the code works. pre-flight-check interposes a strict, fail-fast pipeline:

Typecheck → Lint → Test → Security Audit

The first stage that fails halts the pipeline, prints a structured Markdown block, and exits 1. The agent reads that block and must fix the exact error before continuing.

Here's what the agent actually sees on a failure:

### ❌ PRE-FLIGHT FAILURE: TYPECHECK
**Command Executed:** `npx --no-install tsc --noEmit`
**Context for AI Fix:**

src/auth/session.ts(42,18): error TS2345: Argument of type 'string | undefined'
is not assignable to parameter of type 'string'.

It knows: which file (session.ts), which line (42:18), which rule (TS2345), and what's wrong. No more "I think the auth flow is implemented."

On success:

### ✅ PRE-FLIGHT PASSED
All quality gates verified successfully.

🤖 Supported AI tools

Tool Native delivery path One-liner
Claude Code .claude/skills/pre-flight-check/ pre-flight-check init --tool claude
OpenAI Codex / AGENTS.md AGENTS.md at repo root pre-flight-check init --tool codex --project
Gemini CLI GEMINI.md + gemini-extension.json pre-flight-check init --tool gemini --project
Cursor .cursor/rules/pre-flight-check.mdc pre-flight-check init --tool cursor --project
GitHub Copilot .github/copilot-instructions.md pre-flight-check init --tool copilot --project
Windsurf .windsurf/rules/pre-flight-check.md pre-flight-check init --tool windsurf --project
Cline .clinerules/pre-flight-check.md pre-flight-check init --tool cline --project
Kiro .kiro/steering/pre-flight-check.md pre-flight-check init --tool kiro --project
Roo Code .roo/rules/pre-flight-check.md pre-flight-check init --tool roo --project
Agent Skills standard .agents/skills/pre-flight-check/ pre-flight-check init --tool agents-skills --project

Several tools (Codex, Copilot Coding Agent, Windsurf, Kiro) read AGENTS.md at the repo root as a fallback. Installing --tool codex alone gives broad ecosystem coverage.

✅ What it checks

Stage Node.js Python
1. Typecheck tsc --noEmit (or npm run typecheck) mypy .
2. Lint eslint . (or npm run lint) ruff check .flake8 .
3. Test jest / vitest (or npm test) pytest -q
4. Security Audit npm audit --audit-level=high pip-auditbandit -r .

Stages whose tools aren't installed are skipped silently — no false positives from missing optional gear.

🔍 How it works

  • 🔎 Auto-detects the runtime from manifest files (package.json, pyproject.toml, requirements.txt, …).
  • 📦 Picks the right package manager from the lockfile: pnpm-lock.yaml → pnpm, yarn.lock → yarn, package-lock.json → npm.
  • 🛠️ Prefers your existing scripts — if package.json defines lint, the pipeline calls npm run lint instead of invoking eslint directly.
  • 🛑 Halts on first failure — no point linting code that doesn't typecheck.
  • 🚫 Forbids escape hatches. The instruction file the AI agent reads (SKILL.md, AGENTS.md, .cursorrules/*.mdc, etc.) explicitly bans // @ts-ignore, # type: ignore, deleting failing tests, adding to ignore lists, and other ways to mark the gate green without fixing the bug.

The whole engine is one Python file with zero runtime dependencies. Audit it in five minutes.

📋 Requirements

  • Python 3.8+ on PATH (the engine — no other Python dependencies)
  • Your project's existing dev tooling — tsc, eslint, pytest, etc. We orchestrate, we don't replace.

That's it.

🚦 Project status

Stable. Used in production on the maintainer's own projects. The failure-block Markdown format is part of the public contract — any change to its shape is a major version bump.

Contributions welcome — see CONTRIBUTING.md. The bar for new features is high; the bar for new runtime adapters (Go, Rust, Ruby, …) and additional AI-tool adapters is low.

📄 License

MIT


If pre-flight-check catches a bug for you that would have shipped — ⭐ star the repo so the next developer finds it too.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pre_flight_check-1.2.1.tar.gz (226.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pre_flight_check-1.2.1-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file pre_flight_check-1.2.1.tar.gz.

File metadata

  • Download URL: pre_flight_check-1.2.1.tar.gz
  • Upload date:
  • Size: 226.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pre_flight_check-1.2.1.tar.gz
Algorithm Hash digest
SHA256 f087c62ec6938d593481e74ce72a87653781474425293ce6876b2d2f2ec21cb8
MD5 d5a96e48acfeb7559c37f3bab8b3cccc
BLAKE2b-256 c51bd7b3bf8c9437661c8a3d769617c8326e1870af547876322415bd70ed2093

See more details on using hashes here.

Provenance

The following attestation bundles were made for pre_flight_check-1.2.1.tar.gz:

Publisher: release.yml on mirekondro/The-Pre-Flight-Check

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pre_flight_check-1.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pre_flight_check-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 58c90ea413021c04643b206c372567136e6c6c8bb0ab2e5983bc59081a16ee90
MD5 b13867b5aa92b324dce1f7de89769db1
BLAKE2b-256 684547a64b25543d296739b57b148f3af5d8f3f2489f8566a35d2b456940077b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pre_flight_check-1.2.1-py3-none-any.whl:

Publisher: release.yml on mirekondro/The-Pre-Flight-Check

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page