Preflight
What exactly am I about to commit?
Preflight is a deterministic, read-only CLI that inspects the Git index immediately before git commit. It summarizes the staged snapshot and reports evidence-backed repository states developers commonly regret committing.
python -m pip install evo-preflight
preflight
Preflight inspects staged paths and blob sizes, common generated artifacts, tracked files matching .gitignore, foundational repository files, and the repository default branch. Every finding says what was observed, why it matters, and a suggested fix.
It never blocks a commit, changes repository state, runs tests or builds, scans secrets, certifies releases, installs hooks, uses AI, sends telemetry, or accesses the network.
Commands
preflight
preflight --json
preflight --largest
preflight --version
preflight explain large-staged-file
preflight --config preflight.toml
Findings always return exit code 0. Exit code 2 means the repository or configuration is unavailable; 3 means an unexpected internal error occurred.
What it reports
- staged files of at least 100 MB;
- staged snapshots of at least 500 MB, with largest contributors;
- Python caches:
__pycache__,*.pyc, and*.pyo; - virtual environments:
.venvandvenv; - build artifacts:
build,dist,*.whl, and*.egg-info; *.jsonland configured generated directories;- tracked files matching standard Git ignore rules;
- a missing root README, LICENSE, or
.gitignore; - a default branch named
master, reported without claiming it is wrong; - the ten largest tracked files when
--largestis requested.
Preflight reads staged content from Git, so unstaged edits are never described as part of the next commit.
Configuration
Preflight automatically reads preflight.toml from the repository root. Configuration is declarative, has no commands or scripting, and rejects unknown keys.
version = 1
[limits]
large_file_mb = 100
large_snapshot_mb = 500
[generated]
directories = ["benchmarks/results", "telemetry"]
Development
python -m pip install -e ".[dev]"
ruff check .
mypy
python -m unittest discover -s tests -v
python -m build
twine check dist/*
See CONTRIBUTING.md for the contribution workflow and CHANGELOG.md for release history.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evo_preflight-0.1.0.tar.gz.
File metadata
- Download URL: evo_preflight-0.1.0.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fce701748c0dd091525905f4d1e98a3b969df89e9472f0015483256535aef3c9
|
|
| MD5 |
4475ab5be77f8e93109bb2b4b2cfe259
|
|
| BLAKE2b-256 |
1b5f14d96d7ecf5d584bb16a2b9505cb743d49735f8f5f8bb9eb7932c724ed15
|
Provenance
The following attestation bundles were made for evo_preflight-0.1.0.tar.gz:
Publisher:
release.yml on evo-engineering-llc/evo-preflight
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evo_preflight-0.1.0.tar.gz -
Subject digest:
fce701748c0dd091525905f4d1e98a3b969df89e9472f0015483256535aef3c9 - Sigstore transparency entry: 2350821871
- Sigstore integration time:
-
Permalink:
evo-engineering-llc/evo-preflight@33f20f3c8f9b65ca236e1ca36ce56e45d33f73ff -
Branch / Tag:
refs/heads/main - Owner: https://github.com/evo-engineering-llc
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33f20f3c8f9b65ca236e1ca36ce56e45d33f73ff -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file evo_preflight-0.1.0-py3-none-any.whl.
File metadata
- Download URL: evo_preflight-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2837aaa34f0d1902cd5b238423aac486821243edc03b9de5ed8ad01f0378715
|
|
| MD5 |
28d651fe5915136f9bc2169f06987dd0
|
|
| BLAKE2b-256 |
ce14e76d3ecbf0c2f3926d5e2cddbba712fe7dca15a042570f9d6b8c0092578a
|
Provenance
The following attestation bundles were made for evo_preflight-0.1.0-py3-none-any.whl:
Publisher:
release.yml on evo-engineering-llc/evo-preflight
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evo_preflight-0.1.0-py3-none-any.whl -
Subject digest:
b2837aaa34f0d1902cd5b238423aac486821243edc03b9de5ed8ad01f0378715 - Sigstore transparency entry: 2350822020
- Sigstore integration time:
-
Permalink:
evo-engineering-llc/evo-preflight@33f20f3c8f9b65ca236e1ca36ce56e45d33f73ff -
Branch / Tag:
refs/heads/main - Owner: https://github.com/evo-engineering-llc
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33f20f3c8f9b65ca236e1ca36ce56e45d33f73ff -
Trigger Event:
workflow_dispatch
-
Statement type: