CI Preflight scans every pull request before your pipeline runs — catching changes that will break the build so you fix them in seconds, not after a wasted CI run.
Install once and CI Preflight starts working immediately — no YAML to write, no CLI to set up, no tokens to manage.
Click Install, select your repos, and you're done. CI Preflight registers itself as a GitHub Check on every selected repository.
Nothing changes in your workflow. CI Preflight receives the PR event and scans the diff within seconds of it being opened.
If a problem is detected, a failed Check Run appears on the PR with an explanation and the exact fix — before your pipeline has even started.
Each HIGH and MEDIUM check has a clear causal link to a CI failure. When CI Preflight flags something, it explains exactly why the build will fail and what to do about it.
| Check | Severity | What it catches |
|---|---|---|
| merge_conflict | HIGH | Unresolved Git conflict markers (<<<<<<<, >>>>>>>) left in the diff. Causes an immediate syntax error — the build will fail before any tests run. |
| secrets_committed | HIGH | Private keys, .env files, credentials.json, .pem files, or other secret material included in the PR. Secret scanners will block the pipeline immediately. |
| dependency_lock_contract | HIGH | package.json, go.mod, or requirements.txt changed without updating the lockfile. The CI runner will resolve different package versions than you tested with. |
| nuget_lock_contract | HIGH | A .csproj or .vbproj modified without updating packages.lock.json. Affects .NET projects using RestoreLockedMode — build fails at restore. |
| submodule_drift | MED | .gitmodules changed — a submodule URL or path was added, removed, or updated. CI fails at the checkout stage if the new submodule isn't accessible from the runner. |
| missing_migration | MED | A database model or schema file changed (Django, Prisma, TypeORM, Rails, Sequelize) without a corresponding migration file. DB schema will be out of sync — test suite fails. |
| test_deletion | MED | Test files were deleted (pytest, Jest, Go, JUnit, RSpec, xUnit). Coverage thresholds in CI will fail if total coverage drops below the configured minimum. |
| ci_config_change | LOW | Pipeline YAML edited (.github/workflows, azure-pipelines.yml). Informational — CI config changes have an elevated chance of causing a startup failure. |
| diff_size_contract | LOW | This PR touches 50+ files. Informational — large diffs are statistically noisier and worth a careful review before merging. |
The checks above fire on day one. But CI Preflight also watches what your CI actually does — and over time, starts learning patterns specific to your repo that no generic rule could know.
The diff is analysed, predictions are made, and the Check Run is posted — all within seconds.
When your pipeline completes, CI Preflight records whether it passed or failed — and links it back to the prediction it made.
After enough builds, CI Preflight learns which parts of your codebase are fragile — and starts flagging them even when a generic rule wouldn't fire.
The more your team uses it, the more it knows about your specific failure patterns. It becomes genuinely indispensable — not just another generic linter.
Install CI Preflight on your repos in 2 minutes. Free during beta — no credit card, no configuration, no commitment.
Works with GitHub Actions, CircleCI, Jenkins, and any CI that posts check results back to GitHub.