gate runs a project's gates — tests, lint, typecheck, build — captures every
byte they write to a log file, and reports only the verdict. The command's exit
status passes through unchanged.
A pipe through tail can invert a gate's verdict. gate keeps the status
authoritative and the log complete.
make install && gate go test ./...Prerequisites and full install notes: HUMANS.md.
- Exit status is the verdict — passed through unchanged; output is never parsed.
- Complete log — bounded on-screen summary; failures quote a tail and name the log.
- Auto-detects gates — Makefile,
package.json,turbo.json, then conventions for Go, Rust, Python, Node, workflows and shell scripts;.gate.tomladjusts without replacing. - Concurrent by default —
--serialor.gate.tomlwhen one gate needs another's result. - Ctrl-C kills the tree — trailer still written; stopped gates reported as skipped.
- Machine-readable —
--jsonfor what would run,--ndjsonfor one line per gate as it finishes. gate doctor— read-only findings with evidence (CI gaps, missing vuln gates),--jsonincluded.
| Doc | Audience |
|---|---|
| HUMANS.md | Running and using gate |
| docs/USAGE.md | Detection, configuration, exit codes |
| AGENTS.md | Internals, invariants, and why this exists |
| CONTRIBUTING.md | Process — commits, tests, docs |
| CHANGELOG.md | Release notes |
MIT — see LICENSE. © 2026 Rethunk.Tech