Skip to main content

setup-pre-commit

Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.

Quellinformationen

Repository
Natsummerance/agents
Letzte Quellaktivität
27. August 2026 um 07:35
Erkannte Sprache von SKILL.md
Englisch
Sterne
3
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
setup-pre-commit
description
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
# 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 ```bash 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` ```json { "*": "prettier --ignore-unknown --write" } ``` ### 6. Create `.prettierrc` (if missing) Only create if no Prettier config exists. Use these defaults: ```json { "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
Auf GitHub ansehen