mcpField
M
mcore-linting-and-formatting

mcore-linting-and-formatting

github.com/promptingcompanyテスト・品質039 回インストール17 週間前に更新
リポジトリ

mcore-linting-and-formatting について

mcore-linting-and-formatting は、mcore プロジェクトの lint とフォーマット手順をまとめたスキルです。フォーマッタースクリプト、Python のインポート順、ツールのセットアップ、コード規約を扱います。

主な機能

  1. 01チェックまたは修正モードでフォーマッターを実行
  2. 02編集した Python インポートに isort を適用
  3. 03lint ツールグループをインストール
  4. 04公開 API と docstring の規則に準拠
  5. 05Python の命名・例外処理規則に準拠

活用シーン

  1. 01PR 作成前のフォーマット確認
  2. 02ファイルの整形と Python インポートの整理
  3. 03コンテナ内での lint ツール設定

インストール

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

$npx skills add https://github.com/promptingcompany/nv-skills --skill mcore-linting-and-formatting

インストール後、Claude Code で/mcore-linting-and-formattingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json

詳細

リントとフォーマット


フォーマッターの実行

PR を作成する前に実行してください:

# Check mode (no changes applied)
BASE_REF=main CHECK_ONLY=true SKIP_DOCS=false bash tools/autoformat.sh

# Fix mode
BASE_REF=main CHECK_ONLY=false bash tools/autoformat.sh

実行されるツール:black、isort、pylint、ruff、mypy。


インポートの順序

Python ファイルのインポートを編集した後は、コミットする前に必ず対象ファイルに対して uv run isort を実行してください:

uv run isort <file1>.py <file2>.py

リント用グループのセットアップ

コンテナ内で:

uv sync --locked --only-group linting

これにより、tools/autoformat.sh と CI の linting ジョブで使用されるものと同じツールである ruff、black、isort、pylint がインストールされます。


コードスタイルのルール

  • 型ヒント:すべての公開 API 関数に必須です。Optional[X] ではなく X | None を使用してください。
  • ドキュメント文字列:すべての公開クラスと関数に Google スタイルを使用してください。
  • 命名:Python の慣例に従い、関数と変数には snake_case、クラスには PascalCase を使用してください。
  • 行の長さ:119 文字です(pyproject.toml で設定されています)。
  • 裸の except の禁止:必ず特定の例外型を捕捉してください。

コメント