关于 mcore-linting-and-formatting
mcore-linting-and-formatting 是介绍 mcore 项目代码检查与格式化流程的技能,涵盖格式化脚本、Python 导入排序、工具组安装和编码规范。
主要功能
- 01以检查或修复模式运行格式化脚本
- 02为修改过的 Python 导入排序
- 03安装代码检查工具组
- 04遵循公共 API 和文档字符串规范
- 05遵守 Python 命名与异常处理规则
适用场景
- 01提交 PR 前检查格式
- 02格式化文件并整理 Python 导入
- 03在容器中配置代码检查工具
安装
复制下面的命令,在终端中运行。
$
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详细介绍
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