mcpField
M
mcore-linting-and-formatting

mcore-linting-and-formatting

github.com/promptingcompany测试与质量039 次安装17 周前更新
代码仓库

关于 mcore-linting-and-formatting

mcore-linting-and-formatting 是介绍 mcore 项目代码检查与格式化流程的技能,涵盖格式化脚本、Python 导入排序、工具组安装和编码规范。

主要功能

  1. 01以检查或修复模式运行格式化脚本
  2. 02为修改过的 Python 导入排序
  3. 03安装代码检查工具组
  4. 04遵循公共 API 和文档字符串规范
  5. 05遵守 Python 命名与异常处理规则

适用场景

  1. 01提交 PR 前检查格式
  2. 02格式化文件并整理 Python 导入
  3. 03在容器中配置代码检查工具

安装

复制下面的命令,在终端中运行。

$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

详细介绍

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