用途:该技能用于 Megatron-LM 项目的代码检查(linting)与格式化(formatting),帮助开发者在提交 PR 前统一代码风格并运行静态检查工具。
运行格式化脚本:提交 PR 前需执行 tools/autoformat.sh,支持两种模式。检查模式(不修改文件): BASE_REF=main CHECK_ONLY=true SKIP_DOCS=false bash tools/autoformat.sh 修复模式: BASE_REF=main CHECK_ONLY=false bash tools/autoformat.sh 脚本会调用 black、isort、pylint、ruff、mypy。
导入排序:修改任意 Python 文件的导入语句后,提交前应对这些文件运行 isort: uv run isort <file1>.py <file2>.py
配置检查工具组:在容器内执行 uv sync --locked --only-group linting 该命令安装 ruff、black、isort、pylint,与 tools/autoformat.sh 和 CI 的 linting 作业使用相同工具。
代码风格规则:所有公共 API 函数需提供类型提示,使用 X | None 而非 Optional[X];所有公共类与函数需使用 Google 风格 docstring;命名遵循 Python 约定,函数与变量用 snake_case,类用 PascalCase;行长为 119 字符(在 pyproject.toml 中配置);禁止裸 except,必须捕获具体异常类型。
适用场景:适用于 Megatron-LM 仓库的日常开发、PR 提交前检查及 CI 流程对齐。限制:资料仅描述上述工具与规则,未提供其他平台、收费、版本兼容或额外功能信息。