このプロジェクトについて
Lintroは、コードフォーマット、リンティング、型チェック、およびセキュリティツールの広範なセットを単一のインターフェースで統合するコマンドラインツールです。MITライセンスの下で公開されており、Pythonパッケージの場合はPython 3.11以降が必要ですが、自己完結型のNodeパッケージも提供されています。
クイックスタートは主に2つのコマンドを中心に構成されています。問題を発見するための「lintro check」(エイリアス「chk」)と、それらを修正するための「lintro format」(エイリアス「fmt」)です。その他のコマンドには、shields.ioの問題数バッジを作成する「lintro badge」、利用可能なツールを表示する「lintro list-tools」、セットアップとヘルスチェックを行う「lintro init」および「lintro doctor」、そしてツールのプロビジョニングを行う「lintro install --profile recommended」があります。結果はgrid、JSON、HTML、CSV、Markdownの複数の形式でレンダリングでき、--output-format grid、--group-by file、特定のツールを選択する--tools、ディレクトリを除外する--exclude、Nodeベースのツールを自動インストールする--auto-install、gitリファレンスに対する変更ファイルのみにチェックを制限する--diffなどのオプションが用意されています。
READMEには、リンター、フォーマッター、リンティングとフォーマットの両方を行うツール、型チェッカー、セキュリティスキャナー、AIツールにグループ分けされた広範なツールマトリクスが記載されています。例として、リンティングには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が挙げられます。ruff、black、mypy、bandit、import-linter、pydoclint、pylint、yamllintなどのPythonツールは「full」エクストラ経由でバンドルできるため、個別のインストールは不要です。
設定は移行作業を避けることを目的としています。.prettierrc、pyproject.toml [tool.ruff]、.yamllintなどの既存のネイティブ設定が検出され尊重される一方、共有設定を一貫して適用でき、ネイティブ設定が存在しない場合は適切なデフォルト値が使用されます。ドキュメントでは5層の設定システムについて説明されています。Node.jsツールの解決順序は、まずターゲットプロジェクトのnode_modules/.bin、次にPATH上のバイナリ、最後にバージョン固定されたbunx/npxによるフェッチという順になります。
インストールオプションには、uv pipまたはpip install(軽量版またはfullエクストラ付き)、Homebrew tap、グローバルなbun/npmパッケージ、およびGHCRからのDockerイメージ(「tools」と「base」の別々のイメージ)が含まれます。また、リポジトリのdocsフォルダにはCI/CDおよびpre-commitの統合についても記載されています。
AI機能はオプションであり、デフォルトではオフになっています。利用にはAnthropic ClaudeまたはOpenAI GPTのユーザー提供APIキーが必要です。これらはaiエクストラを通じてインストールされ、パターン分析を含むハイレベルなサマリー、リスク分類付きのインタラクティブな修正提案、および修正後のサマリーを提供できます。その他のドキュメントでは、クイックスタート、設定、Dockerの使用法、GitHub統合、pre-commit、貢献方法、トラブルシューティングに加え、高度なツール分析、アーキテクチャ、セキュリティに関する資料がカバーされています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.