setup-pre-commit

Richte Husky Pre-Commit-Hooks mit lint-staged (Prettier), Typprüfung und Tests im aktuellen Repository ein. Verwende dies, wenn der Benutzer Pre-Commit-Hooks hinzufügen, Husky einrichten, lint-staged konfigurieren oder Formatierungs-/Typprüfungs-/Testfunktionen zur Commit-Zeit hinzufügen möchte.

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

Mehr Skills von mattpocock

improve-codebase-architecture
mattpocock
Finde Möglichkeiten zur Vertiefung in einer Codebasis, informiert durch die Domänensprache in CONTEXT.md und die Entscheidungen in docs/adr/. Verwende dies, wenn der Benutzer die Architektur verbessern, Refactoring-Möglichkeiten finden, eng gekoppelte Module konsolidieren oder eine Codebasis testbarer und KI-navigierbarer machen möchte.
developmentcode-reviewapi
tdd
mattpocock
Testgetriebene Entwicklung mit dem Rot-Grün-Refaktor-Zyklus. Verwenden, wenn der Benutzer Funktionen entwickeln oder Fehler mit TDD beheben möchte, "Rot-Grün-Refaktor" erwähnt, Integrationstests wünscht oder nach testgetriebener Entwicklung fragt.
developmenttesting
handoff
mattpocock
Fasse das aktuelle Gespräch zu einem Übergabedokument für einen anderen Agenten zusammen.
communicationproject-managementdocument
prototype
mattpocock
Erstelle einen Wegwerf-Prototypen, um ein Design auszuarbeiten, bevor du dich darauf festlegst. Leitet zwischen zwei Zweigen weiter – einer ausführbaren Terminal-App für Fragen zu Zustand/Geschäftslogik oder mehreren radikal unterschiedlichen UI-Varianten, die von einem Zweig aus umschaltbar sind. Verwende dies, wenn der Benutzer prototypisieren, ein Datenmodell oder einen Zustandsautomaten auf Plausibilität prüfen, eine UI skizzieren, Designoptionen erkunden möchte oder sagt: „Prototypisiere das“, „Lass mich damit spielen“, „Probiere ein paar Designs aus“.
developmentdesigncreative
triage
mattpocock
Probleme durch einen Zustandsautomaten triagen, der von Triage-Rollen gesteuert wird. Verwenden, wenn der Benutzer ein Problem erstellen, Probleme triagen, eingehende Fehler oder Funktionsanfragen überprüfen, Probleme für einen AFK-Agenten vorbereiten oder den Problem-Workflow verwalten möchte.
developmentproject-managementcommunication
obsidian-vault
mattpocock
Notizen im Obsidian-Vault mit Wikilinks und Indexnotizen suchen, erstellen und verwalten. Verwenden, wenn der Benutzer Notizen in Obsidian finden, erstellen oder organisieren möchte.
productivitydocument
edit-article
mattpocock
Artikel bearbeiten und verbessern, indem Abschnitte umstrukturiert, die Klarheit erhöht und der Text gestrafft wird. Verwenden, wenn der Benutzer einen Artikelentwurf bearbeiten, überarbeiten oder verbessern möchte.
documentcreative
writing-great-skills
mattpocock
Referenz zum Schreiben und Bearbeiten von Skills — das Vokabular und die Prinzipien, die einen Skill vorhersagbar machen.
documentdevelopment