Об этом проекте
Lintro представляет собой инструмент командной строки, который объединяет большой набор средств форматирования кода, линтинга, проверки типов и безопасности под единым интерфейсом. Он опубликован под лицензией MIT и требует Python 3.11 или новее для Python-пакета, хотя также предлагается автономный Node-пакет.
Быстрый старт сосредоточен на двух командах: "lintro check" (псевдоним "chk") для поиска проблем и "lintro format" (псевдоним "fmt") для их исправления. Дополнительные команды включают "lintro badge" для создания бейджа с количеством проблем shields.io, "lintro list-tools" для отображения доступных инструментов, "lintro init" и "lintro doctor" для настройки и проверки работоспособности, а также "lintro install --profile recommended" для развертывания инструментов. Результаты могут быть представлены в нескольких форматах: grid, JSON, HTML, CSV и Markdown, с такими опциями, как --output-format grid, --group-by file, --tools для выбора конкретных инструментов, --exclude для директорий, --auto-install для инструментов на базе Node и --diff для ограничения проверок файлами, измененными относительно git ref.
В README представлен широкий перечень инструментов, разделенных на линтеры, форматтеры, инструменты, выполняющие обе функции, средства проверки типов, сканеры безопасности и ИИ-инструменты. Примеры включают Actionlint, Clippy, commitlint, Cppcheck, golangci-lint, Hadolint, html-validate, Markdownlint-cli2, Vale, Oxlint, pylint, ShellCheck, Spectral и Yamllint для линтинга; Black, Oxfmt, Prettier, shfmt и rustfmt для форматирования; Ruff, SQLFluff, Taplo, dotenv-linter, Stylelint и typos для линтинга и форматирования; Astro, Mypy, svelte-check, TypeScript и vue-tsc для проверки типов; а также Bandit, Checkov, Gitleaks, cargo-audit, cargo-deny, OSV-Scanner, pip-audit, Semgrep и TruffleHog для безопасности. Инструменты Python, такие как ruff, black, mypy, bandit, import-linter, pydoclint, pylint и yamllint, могут быть объединены через дополнение "full", поэтому они не требуют отдельной установки.
Конфигурация направлена на исключение необходимости миграции: существующие нативные конфиги, такие как .prettierrc, pyproject.toml [tool.ruff] или .yamllint, обнаруживаются и учитываются, в то время как общие настройки могут применяться последовательно, а разумные значения по умолчанию используются там, где нативный конфиг отсутствует. Документация описывает пятиуровневую систему конфигурации. Инструменты Node.js следуют установленному порядку разрешения: сначала node_modules/.bin целевого проекта, затем бинарный файл в PATH, затем загрузка через bunx/npx с закрепленной версией.
Варианты установки включают uv pip или pip install (облегченный вариант или с дополнением full), Homebrew tap, глобальный пакет bun/npm и Docker-образы из GHCR с отдельными образами "tools" и "base". В папке docs репозитория также документирована интеграция с CI/CD и pre-commit.
Функции ИИ являются опциональными и по умолчанию выключены; для них требуется API-ключ пользователя от Anthropic Claude или OpenAI GPT. Они устанавливаются через дополнение ai и могут предоставлять высокоуровневое резюме с анализом паттернов, интерактивные предложения по исправлению с классификацией рисков и итоговый отчет после исправлений. Остальная документация охватывает руководство по началу работы, конфигурацию, использование Docker, интеграцию с GitHub, pre-commit, вклад в проект, устранение неполадок, а также расширенный анализ инструментов, архитектуру и материалы по безопасности.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.