Thanks for your interest in contributing! This project aims to stay small, sharp, and pragmatic.
- Minimal surface area
- Zero runtime dependencies (avoid adding unless critical)
- Predictable TypeScript types
- Performance over premature generalization
pnpm install
pnpm build
pnpm test| Action | Command |
|---|---|
| Build | pnpm build |
| Watch | pnpm build:watch |
| Lint | pnpm lint |
| Format | pnpm format |
| Tests | pnpm test |
| Typecheck | pnpm typecheck |
- Open an issue proposing the addition
- Describe the API shape (inputs, output, edge cases)
- Provide rationale (why it belongs in core)
- Submit PR with:
src/<utility>.ts- Tests in
src/__tests__(ortests/if added later) - Added to
src/index.tsexports - Documentation snippet in
docs/apiif substantial
- Use strict TypeScript, no
anyunless justified with comment - Keep functions pure (no side effects) unless clearly documented
- Prefer explicit over clever
- Optimize hot-paths only after measurement
Follow Conventional Commits (recommended):
feat: add foo helper
fix: correct clamp edge case when min > max
chore: update dependencies
refactor: simplify combineClasses branches
TBD.
Open an issue or discussion.