abhay-rana

abhay-rana

Create-modern-react — production-ready React 19 + TypeScript + Tailwind + shadcn in 15 seconds

Bit of a personal itch-scratch post — curious if anyone else runs into the same thing.

Every time I kick off a new React project I end up doing the same hour of setup: wire TypeScript strict mode, add Tailwind, pick a UI library, set up routing, build an API layer, configure ESLint, add path aliases… It’s not hard, just boring. And I kept making slightly different decisions each time, so projects never felt consistent.

So I spent some weekends building a CLI that does all of that for me: create-modern-react

npx create-modern-react my-app
cd my-app
yarn dev

The defaults I landed on after a few real projects:

  • React 19 + TypeScript 5.9 strict
  • Vite with SWC (noticeably faster than Babel for larger codebases)
  • Tailwind CSS 4
  • shadcn/ui for components (Button, Input, Card, Skeleton already wired)
  • Wouter for routing — it’s 2KB vs React Router’s much larger bundle, and I’ve found it covers 95% of what I need
  • Axios with a typed wrapper so API calls look like getApi<User[]>('/users') instead of raw fetch wrangling
  • React Hot Toast, Error Boundary, and ~/ path aliases included

A few hooks I kept copy-pasting between projects are baked in too: useLoader, useDebounce, useCancelToken.

During setup the CLI asks if you want Redux Toolkit, React Hook Form + Zod, Ant Design instead of shadcn, or Husky for git hooks. Nothing gets added unless you ask for it.


I’ve used it as the base for a couple of my own projects now (a resume builder and an e-commerce frontend) and it’s held up well. But I’m aware my defaults are just my defaults — other people’s setups will differ.

Curious what you all think:

  • Is Wouter a dealbreaker for you, or do you default to React Router anyway?
  • Any obvious gaps in that stack that you always end up adding yourself?
  • Would you swap anything out?

GitHub if you want to poke around:

Happy to answer questions or take suggestions — it’s MIT and still pretty early.

Where Next?

Popular Frontend topics Top

First poster: bot
Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over...
New
First poster: bot
Local PDF uses Webassembly to edit your PDFs inside your Browser. Your files won’t leave your System, they will not be sent to another se...
New
First poster: bot
This thread was posted by one of our members via one of our news source trackers.
/js
New
First poster: bot
Explore DOM Events. Learn how the DOM Event system works through exploration
New
First poster: AstonJ
Try it here: https://david.li/paint/ This thread was posted by one of our members via one of our news source trackers.
New
First poster: bot
This release represents a huge improvement for elm-pages in terms of features, developer experience, and performance. It introduces a com...
New
First poster: bot
RacketScript is an experimental lightweight Racket to JavaScript (ECMAScript 6) compiler. RacketScript aims to leverage both JavaScript a...
New
First poster: joeb
Bun is a fast all-in-one JavaScript runtime. Bundle, transpile, install and run JavaScript &amp; TypeScript projects – all in Bun. Bun ...
/js
New
spunny
Hi, We have existing ASP.NET (not core) application. My colleague added a page to this using jquery, knockout and checkeditor and talkin...
New
NKTgLaw
The NKTg Law (Law of Variable Inertia) introduces a new way to treat inertia not only as a theoretical physics concept but as quantifiabl...
New

Other popular topics Top

AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
New
AstonJ
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
PragmaticBookshelf
Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser. ...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
New
First poster: AstonJ
Jan | Rethink the Computer. Jan turns your computer into an AI machine by running LLMs locally on your computer. It’s a privacy-focus, l...
New
Fl4m3Ph03n1x
Background Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New