← ClaudeAtlas

refactorlisted

代码质量审计工具——扫描指定 scope(file / crate / surface / workspace)输出结构化 findings。
snowzhaozhj/claude-devtools-rs · ★ 1 · Code & Development · score 70
Install: claude install-skill snowzhaozhj/claude-devtools-rs
# refactor 按 scope 扫描代码,识别结构反模式与碰行为契约边界的伪 refactor,输出结构化 findings 表。 Refactor 定义(Fowler):行为不变的结构改动。 ## 1. Scope 选择 **解析优先级**(从上到下,先匹配先用): 1. **显式 surface flag** `--surface ui` / `--surface ipc` 2. **路径前缀匹配**(最长前缀优先):`src-tauri/` / `ui/` / `crates/` 3. **路径存在性检查**:参数若是路径(含 `/` 或 `.`)→ `[ -e <path> ]` 校验,不存在报错让用户重试 4. **裸 crate 名解析**:参数无 `/` 且 `crates/<arg>/Cargo.toml` 存在 → 展开为 `crates/<arg>/` 5. **特殊字面量** `workspace` → 全仓 6. **fallback**:单文件按扩展名(`.rs` / `.svelte` / `.ts`) **消歧速查**: | 用户输入 | 解析 | 读哪些 references | |---|---|---| | `/refactor cdt-api` | step 4 裸 crate → `crates/cdt-api/` | rust + smells | | `/refactor crates/cdt-api/src/ipc.rs` | step 2 prefix `crates/` | rust + smells | | `/refactor src-tauri/src/lib.rs` | step 2 prefix `src-tauri/` 优先于 .rs ext | tauri + rust + smells | | `/refactor ui/src/lib/Foo.svelte` | step 2 prefix `ui/` | svelte + smells | | `/refactor --surface ipc` | step 1 surface flag | tauri + rust + smells | | `/refactor workspace` | step 5 字面量 | 全部 4 个 | 读 references 前先 `Glob` / `wc -l` 摸目标体量;> 5000 行先按 crate / 文件群拆。 ## 2. boundary-sensitive guard(伪 refactor 识别) 下面 5 类碰了行为契约边界,命中即在 finding 里标 `category: boundary-<n>-<short>`: 1. 改公共 trait / 生命周期约束 / 泛型 bound(即使语义没变也可能 break crate API) 2. async runtime / 调度 / 取消 / 背压 / 错误传播重排(可能改变可观测行为或线程安全契约) 3. Tauri IPC payload schema 改动(字段名 / 序列化形状 / 错误模型) 4. Svelte 5 reactivity 状态流 / 派生值 / 事件时序变动(纯机械 `$:` → `$derived` 不算 boundary) 5. Tauri plugin / capability 边界拆分时 API / permission / command surface 改