mcore-linting-and-formatting について
MCore の開発者向けに、Python の整形と静的チェック手順をまとめたガイドです。PR 前の確認に使う自動化スクリプト、CI のツール、コード規約を扱います。
主な機能
- 01自動整形スクリプトの実行
- 02チェックと修正の各モード
- 03black、isort、pylint、ruff、mypy の利用
- 04型ヒントと docstring の規則
- 05linting 依存関係のセットアップ
活用シーン
- 01PR 作成前のコード確認
- 02Python の import 順序の統一
- 03公開 API への型ヒントと docstring の追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nvidia/ skills --skill mcore-linting-and-formattingインストール後、Claude Code で/mcore-linting-and-formattingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/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の禁止:必ず特定の例外型を捕捉してください。
コメント
Markdown 対応