setup-pre-commit
在当前仓库设置 Husky pre-commit hooks,集成 lint-staged (Prettier)、类型检查和测试。适用于用户想添加 pre-commit hooks、设置 Husky、配置 lint-staged,或在提交时运行格式化、类型检查和测试时。
How do I install this agent skill?
npx skills add https://github.com/vinvcn/mattpocock-skills-zh-cn --skill setup-pre-commitIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill automates the setup of git pre-commit hooks using industry-standard tools like Husky, lint-staged, and Prettier. It follows development best practices for repository configuration without any detected security risks.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Setup Pre-Commit Hooks
What This Sets Up
- Husky pre-commit hook
- lint-staged 对所有 staged files 运行 Prettier
- Prettier config(如果缺失)
- pre-commit hook 中的 typecheck 和 test scripts
Steps
1. Detect package manager
检查 package-lock.json (npm)、pnpm-lock.yaml (pnpm)、yarn.lock (yarn)、bun.lockb (bun)。使用存在的那个。不清楚时默认 npm。
2. Install dependencies
作为 devDependencies 安装:
husky lint-staged prettier
3. Initialize Husky
npx husky init
这会创建 .husky/ dir,并向 package.json 添加 prepare: "husky"。
4. Create .husky/pre-commit
写入这个文件(Husky v9+ 不需要 shebang):
npx lint-staged
npm run typecheck
npm run test
Adapt:把 npm 替换为检测到的 package manager。如果 repo 的 package.json 没有 typecheck 或 test script,就省略对应行并告知用户。
5. Create .lintstagedrc
{
"*": "prettier --ignore-unknown --write"
}
6. Create .prettierrc (if missing)
只有没有 Prettier config 时才创建。使用这些 defaults:
{
"useTabs": false,
"tabWidth": 2,
"printWidth": 80,
"singleQuote": false,
"trailingComma": "es5",
"semi": true,
"arrowParens": "always"
}
7. Verify
-
.husky/pre-commit存在且可执行 -
.lintstagedrc存在 - package.json 中的
preparescript 是"husky" - prettier config 存在
- 运行
npx lint-staged验证可用
8. Commit
Stage 所有 changed/created files,并用 message 提交:Add pre-commit hooks (husky + lint-staged + prettier)
这会经过新的 pre-commit hooks,是一个不错的 smoke test。
Notes
- Husky v9+ 不需要 hook files 中的 shebangs
prettier --ignore-unknown会跳过 Prettier 无法 parse 的 files(images 等)- pre-commit 先运行 lint-staged(快,只针对 staged files),再运行完整 typecheck 和 tests
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/vinvcn/mattpocock-skills-zh-cn/setup-pre-commit">View setup-pre-commit on skillZs</a>