mcpField
O
odoo-lint

odoo-lint

ローカル
odoo-lint.readthedocs.io開発ツール06 日前に更新

odoo-lint について

odoo-lintは、Odoo開発者やOCAチェックを使うチーム向けのRust製モジュールリンターです。複数のファイル形式を検査し、自動修正やアップグレードチェックを備え、コーディングエージェント用のMCPサーバーも含みます。

主な機能

  1. 01Python、マニフェスト、XML、CSV、PO、JavaScriptの検査
  2. 02pylint-odooとOCAチェック結果との一致
  3. 03安全・非安全な自動修正
  4. 04旧バージョンのOdooの残存箇所を検出
  5. 05プロジェクト別・企業別ルールの設定
  6. 06CI出力とエディター用言語サーバー

活用シーン

  1. 01変更のマージ前にOdooアドオンを検査
  2. 02翻訳ファイルやモジュールファイルの修正
  3. 03Odooのアップグレード時に旧式の記述を検出
  4. 04編集後にコーディングエージェントへ検査結果を提供

MCP 対応

`odl mcp`から利用できるMCPサーバーを内蔵し、AIコーディングエージェントに機能を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"getfluvo-odoo-lint": {
"command": "uvx",
"args": [
"odoo-linter"
]
}
}
}
起動コマンドuvx odoo-linter

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiodoo-linter0.1.0a21

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

odoo-lint ロゴ

odoo-lint

PyPI crates.io テスト OCA との互換性 ドキュメント ライセンス:MIT

Odoo モジュール向けの、Rust ネイティブで非常に高速なリンターです。コマンド名は odl です。

Python ファイル、マニフェスト、XML および CSV データファイル、翻訳(.po)ファイル、JavaScript(OWL コンポーネントとテンプレート)をチェックします。OCA の pylint-odoo、oca-checks-odoo-module、oca-checks-po のチェックを備えており、それぞれのテストスイートで同じ名前、同じメッセージ、同じ結果になります。また、誤ってコミットされたパッケージやデータベースダンプなど、モジュールに含めるべきでないファイルについても警告します。

棒グラフ:OCA/sale-workflow のリンティングは odoo-lint で 0.10 秒、pylint-odoo で 25.8 秒

OCA の pre-commit フックで pylint-odoo を実行した場合と同じ方法で、OCA/sale-workflow 18.0 全体をリンティングしています。ベンチマークをご覧ください。

  • ⚡ pylint-odoo を使った pylint より 250 倍高速で、単一コアでも 30 倍高速です
  • ⚖️ pylint-odoo と OCA の pre-commit チェックをそのまま置き換え可能:コード、名前、メッセージは同じで、各チェックはそれぞれのテストスイートで一致します (互換性)。# pylint: disable= コメントも引き続き機能します
  • 🔧 Python、マニフェスト、XML、.po ファイル向けの 自動修正。Ruff と同様に安全な修正と安全でない修正に対応します(odl check --fix、プレビューには --diff)
  • ⬆️ アップグレードチェック:Odoo 15.0 以降では機能しない Bootstrap 4 クラスなど、古い Odoo バージョンの残骸を修正できます
  • 🌍 Odoo のローダー動作を予測する翻訳チェック:Odoo が「malformed po file」とログに出す理由や、翻訳が表示されない理由を特定します
  • 📦 pip、uv、pipx でインストール可能:Linux、macOS、Windows 向けのビルド済みホイールに含まれる単一バイナリで、Python 依存関係はありません
  • 🛠️ 会社固有の作成者ルールを含め、pyproject.toml で設定できます
  • 📋 CI 向け出力:GitHub アノテーション、GitLab Code Quality、SARIF、JSON
  • ✍️ エディターで使用可能:クイックフィックス対応の言語サーバー(odl server)と、VS Code および Zed 用の拡張機能
  • 🤖 AI コーディングエージェント向け:MCP サーバーと、エージェントが編集するすべてのファイルをリンティングする Claude Code、DeepSeek Harness、OpenCode 用のプラグイン
  • 🪝 Git フック:pre-commit と hk

インストール

uv tool install odoo-linter   # or: pipx install odoo-linter
cargo install odoo-lint       # from crates.io

PyPI パッケージ名は odoo-linter です。odoo-lint は既存の PyPI プロジェクト名と似すぎているためです。crates.io では odoo-lint です。

クイックスタート

odl check path/to/addons   # lint a directory
odl rule                   # list all rules
odl rule C8101             # explain a rule
odl check --fix            # apply the safe fixes (--diff to preview)

pylint-odoo から移植されたルールでは、コード、名前、メッセージが引き継がれており、 # pylint: disable= コメントも引き続き機能します。会社固有のルールは pyproject.toml で設定できます。

[tool.odoo-lint]
target-version = "17.0"

[tool.odoo-lint.rules.manifest-required-author.mapping]
"acme_*" = "Acme Corp"

AI コーディングエージェント向けに、MCP サーバー(odl mcp)と編集後フックを用意しています。 Claude Code(/plugin marketplace add GetFluvo/odoo-lint)、DeepSeek Harness、OpenCode 向けのプラグインとしてパッケージ化されています。

odoo-lint を初めてお使いですか?はじめにをご覧ください。 OCA の pre-commit フックから移行する場合は、 OCA ツールからの移行をお読みください。 すべてのコマンド、設定オプション、ルールについては、 ドキュメントをご覧ください。

開発

uv sync --all-groups   # builds odl into .venv via maturin
uv run nox             # pre-commit, fmt, clippy, cargo tests, CLI tests, docs

CONTRIBUTING.mdと開発ガイドをご覧ください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。