Cover image for Building create-next-mui: Small Improvements That Made a Big Difference

Vikash Kumar

Hello,
I'm Vikash Kumar!

When I first published create-next-mui, my goal was simple.

npx create-next-mui

Enter fullscreen mode Exit fullscreen mode

I wanted developers to stop repeating the same Material UI setup every time they created a new Next.js project.

Since then, I've been using the CLI myself.

And that's where I discovered something interesting.

The biggest improvements weren't new features.

They were the tiny details you only notice after using a tool every day.

📦 Better package management

One thing that always bothered me was the generated package.json.

The dependencies worked...

…but after installing plugins, they weren't always nicely ordered.

It wasn't a breaking bug.

It was simply messy.

So I rewrote the dependency merging logic.

Now every generated package.json keeps dependencies consistently sorted, making it much easier to scan and maintain.

It seems like a small improvement.

But small details add up.

⚡ Oxlint joins the CLI

Another feature I've been excited about is Oxlint.

If you haven't tried it yet, it's incredibly fast.

Instead of replacing ESLint entirely, I decided to let them work together.

Why?

Because my template relies on ESLint plugins like:

  • perfectionist
  • eslint-plugin-unused-imports

These plugins still provide capabilities that Oxlint doesn't fully support today.

So instead of choosing one over the other...

I combined them.

The workflow now looks like this:

  • Oxlint provides blazing-fast diagnostics while you're coding.
  • 🧹 ESLint handles code organization, import cleanup, and formatting rules.

The result is a faster development experience without losing the benefits of ESLint.

I think it's a practical balance until Oxlint's ecosystem grows further.

📥 One less command to type

Another small change...

After scaffolding a project, the CLI now asks:

Would you like to install dependencies?

If you answer Yes, it automatically runs:

npm install

Enter fullscreen mode Exit fullscreen mode

No extra command.

No extra step.

Just start coding.


It's becoming more than a project generator

When I started this project, it simply generated a Next.js + Material UI project.

Today it can:

  • scaffold complete projects
  • install optional plugins
  • support Oxlint
  • automatically install packages
  • keep generated dependencies organized

Each release makes the experience a little smoother.

And I think that's what good developer tools should do.

Not necessarily add dozens of features...

Just remove one more piece of friction every time you use them.


I'd love to know:

What's one small feature in a developer tool that saves you time every single day? 👇