Defaults
Learn about the default templates, project structure, and configuration files generated by create-next-mui.
When you scaffold a new project, create-next-mui applies a set of sensible defaults to provide a clean, production-ready starting point.
These defaults are designed to follow modern Next.js practices while remaining easy to customize.
Default Template
Unless specified otherwise, the CLI generates your project using the following defaults.
| Configuration | Default |
|---|---|
| Language | TypeScript |
| Additional Plugins | None |
TypeScript is the recommended template because it provides better type safety, improved editor support, and a better development experience.
Generated Configuration Files
Every generated project includes a curated set of configuration files to help maintain a consistent and scalable codebase.
ESLint
The generated project uses the modern ESLint Flat Config.
Included plugins:
-
eslint-plugin-perfectionist
- Automatically organizes imports and keeps them consistently sorted.
-
eslint-plugin-unused-imports
- Detects and removes unused imports to keep your codebase clean.
These plugins help maintain readable and consistent source code with minimal manual effort.
VS Code
A .vscode directory is included by default.
Currently it contains:
settings.json
This file applies project-specific editor settings to provide a consistent development experience across contributors using Visual Studio Code.
Project Structure
Projects are generated with a simple and scalable folder structure based on the Next.js App Router.
my-app/
├── src/
│ ├── app/
│ ├── components/
│ └── theme/
├── .vscode/
├── eslint.config.mjs
├── next.config.js
├── package.json
└── README.mdThe structure is intentionally lightweight, making it easy to organize and scale your application as it grows.
Customizing the Defaults
The generated project is fully customizable.
You can:
- Switch to the JavaScript template during project creation.
- Install official plugins at any time.
- Modify the generated configuration files to match your team's workflow.
- Extend the project structure as your application evolves.
The defaults are intended to provide a solid foundation—not impose limitations.