style-keeperlisted
Install: claude install-skill fongzhizhi/claude-skill-lab
# style-keeper
统一存量代码的编码风格,使其符合 TS 编码风格规范。核心原则:**自动化 > 人工约束**——能交给 ESLint/Prettier 的一律不手工改;**改名是风格调整里唯一有传播风险的动作**,按安全分级处理。
## 参考规范(开始前必须加载)
按顺序读取以下两份文档,作为本次调整的唯一依据:
1. `~/.claude/rules/ts-coding-style.md` —— 强制规则(精简版)
2. `~/.claude/docs/ts-coding-style-guide.md` —— 编码风格详细指南(命名规约全量表���ESLint/Prettier 兜底配置、反模式示例)
若第二份缺失,提示用户先运行 `lab deploy docs/ts-code-guide`,不跳过规范直接动手。
## 确定改动范围
### 模式一:默认(git diff 变更文件)
```bash
git diff --name-only HEAD # 已暂存 + 未暂存的修改
git status --porcelain # 检出 untracked 新增文件
```
合并结果,过滤出 `.ts` / `.tsx` / `.d.ts` 文件(含 `.test.ts` / `.spec.ts`),排除 `node_modules/`、构建产物目录。无 TS 文件时告知用户并结束。
### 模式二:手动指定
| 参数 | 处理方式 |
| --- | --- |
| 文件路径 | 只处理该文件 |
| 目录路径 | 递归处理目录下所有 `.ts` / `.tsx` / `.d.ts`(排除 `node_modules/`、构建产物) |
## 调整流程
### 第一步:工具兜底(优先)
检查项目是否有 ESLint / Prettier 配置(`eslint.config.*`、`.eslintrc*`、`prettier.config.*`、`.prettierrc*`,或 package.json 中的 lint 脚本):
- **有 ESLint** → 运行 `npx eslint --fix <目标文件>`,风格问题自动修复
- **有 Prettier** → 运行 `npx prettier --write <目标文件>`,格式问题自动修复
- **无任何配置** → 告知用户规范推荐落地 ESLint + Prettier(指南第二章有兜底配置模板),本轮按规则手工调整;不擅自创建配置文件
工具修复后重新检查剩余问题,手工处理的部分才进入第二步。
### 第二步:命名规约手工核对(指南第一章)
对照命名总览表逐项核对,**改名遵守安全分级**:
| 安全级别 | 范围 | 处理方式 |
| --- | --- | --- |
| 局部符号 | 函数内变量/参数/循环计数器 | 直接改名,无传播 |
| 模块私有顶层符号 | 未导出的变量/函数/类/常量 | Grep 模块内全部引用点,同步更新 |
| 导出符号 | 被其他模块 import 的符号 | Grep 全项目引用点核对,全部更新后才改 |
| 公共 API / 跨项目使用 | 外部可见的库接口 | **不改**,列入待确认清单 |
要点:
- 布尔变量补 `is` / `has` / `should` / `can` 前缀——只改语义明确、可确定的;语义含糊不臆改,列待确认
- 无意义缩写(`us