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

AstonJ
Yew looks really interesting!! What is Yew? Yew is a modern Rust framework for creating multi-threaded front-end web apps with WebAssem...
New
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
Open source CSS framework for data visualization. Contribute to ChartsCSS/charts.css development by creating an account on GitHub. ...
New
First poster: bot
A function for creating fast, lightweight web components (2.01 KB gzipped) A function for creating fast, lightweight stores for applicati...
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
Assembler CSS. Assembler CSS is a highly performant utility-first framework that allows you to quickly prototype and build modern websit...
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: bot
Solid stands on the shoulders of giants, particularly React and Knockout. If you’ve developed with React Hooks before, Solid should seem ...
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
abhay-rana
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 u...
New

Other popular topics Top

Devtalk
Hello Devtalk World! Please let us know a little about who you are and where you’re from :nerd_face:
New
PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
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
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
mafinar
This is going to be a long an frequently posted thread. While talking to a friend of mine who has taken data structure and algorithm cou...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
CommunityNews
Open-source implementation of the classic GTA engine now running directly in your browser. Experience the reVC technology demo on DOS.Zon...
New