Run the whole gate

Version 0.1.3 Updated Sep 27, 2026

One command performs the entire spelling gate. It regenerates typos.toml from the live shared dictionary, runs the pinned Typos binary over the tracked files, and enforces the shared phrase corrections that Typos cannot express:

uvx --from "git+https://github.com/leynos/[email protected]" \
  typos-config-builder gate

A consumer repository needs nothing else. It owns an optional typos.local.toml overlay, two .gitignore lines, and this one command. There is no vendored script to copy, no Typos version to pin, and no builder revision to bump when the shared dictionary changes.

The two .gitignore lines keep the untracked cache out of version control:

.typos-oxendict-base.json
.typos-oxendict-base.toml

--repository PATH gates another repository, --source SOURCE selects an alternative authority, and --offline forbids refresh from the authority. --scope selects what Typos is given:

Scope Files checked
markdown (default) Tracked files whose suffix is .md.
all Every tracked file, including hidden files and directories.

The gate always generates configuration in write mode, never in drift-check mode. Because the authority is live, a tracked typos.toml drifts whenever shared policy changes, so a drift check would fail every consumer on every dictionary edit.

Typos writes its own findings. Phrase findings follow, in the format check-phrases uses. Both checking stages always run: a Typos finding never suppresses a phrase finding, so one run reports every class of problem.

Exit codes are:

Exit code Meaning
0 Nothing to correct.
1 The gate could not run to completion.
2 Typos or the phrase check reported at least one finding.

Exit code 1 prints a single error: ... line on standard error, never a traceback. An environment without the pinned Typos binary is reported that way rather than as a missing-file traceback.