Thanks for taking the time to contribute! 🎉
CrapUI is an npm package + CLI that scaffolds a React + Tailwind starter with Context API, React Router, and Lenis smooth scrolling.
- React
- Tailwind CSS
- Context API
- React Router
- Lenis (smooth scrolling)
- Fix bugs
- Improve the CLI experience (errors, prompts, flags)
- Improve templates (components, routing, structure)
- Improve animations and scrolling behavior
- Improve documentation (README, guides)
- Add tests
- Suggest a clean, simple, and professional project structure that can improve maintainability and scalability
- Please check existing Issues and Pull Requests first.
- If you are unsure what to work on, pick an issue labeled good first issue.
- Node.js 18+ (LTS recommended)
- npm (or yarn / pnpm)
npm installAll user-facing code lives in templates/basic/ — this is the project template that gets copied when users run npx crap-ui my-project.
If you want to add:
- New components → Add to
templates/basic/src/Components/ - New utilities → Add to
templates/basic/src/Components/utility/ - Context/state → Add to
templates/basic/src/context/ - Routing changes → Update
templates/basic/src/router/ - Dependencies → Add to
templates/basic/package.json
The root src/ folder is just for testing/development — it does NOT get included in the npm package.
Always test your changes by:
- Making changes in
templates/basic/ - Running
npx . test-projectfrom the repo root - Verifying the scaffolded project works
- Fork the repository and create your branch from
main. - Make your changes and test them locally.
- Commit your changes with a clear message.
- Push to your fork and submit a Pull Request.
When creating a PR:
- Write a clear, short title (e.g., "Setup redux with ....." or "Add professional component file structure")
- In the description, mention what you added/changed — be clear, concise, and smart
- Link related issues (e.g., "Closes #42")
- Keep PRs focused — one feature/fix per PR
Example PR description:
Added --help flag to CLI
- Shows usage, options, and examples
- Improves first-time user experience
Closes #24
We appreciate thoughtful, well-explained contributions!