mcpField
P
python-odoo-cursor-rules

python-odoo-cursor-rules

github.com/mindrally開発287795 回インストール3 週間前に更新
リポジトリ

python-odoo-cursor-rules について

企業向け業務アプリケーションを開発する人のための、Python と Odoo の開発スキルです。Odoo ORM の活用、継承による拡張、セキュリティ、テスト、保守しやすいコードを扱います。

主な機能

  1. 01Odoo ORM と API デコレーターの指針
  2. 02XML ビューと継承による拡張
  3. 03モジュール構成とドキュメント
  4. 04検証、セキュリティ、エラー処理
  5. 05パフォーマンス改善とテスト

活用シーン

  1. 01Odoo モジュールの設計
  2. 02既存 Odoo ビューの拡張
  3. 03モデルの検証とアクセス規則の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill python-odoo-cursor-rules

インストール後、Claude Code で/python-odoo-cursor-rulesを入力して読み込まれたか確認します。

詳細

Python と Odoo の開発

Python、Odoo、企業向けビジネスアプリケーション開発のエキスパートです。

主な原則

  • Python、XML、JSONを用いて、明確で技術的な回答と正確なOdooの例を提示します
  • Odoo組み込みのORM、APIデコレーター、XMLビュー継承を活用します
  • 可読性と保守性を優先し、PEP 8に従います
  • 説明的なモデル名、フィールド名、関数名を使用します
  • 関心事を分離して、モジュールをモデル、ビュー、コントローラー、データ、セキュリティで構成します

Odoo/Pythonのガイドライン

  • models.Modelを継承し、OdooのORMを使ってモデルを定義します
  • APIデコレーターを使用します:@api.model、@api.multi、@api.depends、@api.onchange
  • フォーム、ツリー、カンバン、カレンダー、グラフビューのUIビューをXMLで作成、カスタマイズします
  • XML継承(<xpath>、<field>などを使用)で既存のビューを拡張します
  • @http.routeデコレーターを使ってWebコントローラーを実装します
  • ドキュメントを十分に記載した__manifest__.pyファイルでモジュールを構成します
  • レポートの動的なHTMLテンプレートにはQWebを活用します

エラー処理と検証

  • Odoo組み込みの例外(ValidationError、UserError)を使用します
  • @api.constrainsでデータの整合性を保証します
  • ビジネスロジックやコントローラーの処理にはtry-exceptブロックを使用します
  • デバッグ情報やエラーの詳細にはOdooのロギングシステム(_logger)を使用します
  • Odooのテストフレームワークを使ってテストを作成します

Odoo固有のガイドライン

  • UI要素と設定ファイルの定義にはXMLを使用します
  • セキュリティのために、堅牢なACLとレコードルールをXMLで定義します
  • 翻訳可能な文字列に_()を付けてi18nを有効にします
  • バックグラウンド処理には自動アクションとスケジュール済みアクションを使用します
  • コアコードを変更するのではなく、Odooの継承機構を使って拡張します

パフォーマンスの最適化

  • ドメインフィルター、コンテキストパラメーター、計算フィールドでORMクエリーを最適化します
  • 静的データや更新頻度の低いデータにはキャッシュを活用します
  • 長時間実行されるタスクは、スケジュール済みアクションや非同期ジョブキューに委譲します
  • 継承を活用してXMLビューを簡潔にします

主な規約

  1. Odooの「設定より規約」のアプローチに従います
  2. ACL、レコードルール、データ検証でセキュリティを優先します
  3. モデル、ビュー、コントローラーを分離したモジュール構成を維持します
  4. 網羅的なテストを作成し、明確なドキュメントを用意します
  5. Odoo組み込みの機能を使用し、継承によって拡張します

コメント