用途
qlty-check 是一个通用代码质量工具技能,通过 qlty CLI 为 40 多种语言提供 70 多个 linter 的支持。它主要用于在代码提交或交接前进行质量把关,也可用于自动修复格式与风格问题、计算代码指标以及查找代码异味。
主要能力
- 代码检查:运行 linter 检查代码中的问题,默认行为。
- 自动修复:对可自动修复的问题进行修复。
- 全量处理:可处理所有文件,而不仅仅是变更的文件。
- 格式化:对文件进行格式化。
- 代码指标:计算复杂度、重复度等代码指标。
- 代码异味:查找代码中的异味。
- 初始化:在仓库中初始化 qlty 配置。
- 插件列表:列出可用的插件。
使用方式
该技能通过 Python 脚本调用,命令格式为:
uv run python -m runtime.harness scripts/qlty_check.py [参数]
常用参数:
| 参数 | 说明 |
|---|---|
--check |
运行 linter(默认) |
--fix |
自动修复问题 |
--all |
处理所有文件,而非仅变更文件 |
--fmt |
格式化文件 |
--metrics |
计算代码指标 |
--smells |
查找代码异味 |
--paths |
指定文件或目录 |
--level |
最低问题级别:note/low/medium/high |
--cwd |
工作目录 |
--init |
在仓库中初始化 qlty |
--plugins |
列出可用插件 |
常见工作流示例:
检查变更文件并自动修复:
uv run python -m runtime.harness scripts/qlty_check.py --fix
检查所有文件:
uv run python -m runtime.harness scripts/qlty_check.py --all
格式化文件:
uv run python -m runtime.harness scripts/qlty_check.py --fmt
获取指标:
uv run python -m runtime.harness scripts/qlty_check.py --metrics
查找代码异味:
uv run python -m runtime.harness scripts/qlty_check.py --smells
在新仓库中初始化:
uv run python -m runtime.harness scripts/qlty_check.py --init --cwd /path/to/repo
如果已直接安装 qlty CLI,也可直接使用:
# 检查变更文件
qlty check
# 自动修复
qlty check --fix
# JSON 输出
qlty check --json
# 格式化
qlty fmt
适用场景
- 在代码提交或交接前进行质量检查。
- 自动修复格式和风格问题。
- 计算代码复杂度、重复度等指标。
- 查找代码异味。
- 在新仓库中初始化 qlty 配置。
限制与要求
- 需要 qlty CLI,项目地址:https://github.com/qltysh/qlty
- 需要 MCP server:servers/qlty/server.py 封装了 CLI。
- 需要在仓库中存在配置文件 .qlty/qlty.toml(需先运行 qlty init)。
与其他工具的对比
| 工具 | 用途 |
|---|---|
| qlty | 面向任意语言的统一 lint、格式化和指标 |
| ast-grep | 结构化代码模式与重构 |
| morph | 快速文本搜索 |