Repolode
yoheimuta

yoheimuta/protolint

protocコンパイラ不要でProtocol Bufferのスタイルガイドを適用する、プラグイン対応のリンター兼自動修正ツール。

スター
697
フォーク
65
未解決の Issue
53
最終コミット
15 日前

これは何?

protolintはproto2とproto3の.protoファイルを検査・修正します。protobufコンパイラを呼び出さずにファイルを直接解析するため、チェックをすばやく実行でき、完全なコンパイル環境も必要ありません。公式スタイルガイドのルールの大半は-fixフラグで修正でき、自動無効化モードでは、API互換性を損なう変更を加える代わりに抑制コメントを挿入できます。

ルールはprotolint:disableコメントでインラインに無効化できるほか、.protolint.yamlファイルで設定できます。カスタムlintルールはプラグインとして読み込めます。出力形式はGitHub Actions、Azure DevOps、GitLab CI、JUnit、SARIF、SonarQubeなどのツール向けに設定できます。

protolintは単体のCLI、protocプラグイン、pre-commitフック、Goライブラリ、npmまたはPythonパッケージ、AIクライアント向けMCPサーバーとして実行できます。

主な機能

  • 01protocなしでproto2とproto3のファイルを検査します。
  • 02-fixを指定すると、公式スタイルガイドの違反の大半を自動修正します。
  • 03自動無効化モードでは、API互換性を維持するために抑制コメントを挿入します。
  • 04インラインの無効化コメントと.protolint.yamlによる設定に対応します。
  • 05プラグイン機構を通じてカスタムルールを読み込みます。
  • 06JUnit、SARIF、SonarQube、JSON、CIシステム向けのレポーターを提供します。

ユースケース

  • チームのprotobufスキーマ全体で、命名規則やインデントを統一する。
  • マージ前にCIパイプラインやpre-commitフックでスタイルチェックを実行する。
  • VS Code、IntelliJ、Vimなどのエディターでprotobufファイルを検査する。
  • 社内APIの規約に合わせて、プロジェクト固有のlintルールを追加する。

クイックスタート

  1. 1

    Homebrewでprotolintをインストールする

    brew install protolint
  2. 2

    現在のディレクトリにあるすべての.protoファイルをlintする

    protolint lint .

トピック

よくある質問

protolint とは?
protocコンパイラ不要でProtocol Bufferのスタイルガイドを適用する、プラグイン対応のリンター兼自動修正ツール。 protolintはproto2とproto3の.protoファイルを検査・修正します。protobufコンパイラを呼び出さずにファイルを直接解析するため、チェックをすばやく実行でき、完全なコンパイル環境も必要ありません。公式スタイルガイドのルールの大半は-fixフラグで修正でき、自動無効化モードでは、API互換性を損なう変更を加える代わりに抑制コメントを挿入できます。
protolint は無料で使えますか?ライセンスは?
protolint は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
protolint は今もメンテナンスされていますか?
活発にメンテナンス中。protolint の最終コミットは 2026年10月7日 です。
protolint は何に使えますか?
チームのprotobufスキーマ全体で、命名規則やインデントを統一する。 マージ前にCIパイプラインやpre-commitフックでスタイルチェックを実行する。 VS Code、IntelliJ、Vimなどのエディターでprotobufファイルを検査する。 社内APIの規約に合わせて、プロジェクト固有のlintルールを追加する。
protolint のインストール方法は?
Homebrewでprotolintをインストールする: brew install protolint 現在のディレクトリにあるすべての.protoファイルをlintする: protolint lint .
protolint はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/yoheimuta/protolint

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト