mcore-linting-and-formatting について
mcore-linting-and-formatting は、mcore プロジェクトの lint とフォーマット手順をまとめたスキルです。フォーマッタースクリプト、Python のインポート順、ツールのセットアップ、コード規約を扱います。
主な機能
- 01チェックまたは修正モードでフォーマッターを実行
- 02編集した Python インポートに isort を適用
- 03lint ツールグループをインストール
- 04公開 API と docstring の規則に準拠
- 05Python の命名・例外処理規則に準拠
活用シーン
- 01PR 作成前のフォーマット確認
- 02ファイルの整形と Python インポートの整理
- 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.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 対応