{"id":13396559,"url":"https://github.com/typicode/husky","last_synced_at":"2025-05-12T14:56:04.635Z","repository":{"id":18065052,"uuid":"21125024","full_name":"typicode/husky","owner":"typicode","description":"Git hooks made easy 🐶 woof!","archived":false,"fork":false,"pushed_at":"2024-11-26T00:20:16.000Z","size":4438,"stargazers_count":33451,"open_issues_count":84,"forks_count":1051,"subscribers_count":157,"default_branch":"main","last_synced_at":"2025-05-05T09:44:22.258Z","etag":null,"topics":["commit","git","hooks","pre-commit"],"latest_commit_sha":null,"homepage":"https://typicode.github.io/husky","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/typicode.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"typicode","open_collective":"husky"}},"created_at":"2014-06-23T12:14:21.000Z","updated_at":"2025-05-05T08:47:46.000Z","dependencies_parsed_at":"2024-01-01T05:07:48.626Z","dependency_job_id":"d1c2d349-ff93-429d-8552-e1813c6b511a","html_url":"https://github.com/typicode/husky","commit_stats":{"total_commits":974,"total_committers":133,"mean_commits":7.323308270676692,"dds":0.1652977412731006,"last_synced_commit":"0692639896ea5b5dd5ffc607575f6f870b21cb0f"},"previous_names":[],"tags_count":196,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typicode%2Fhusky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typicode%2Fhusky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typicode%2Fhusky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typicode%2Fhusky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/typicode","download_url":"https://codeload.github.com/typicode/husky/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252496686,"owners_count":21757480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commit","git","hooks","pre-commit"],"created_at":"2024-07-30T18:00:56.860Z","updated_at":"2025-05-05T12:27:19.685Z","avatar_url":"https://github.com/typicode.png","language":"JavaScript","readme":"# husky\n\n[![](https://img.shields.io/npm/dm/husky.svg?style=flat)](https://www.npmjs.org/package/husky) [![Node.js CI](https://github.com/typicode/husky/workflows/Node.js%20CI/badge.svg)](https://github.com/typicode/husky/actions)\n\n\u003e Modern native Git hooks made easy\n\nHusky improves your commits and more 🐶 _woof!_\n\n\u003e [!NOTE]\n\u003e 🌬️ Using React? I've just released a new and innovative styling solution for components [MistCSS](https://github.com/typicode/mistcss).\n\n## Features\n\n- Just `2 kB` (📦 _gzipped_) with no dependencies\n- Fastest due to being lightweight (runs in `~1ms`)\n- Uses new Git feature (`core.hooksPath`)\n- Supports:\n  - macOS, Linux, Windows\n  - Git GUIs, Node version managers, custom hooks directory, nested projects, monorepos\n  - [All 13 client-side Git hooks](https://git-scm.com/docs/githooks)\n\nAnd more:\n\n- Branch-specific hooks\n- Use POSIX shell to script advanced cases\n- Adheres to Git's native hook organization\n- Aligns with [npm](https://docs.npmjs.com/cli/v10/using-npm/scripts#best-practices) best practices using `prepare` script\n- Opt-in/opt-out options\n- User-friendly error messages\n\n## Changelog\n\n[Check out the v9 changelog](https://github.com/typicode/husky/releases/tag/v9.0.1) to discover all the new and improved features!\n\n## Documentation\n\nhttps://typicode.github.io/husky\n\n**Important** Upgrading from v4 to v9 requires migrating previous config, please see the docs.\n\n## Sponsors\n\nSupport this project by becoming a sponsor [here](https://github.com/sponsors/typicode) 💖\n\n### Special Sponsor\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://app.tea.xyz/sign-up?r=8L2HWfJB6hs\"\u003e\n    \u003cimg src=\"https://github.com/typicode/husky/assets/5502029/1b95c571-0157-48bc-a147-0d8d2fbc1d8a\" /\u003e\u003cbr/\u003e\n    Get rewards for your open-source contributions\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### GitHub\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"../docs/sponsorkit/sponsors.svg\"\u003e\n    \u003cimg src='../docs/sponsorkit/sponsors.svg'/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### Open Collective\n\n\u003ca href=\"https://opencollective.com/husky/tiers/company/0/website\"\u003e\u003cimg src=\"https://opencollective.com/husky/tiers/company/0/avatar.svg?avatarHeight=120\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/husky/tiers/company/1/website\"\u003e\u003cimg src=\"https://opencollective.com/husky/tiers/company/1/avatar.svg?avatarHeight=120\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/husky/tiers/company/2/website\"\u003e\u003cimg src=\"https://opencollective.com/husky/tiers/company/2/avatar.svg?avatarHeight=120\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/husky/tiers/company/3/website\"\u003e\u003cimg src=\"https://opencollective.com/husky/tiers/company/3/avatar.svg?avatarHeight=120\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/husky/tiers/company/4/website\"\u003e\u003cimg src=\"https://opencollective.com/husky/tiers/company/4/avatar.svg?avatarHeight=120\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/husky/tiers/company/5/website\"\u003e\u003cimg src=\"https://opencollective.com/husky/tiers/company/5/avatar.svg?avatarHeight=120\"\u003e\u003c/a\u003e\n[![image](https://github.com/user-attachments/assets/b9c5a918-70fc-4615-ae7d-e7e5bc3c66e8)](https://www.sanity.io/)\n","funding_links":["https://github.com/sponsors/typicode","https://opencollective.com/husky","https://opencollective.com/husky/tiers/company/0/website","https://opencollective.com/husky/tiers/company/1/website","https://opencollective.com/husky/tiers/company/2/website","https://opencollective.com/husky/tiers/company/3/website","https://opencollective.com/husky/tiers/company/4/website","https://opencollective.com/husky/tiers/company/5/website"],"categories":["git","JavaScript","Packages","HarmonyOS","Related","工程化","Developer Tools","Testing your app","Repository","**How it works**","GIT 仓库","Features","What Inside","What is inside?","包","Git Tools","Tools","后端","Hook management","Work Tool","Productivity","QA Tools","dApps directory","Quality measures","工程","JS","工程化相关","`👷 Configuring Your Project`","QA Tools [🔝](#readme)","Uncategorized","TDD, Tests with JS","Commit hooks","QA 工具","Load testing","Conventional Commits"],"sub_categories":["Miscellaneous","Windows Manager","Development Tools","Pre-commit hooks","Git","其他","Hook management tools","Other tools","CI/CD","Comparing workflows","Kubernetes","Runner","Solidity Developer Tools","Git hooks","redux 扩展","Tools for JS development","TSLint (⚠️ Deprecated from Angular 11)","Uncategorized","macros","杂项","VUE Vida Real (Boilerplates)","Server-rendered React","运行器","调试","update","运行器e2e测试","collection","Flaky Test Detection"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypicode%2Fhusky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftypicode%2Fhusky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypicode%2Fhusky/lists"}