Thanks for your interest in contributing! This document outlines the development workflow, standards, and how to get started.
This project uses pnpm and requires Node.js >=18.
pnpm installTo explore the library interactively:
pnpm devOpen http://localhost:6006 to view stories and test step flows.
pnpm build:libOutputs production-ready files to dist/.
We enforce strict linting and consistent formatting:
pnpm lint # Run ESLint
pnpm prettier # Format code using PrettierThese run automatically on commit via lint-staged and husky.
pnpm test # Run unit tests
pnpm test:cov # Run tests with coverageWe use Vitest for unit testing. Add tests for any logic-heavy additions or bug fixes.
src/: Source codestories/: Storybook demos and integration tests__tests__/: Unit testsdist/: Build output (ignored in Git)
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature-name - Commit using clear, conventional messages
- Ensure lint and tests pass
- Push to your fork
- Open a pull request and describe your changes
Follow this format:
type(scope): short summary
body (optional)Examples:
fix: handle null values in session adapterfeat: add goToStep APIdocs: clarify usage of setStepData
- 🐛 Bug fixes
- 📖 Documentation improvements
- 🧪 Tests and coverage
- ✨ New animation modes or transitions
- 🧩 New examples or adapters
If you run into issues or need help understanding the codebase, feel free to open an issue or start a discussion.
Thanks again for helping improve @benjc/react-step-form!