About this project

Lintro is a command-line tool that unifies a large set of code formatting, linting, type-checking and security tools behind a single interface. It is published under the MIT license and requires Python 3.11 or newer for the Python package, though a self-contained Node package is also offered. Quick start centres on two commands: "lintro check" (alias "chk") to find issues and "lintro format" (alias "fmt") to fix them. Additional commands include "lintro badge" for a shields.io issue-count badge, "lintro list-tools" to show available tools, "lintro init" and "lintro doctor" for setup and health checks, and "lintro install --profile recommended" for provisioning tools. Results can be rendered in several formats: grid, JSON, HTML, CSV and Markdown, with options such as --output-format grid, --group-by file, --tools to select specific tools, --exclude for directories, --auto-install for Node-based tools, and --diff to limit checks to files changed against a git ref. The README lists a broad tool matrix grouped into linters, formatters, tools that both lint and format, type checkers, security scanners and AI tools. Examples include Actionlint, Clippy, commitlint, Cppcheck, golangci-lint, Hadolint, html-validate, Markdownlint-cli2, Vale, Oxlint, pylint, ShellCheck, Spectral and Yamllint for linting; Black, Oxfmt, Prettier, shfmt and rustfmt for formatting; Ruff, SQLFluff, Taplo, dotenv-linter, Stylelint and typos for lint-plus-format; Astro, Mypy, svelte-check, TypeScript and vue-tsc for type checking; and Bandit, Checkov, Gitleaks, cargo-audit, cargo-deny, OSV-Scanner, pip-audit, Semgrep and TruffleHog for security. Python tools such as ruff, black, mypy, bandit, import-linter, pydoclint, pylint and yamllint can be bundled via the "full" extra, so they need no separate installation. Configuration aims to avoid migration work: existing native configs such as .prettierrc, pyproject.toml [tool.ruff] or .yamllint are detected and respected, while shared settings can be enforced consistently and sensible defaults used where no native config exists. The documentation describes a five-tier configuration system. Node.js tools follow a stated resolution order: the target project's node_modules/.bin first, then a binary on PATH, then a version-pinned bunx/npx fetch. Installation options include uv pip or pip install (lightweight or with the full extra), a Homebrew tap, a global bun/npm package, and Docker images from GHCR, with separate "tools" and "base" images. The repository also documents CI/CD and pre-commit integration in its docs folder. AI features are optional and off by default, requiring a user-supplied API key from Anthropic Claude or OpenAI GPT. They are installed through the ai extra and can provide a high-level summary with pattern analysis, interactive fix suggestions with risk classification, and a post-fix summary. Remaining documentation covers getting started, configuration, Docker usage, GitHub integration, pre-commit, contributing, troubleshooting, plus advanced tool analysis, architecture and security material.