Tooluck logoTooluck
SKILL.md

setup-pre-commit

Agent skill fromvinvcn/mattpocock-skills-zh-CN

在当前仓库设置 Husky pre-commit hooks,集成 lint-staged (Prettier)、类型检查和测试。适用于用户想添加 pre-commit hooks、设置 Husky、配置 lint-staged,或在提交时运行格式化、类型检查和测试时。

How to install setup-pre-commit

install setup-pre-commit
# install the mattpocock-skills-zh-CN pack with the skills CLI
npx skills add vinvcn/mattpocock-skills-zh-CN

# or add only this skill to Claude Code: copy the folder

skills/misc/setup-pre-commit/

# into

~/.claude/skills/setup-pre-commit/ (all projects)

.claude/skills/setup-pre-commit/ (one project)

skills/misc/setup-pre-commit/SKILL.md

MITFull file
1# 设置 Pre-Commit Hooks
2
3## 这会配置什么
4
5- **Husky** pre-commit hook
6- **lint-staged** 对所有 staged files 运行 Prettier
7- **Prettier** config(如果缺失)
8- pre-commit hook 中的 **typecheck** 和 **test** scripts
9
10## 步骤
11
12### 1. 检测 package manager
13
14检查 `package-lock.json` (npm)、`pnpm-lock.yaml` (pnpm)、`yarn.lock` (yarn)、`bun.lockb` (bun)。使用存在的那个。不清楚时默认 npm。
15
16### 2. 安装依赖
17
18作为 devDependencies 安装:
19
20```
21husky lint-staged prettier
22```
23
24### 3. 初始化 Husky
25
26```bash
27npx husky init
28```
29
30这会创建 `.husky/` dir,并向 package.json 添加 `prepare: "husky"`。
31
32### 4. 创建 `.husky/pre-commit`
33
34写入这个文件(Husky v9+ 不需要 shebang):
35
36```
37npx lint-staged
38npm run typecheck
39npm run test
40```
41
42**Adapt**:把 `npm` 替换为检测到的 package manager。如果 repo 的 package.json 没有 `typecheck` 或 `test` script,就省略对应行并告知用户。
43
44### 5. 创建 `.lintstagedrc`
45
46```json
47{
48 "*": "prettier --ignore-unknown --write"
49}
50```
51
52### 6. 创建 `.prettierrc`(如果缺失)
53
54只有没有 Prettier config 时才创建。使用这些 defaults:
55
56```json
57{
58 "useTabs": false,
59 "tabWidth": 2,
60 "printWidth": 80,
61 "singleQuote": false,
62 "trailingComma": "es5",
63 "semi": true,
64 "arrowParens": "always"
65}
66```
67
68### 7. 验证
69
70- [ ] `.husky/pre-commit` 存在且可执行
71- [ ] `.lintstagedrc` 存在
72- [ ] package.json 中的 `prepare` script 是 `"husky"`
73- [ ] prettier config 存在
74- [ ] 运行 `npx lint-staged` 验证可用
75
76### 8. 提交
77
78Stage 所有 changed/created files,并用 message 提交:`Add pre-commit hooks (husky + lint-staged + prettier)`
79
80这会经过新的 pre-commit hooks,是一个不错的 smoke test。
81
82## 备注
83
84- Husky v9+ 不需要 hook files 中的 shebangs
85…

Excerpt shown under the repository's MIT license.

More skills in mattpocock-skills-zh-CN

Keep exploring

Similar skill repositories

thedotmack /

claude-mem
116k

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

CCCXGHGM+135 skills

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates