ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

[特殊字符] Review RTK

[特殊字符] Review RTK Review RTK【免费下载链接】rtkCLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies项目地址: https://gitcode.com/GitHub_Trending/rtk4/rtk23[REQUEST CHANGES]- unwrap() en production regex non-lazy Bloquant•git_cmd.rs:45-unwrap()→.context(...)?// ❌ Avant let hash extract_hash(line).unwrap(); // ✅ Après let hash extract_hash(line).context(Failed to extract commit hash)?;•grep_cmd.rs:12- pattern fixe recompilé dans la fonction →LazyLockRegex// ❌ Avant (recompile à chaque appel) let re Regex::new(rpattern).unwrap(); // ✅ Après static RE: LazyLockRegex LazyLock::new(|| Regex::new(rpattern).unwrap()); Important•filter.rs:78- Fonction 67 lignes → split en 2 •ls.rs:34- clone() inutile, borrow suffit •new_cmd.rs- Pas de fixture réelle dans tests/fixtures/| Prio | Fichier | L | Action | | ---- | ----------- | -- | ----------------- | | | git_cmd.rs | 45 | .context() manque | | | grep_cmd.rs | 12 | LazyLock | | | filter.rs | 78 | split function |--verbose 模式在此基础上追加**优点列表**和 ** 详细建议**。 这套/ 计数 REQUEST CHANGES / READY 判定 优先级表的格式与仓库 skills 目录中的 [pr-review 技能](https://link.gitcode.com/i/1a4cc05238c794167369fa88ca26031c) 属于同一评审方法论体系。 ## 防幻觉规则CRITIQUE 原文档特别强调LLM 评审最大的风险是凭空指控因此规定了**在报告任何问题之前必须完成的三个动作** 1. **验证存在性**——不能在没有确认该模式确实存在于代码库的情况下推荐任何修复 2. **读完整文件**——不能只看 diff要读整个上下文 3. **统计出现次数**——某模式在代码库中已有 10 处出现时只能定级为 Suggestion不能定为 Bloquant这说明它是项目既有风格而非缺陷。 对应的验证命令 bash # 确认该模块是否已在使用 LazyLock Grep LazyLock src/module.rs # 统计 unwrap() 出现次数若 tests 中是既定模式则 ok Grep unwrap() src/ --output_mode count # 确认 fixture 是否存在 Glob tests/fixtures/cmd_raw.txt 同时明确列出**不应报告**的三种情形 - #[cfg(test)] mod tests 内的 unwrap() → 允许优先用 expect() - LazyLockRegex 初始化闭包里的 unwrap() → RTK 既定模式前文 [utils.rs](https://link.gitcode.com/i/2340a5b68c653d9f4fc4203fd5145534) 的 strip_ansi 即属此类 - _unused 前缀变量 → 可能是有意的 warning 抑制。 这些规则之所以可信是因为它们与仓库实际代码一致LazyLockRegex 静态量在 src/cmds/ 各过滤器中是主流写法jvm/gradlew_cmd.rs、dotnet/binlog.rs、git/glab_cmd.rs 等文件各有多处而节省率测试也是各 *_cmd.rs 测试模块的固定套路例如 [gh_cmd.rs 的测试](https://link.gitcode.com/i/1ce5683d17f8b0aad0cc45da9098bff7) rust fn count_tokens(text: str) - usize { text.split_whitespace().count() } let input_tokens count_tokens(input); let output_tokens count_tokens(result); let savings 100.0 - (output_tokens as f64 / input_tokens as f64 * 100.0); fixture 侧同样真实存在tests/fixtures/ 下按命令组织了 mvn_*_raw.txt、gradlew_*_raw.txt、sbt/、ctest_*_raw.txt 等大量真实命令输出样本与新过滤器必须有真实 fixture的 标准一一对应。 ## Auto 模式--auto评审—修复—门禁循环 --auto 把一次性评审升级为闭环流程 /tech:codereview --auto │ ▼ ┌─────────────────┐ │ 1. Review │ 生成 报告 └────────┬────────┘ │ 或 ? ┌────┴────┐ │ NON │ OUI ▼ ▼ ✅ DONE ┌─────────────────┐ │ 2. Corriger │ 自动修复 └────────┬────────┘ ▼ ┌─────────────────────────────┐ │ 3. Quality gate │ │ cargo fmt --all │ │ cargo clippy --all-targets │ │ cargo test │ └──────────────┬──────────────┘ │ Loop ←┘最多 N 轮迭代--max 控制默认 3 该模式带有一组**安全护栏safeguards** - 永不修改Cargo.lock、.env*、*secret* 文件 - 单轮修改超过 5 个文件 → 先向用户请求确认 - 每轮修复后强制跑质量门禁cargo fmt --all cargo clippy --all-targets cargo test与 [CLAUDE.md](https://link.gitcode.com/i/c73724f31fa5ff0da464c8eef31b788c) 的 Pre-commit Gate 完全一致 - 质量门禁失败 → 执行 git reset --hard HEAD 回滚本轮修改并报告错误 - 每轮产生一个原子提交格式如 autofix(codereview): fix unwrap lazy lock。 回滚策略git reset --hard HEAD保证循环失败时不会留下半修复状态——这是让自动修复敢在 LLM 手里跑的关键设计。 ## 推荐工作流 原文档最后给出的端到端使用路径 1. 在 feature 分支上开发 2. /tech:codereview → 预览问题compact 报告 3a. 手动修正所有 和 或 3b. /tech:codereview --auto → 自动修复 4. /tech:codereview → 确认状态为 READY 5. gh pr create --base master【免费下载链接】rtkCLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies项目地址: https://gitcode.com/GitHub_Trending/rtk4/rtk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表