关于 mcore-linting-and-formatting
为 MCore 项目开发者提供 Python 代码格式化与静态检查流程,适用于提交 PR 前的代码质量检查。它整合项目脚本、CI 使用的工具及代码风格约定。
主要功能
- 01运行自动格式化脚本
- 02支持检查模式与修复模式
- 03使用 black、isort、pylint、ruff 和 mypy
- 04规定类型提示与文档字符串规范
- 05提供 linting 依赖安装命令
适用场景
- 01提交 PR 前检查代码
- 02统一 Python 导入顺序
- 03为公共 API 补充类型提示和文档字符串
安装
复制下面的命令,在终端中运行。
$
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详细介绍
Linting 和格式化
运行格式化工具
打开 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
设置 Linting 工具组
在容器中:
uv sync --locked --only-group linting
这会安装 ruff、black、isort、pylint——与 tools/autoformat.sh 和 CI 的 linting 任务所用工具相同。
代码风格规则
- 类型提示:所有公共 API 函数都必须添加类型提示。使用
X | None,不要使用Optional[X]。 - 文档字符串:所有公共类和函数都必须使用 Google 风格的文档字符串。
- 命名:遵循 Python 约定——函数和变量使用
snake_case,类使用PascalCase。 - 行长度:119 个字符(在
pyproject.toml中配置)。 - 不要使用裸
except:始终捕获特定的异常类型。
评论
支持 Markdown