Commands¶
Eight commands. All take an optional path and return the underlying tool's exit code.
| Command | Runs |
|---|---|
lint |
ruff check |
fix |
ruff check --fix then ruff format |
format |
ruff format (writes) |
fmt-check |
ruff format --check (read-only) |
type |
mypy |
test |
pytest |
check |
the four above, in order, stopping at the first failure |
pr-prompt |
builds the PR-description prompt — its own page |
tc is the short form
The package installs tempest-cli and tc pointing at the same
program. The examples use the long name; tc check, tc fix and
tc type -s strict work exactly the same.
The full gate¶
tempest-cli check # the whole project
tempest-cli check src/ # a single path
tempest-cli check -s strict # with raised typing strictness for this run
The order is deliberate: lint → formatting → types → tests. What fails fastest and is cheapest to fix comes first, and the run stops at the first failure — there is no point running the whole suite when the imports are unsorted.
Fixing what can be fixed¶
tempest-cli fix # safe autofixes + formatting
tempest-cli fix --unsafe # also ruff's risky autofixes
fix makes two passes: ruff check --fix (sorts and dedupes imports,
drops unused ones, normalizes quotes) and then ruff format
(indentation, line length, blank lines).
--unsafe can change behavior
Ruff's "unsafe" autofixes are the ones that may alter semantics.
They are off by default. Turned them on? Read the git diff before
committing.
One at a time¶
test forwards the path to pytest as a filter; with no argument it runs
the whole suite.
What each returns¶
The exit code is the tool's own, untranslated:
There is exactly one code of its own: 127, when the tool is in none
of the places the CLI looks — the run's environment, PATH, uv run
--with — and the message then names what was missing and how to install
it. The lookup order is in
Installation.
Recap¶
checkis lint + fmt-check + type + test, in order, stopping at the first failure.fixis the pass that repairs;--unsafeonly when you will review.- Exit codes are the tools'; 127 means a missing tool.