Skip to content

Glossary

Term Meaning
polylint The product. The command is poly (with polylint as an alias) and the config file is poly.toml.
engine One tool as you configure it, under [engines.<id>]: ruff, oxc, rustfmt, quality, … Every finding names the engine that produced it.
component A signed, checksum-verified download that carries one or more engines (web, python, sql, sh, …). A core build fetches components on first use; the bundled build links them all in. See Components and offline use.
core build A release binary that downloads components. Every release target except Linux x86_64 musl.
bundled build The Linux x86_64 musl release binary: every engine and the MCP server linked in, nothing downloaded.
host tool A language’s canonical CLI that polylint runs as a subprocess when it is on PATH — rustfmt, gofmt, shellcheck by default, others opt-in. See Toolchains, runtimes and recipes.
recipe A built-in integration for an ecosystem tool (golangci-lint, hadolint, buf, …), enabled under [tools.<name>]: batched runs, parsed per-line findings, and for most an optional checksummed download. See Recipes.
catalog tool Any of the 348 tools in the embedded mdsf catalog, enabled under [tools.<name>]. Without a recipe it gives one verdict per file. See the tool catalog.
host runtime A JVM, Node or Python installation a recipe tool needs. polylint never bundles one.
tree-sitter tier Best-effort formatting for languages with no dedicated engine, from tree-sitter grammars fetched on demand. Formatting only; it establishes no lint coverage.
cross-cutting engine An engine that runs on every language: quality and astgrep (on by default), typos and uncomment (opt-in).
project check An engine that judges a whole tree rather than one file — Python type checking, skif, adrlint’s tree-wide rules.
whole-project phase The part of poly lint that runs whole-workspace tools from [hooks] (cargo clippy, cargo-deny, …) against the live worktree. Controlled by --workspace and [workspace] run.
skip A file a run did not check, always named with its reason. A skip that reflects a limit of polylint is charged against --deny-skips / --max-skips; one you asked for (--only, --skip, enabled = false) is not.