← ClaudeAtlas

style-keeperlisted

按 TS 编码风格规范统一存量代码——命名规约(camelCase/PascalCase/UPPER_SNAKE_CASE、布尔 is/has 前缀)、文件名 kebab-case、魔法数字提取、单文件职责。优先用 ESLint/Prettier 自动兜底,工具修不了的再手工改,改名遵循安全分级。当用户要求统一/修复代码风格、执行编码风格规范、整理命名、清理魔法数字时使用。
fongzhizhi/claude-skill-lab · ★ 1 · AI & Automation · score 77
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