{"id":19080517,"url":"https://github.com/novajslabs/hook-crafter","last_synced_at":"2025-04-30T06:12:02.984Z","repository":{"id":213150391,"uuid":"689102667","full_name":"novajslabs/hook-crafter","owner":"novajslabs","description":"A Vite and TypeScript template for building your React hook library","archived":false,"fork":false,"pushed_at":"2025-04-04T13:21:00.000Z","size":215,"stargazers_count":29,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-30T06:11:19.956Z","etag":null,"topics":["hook","hooks","react","react-custom-hook","react-custom-hooks","react-hooks","reactjs","typescript","vite"],"latest_commit_sha":null,"homepage":"https://hookcrafter.dev","language":"TypeScript","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/novajslabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":{"patreon":"dlcastillop","ko_fi":"dlcastillop"}},"created_at":"2023-09-08T20:05:39.000Z","updated_at":"2025-04-14T08:53:25.000Z","dependencies_parsed_at":"2024-11-09T02:24:33.384Z","dependency_job_id":"d54b3e94-e248-4acf-b0be-62f8beda4068","html_url":"https://github.com/novajslabs/hook-crafter","commit_stats":null,"previous_names":["dlcastillop/hook-crafter","novajslabs/hook-crafter"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novajslabs%2Fhook-crafter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novajslabs%2Fhook-crafter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novajslabs%2Fhook-crafter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novajslabs%2Fhook-crafter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novajslabs","download_url":"https://codeload.github.com/novajslabs/hook-crafter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251651231,"owners_count":21621716,"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":["hook","hooks","react","react-custom-hook","react-custom-hooks","react-hooks","reactjs","typescript","vite"],"created_at":"2024-11-09T02:24:14.213Z","updated_at":"2025-04-30T06:12:02.959Z","avatar_url":"https://github.com/novajslabs.png","language":"TypeScript","funding_links":["https://patreon.com/dlcastillop","https://ko-fi.com/dlcastillop"],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://github.com/dlcastillop/dlcastillop/blob/main/logos/hook-crafter.png\" width=\"40\" height=\"40\" /\u003e Hook Crafter\n\nA Vite and TypeScript template for building your React hook library.\n\n## Getting started\n\n### Create the project\n\nTo create a Hook Crafter project, run:\n\n```sh\nnpm create hook-crafter\n```\n\n```sh\nyarn create hook-crafter\n```\n\n```sh\npnpm create hook-crafter\n```\n\nThen follow the prompt.\n\n### Install the dependencies\n\nInstall the dependencies with npm, yarn, or pnpm.\n\n```sh\nnpm install\n```\n\n```sh\nyarn\n```\n\n```sh\npnpm install\n```\n\n### Create your hooks\n\nCreate all your hooks inside the `src/hooks` directory.\n\n```ts\nimport { useState } from \"react\";\n\nexport const useCountUp = (increase: number) =\u003e {\n  const [count, setCount] = useState(0);\n\n  const increment = () =\u003e setCount(count + increase);\n  return { count, increment };\n};\n```\n\nAnd export them in the `index.ts` file.\n\n```ts\nexport * from \"./useCountUp\";\n```\n\n## Questions\n\nFor questions and support please [open a discussion](https://github.com/novajslabs/hook-crafter/discussions).\n\n## Support\n\nYou can support this project in several ways:\n\n### Star us\n\nStar [this repo](https://github.com/novajslabs/hook-crafter).\n\n### Share\n\n- [LinkedIn](http://www.linkedin.com/shareArticle?mini=true\u0026url=https://hookcrafter.dev/)\n- [WhatsApp](https://api.whatsapp.com/send?text=https://hookcrafter.dev/)\n- [Facebook](https://www.facebook.com/sharer/sharer.php?u=https://hookcrafter.dev/)\n- [X](https://twitter.com/intent/tweet?url=https://hookcrafter.dev/)\n- [Reddit](https://www.reddit.com/submit?url=https://hookcrafter.dev/)\n\n## License\n\n[MIT](https://github.com/novajslabs/hook-crafter/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovajslabs%2Fhook-crafter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovajslabs%2Fhook-crafter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovajslabs%2Fhook-crafter/lists"}