setup-pre-commit

安装量: 230
排名: #3811

安装

npx skills add https://github.com/mattpocock/skills --skill setup-pre-commit
Setup Pre-Commit Hooks
What This Sets Up
Husky
pre-commit hook
lint-staged
running Prettier on all staged files
Prettier
config (if missing)
typecheck
and
test
scripts in the pre-commit hook
Steps
1. Detect package manager
Check for
package-lock.json
(npm),
pnpm-lock.yaml
(pnpm),
yarn.lock
(yarn),
bun.lockb
(bun). Use whichever is present. Default to npm if unclear.
2. Install dependencies
Install as devDependencies:
husky lint-staged prettier
3. Initialize Husky
npx husky init
This creates
.husky/
dir and adds
prepare: "husky"
to package.json.
4. Create
.husky/pre-commit
Write this file (no shebang needed for Husky v9+):
npx lint-staged
npm run typecheck
npm run test
Adapt
Replace npm with detected package manager. If repo has no typecheck or test script in package.json, omit those lines and tell the user. 5. Create .lintstagedrc { "*" : "prettier --ignore-unknown --write" } 6. Create .prettierrc (if missing) Only create if no Prettier config exists. Use these defaults: { "useTabs" : false , "tabWidth" : 2 , "printWidth" : 80 , "singleQuote" : false , "trailingComma" : "es5" , "semi" : true , "arrowParens" : "always" } 7. Verify .husky/pre-commit exists and is executable .lintstagedrc exists prepare script in package.json is "husky" prettier config exists Run npx lint-staged to verify it works 8. Commit Stage all changed/created files and commit with message: Add pre-commit hooks (husky + lint-staged + prettier) This will run through the new pre-commit hooks — a good smoke test that everything works. Notes Husky v9+ doesn't need shebangs in hook files prettier --ignore-unknown skips files Prettier can't parse (images, etc.) The pre-commit runs lint-staged first (fast, staged-only), then full typecheck and tests
返回排行榜