setup-pre-commit

द्वारा mattpocock

वर्तमान रिपॉजिटरी में Husky प्री-कमिट हुक्स को lint-staged (Prettier), टाइप चेकिंग और टेस्ट के साथ सेट अप करें। इसका उपयोग तब करें जब उपयोगकर्ता प्री-कमिट हुक्स जोड़ना चाहता है, Husky सेट अप करना चाहता है, lint-staged कॉन्फ़िगर करना चाहता है, या कमिट-टाइम फ़ॉर्मेटिंग/टाइपचेकिंग/टेस्टिंग जोड़ना चाहता है।

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

mattpocock की और Skills

improve-codebase-architecture
mattpocock
कोडबेस में गहन अवसर खोजें, जो CONTEXT.md में डोमेन भाषा और docs/adr/ में निर्णयों से प्रेरित हो। इसका उपयोग तब करें जब उपयोगकर्ता आर्किटेक्चर में सुधार करना चाहता हो, रीफैक्टरिंग के अवसर खोजना चाहता हो, कसकर जुड़े मॉड्यूल को समेकित करना चाहता हो, या कोडबेस को अधिक परीक्षण योग्य और AI-नेविगेट करने योग्य बनाना चाहता हो।
developmentcode-reviewapi
tdd
mattpocock
लाल-हरा-पुनर्संरचना चक्र के साथ परीक्षण-संचालित विकास। इसका उपयोग तब करें जब उपयोगकर्ता TDD का उपयोग करके सुविधाएँ बनाना या बग ठीक करना चाहता है, "लाल-हरा-पुनर्संरचना" का उल्लेख करता है, एकीकरण परीक्षण चाहता है, या परीक्षण-प्रथम विकास के लिए पूछता है।
developmenttesting
handoff
mattpocock
वर्तमान वार्तालाप को संक्षिप्त करके एक हैंडऑफ दस्तावेज़ तैयार करें, जिसे कोई अन्य एजेंट आगे ले सके।
communicationproject-managementdocument
prototype
mattpocock
एक प्रयोगात्मक प्रोटोटाइप बनाएं ताकि डिज़ाइन को अंतिम रूप देने से पहले उसे विकसित किया जा सके। दो शाखाओं के बीच मार्ग बनाएं — एक चलाने योग्य टर्मिनल ऐप जो स्थिति/व्यावसायिक-तर्क प्रश्नों के लिए हो, या एक मार्ग से टॉगल करने योग्य कई मौलिक रूप से भिन्न UI विविधताएँ। इसका उपयोग तब करें जब उपयोगकर्ता प्रोटोटाइप बनाना चाहता है, डेटा मॉडल या स्टेट मशीन की जाँच करना चाहता है,
developmentdesigncreative
triage
mattpocock
ट्राइएज भूमिकाओं द्वारा संचालित स्टेट मशीन के माध्यम से मुद्दों का ट्राइएज करें। उपयोग तब करें जब उपयोगकर्ता कोई मुद्दा बनाना चाहता हो, मुद्दों का ट्राइएज करना चाहता हो, आने वाले बग या फीचर अनुरोधों की समीक्षा करनी हो, AFK एजेंट के लिए मुद्दे तैयार करने हों, या मुद्दा वर्कफ़्लो प्रबंधित करना हो।
developmentproject-managementcommunication
obsidian-vault
mattpocock
ऑब्सिडियन वॉल्ट में विकिलिंक और इंडेक्स नोट्स के साथ नोट्स खोजें, बनाएं और प्रबंधित करें। जब उपयोगकर्ता ऑब्सिडियन में नोट्स ढूंढना, बनाना या व्यवस्थित करना चाहे तब उपयोग करें।
productivitydocument
edit-article
mattpocock
लेखों के अनुभागों को पुनर्गठित करके, स्पष्टता में सुधार करके और गद्य को संक्षिप्त बनाकर उन्हें संपादित और बेहतर बनाएं। इसका उपयोग तब करें जब उपयोगकर्ता किसी लेख के मसौदे को संपादित, संशोधित या बेहतर बनाना चाहता हो।
documentcreative
writing-great-skills
mattpocock
कौशल को अच्छी तरह लिखने और संपादित करने का संदर्भ — वह शब्दावली और सिद्धांत जो कौशल को पूर्वानुमेय बनाते हैं।
documentdevelopment