- Type: React hooks library (TypeScript-first)
- Package:
@ts-hooks-kit/coreinpackages/core/ - Monorepo: pnpm workspace (root at
ts-hooks-kit/) - Upstream: Based on
usehooks-ts@3.1.1, upgraded for React 18/19 compatibility - Node: >=20.19.0
# Install dependencies
pnpm install
# Run all tests (via workspace)
pnpm test
# Run tests for core package only
pnpm --filter @ts-hooks-kit/core test
# Type check
pnpm -r lint
# Build all packages
pnpm build
# Dev docs server
pnpm dev:docsEach hook lives in its own folder at packages/core/src/:
useHookName/
├── index.ts # Re-exports from hook file
├── useHookName.ts # Implementation
├── useHookName.test.ts # Vitest tests
├── useHookName.md # Documentation (optional)
└── useHookName.demo.tsx # Demo component (optional)
- TypeScript-first: All code must be type-safe; use strict types.
- Imports at top: No inline imports; keep all imports at file top.
- Minimal comments: Document function signatures with JSDoc; avoid obvious inline comments.
- Peer deps: React ^18 || ^19 (no direct react dependency).
ALWAYS use TDD workflow:
- Write failing test first
- Implement minimal code to pass
- Run tests to verify
- Refactor if needed
ALWAYS use using-superpowers skill first:
- Before any coding task, invoke
using-superpowersskill. - Check for relevant skills before any response or action.
- If a skill applies (even 1% chance), you MUST use it.
Before claiming work is complete:
- All new code has tests (TDD followed)
-
pnpm testpasses -
pnpm lintpasses (TypeScript type check) - No unnecessary comments added
- using-superpowers skill was invoked at start