# Create Next Stack: picking a working Next.js stack instead of one template

> Create Next Stack is a CLI and a website that scaffold a Next.js application from a set of compatible pieces, the styling solution, the form library, the data fetching layer, the linters and so on, rather than from a single fixed template. Its value is that the combinations are known to work together, and its cost is that you inherit someone else's opinionated starting point.

**akd-io/create-next-stack** — Create Next Stack is a website and CLI tool used to easily set up the boilerplate of new Next.js apps.

- Repository: https://github.com/akd-io/create-next-stack
- Website: https://www.create-next-stack.com
- Stars: 570 · Forks: 31
- Language: TypeScript
- License: MIT
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/akd-io-create-next-stack

## The gap it fills: one template is too few choices

Create Next Stack is a website and CLI tool used to easily set up the boilerplate of new Next.js apps, and the README states the difference from the official tool in one sentence.

Create Next App lets you choose a single template only. Create Next Stack lets you pick and choose an array of technologies often used alongside Next.js, and frees you of the pain of making them work together.

That framing is the whole product. A new Next.js project has a dozen decisions that are not really about your application: which styling approach, which form library, which data fetching layer, which component library if any, which linter configuration, which icon set. Each of those is individually easy to install and collectively fiddly to get right, because the peer dependency versions and the config file formats have to agree with each other and with the Next.js version you are on.

The tool offers two routes to the same result. The website at create-next-stack.com is the graphical version, and the CLI is the command line version. The README points you to the website to get started, and the npm package is published as create-next-stack.

The project is MIT licensed, the default branch is develop, the homepage is create-next-stack.com, and the last push was on 2026-05-01. There are no GitHub releases, so the npm version is the version to track.

The author is Anders Kjær Damgaard, and the repository root carries a .husky/ directory, a .prettierrc, a .prettierignore and a .vscode directory, so the project dogfoods the same tooling it asks you to install.

## The technology menu, and the fact that CSS Modules appears twice

The technologies table is the substance of the tool, and it is worth reading the list as a map of what the author considers a normal modern Next.js stack.

The foundations are Next.js, React and TypeScript, and the styling options divide into two families. There are the CSS-in-JS options, Emotion and Styled Components, and there is Tailwind CSS, Sass and CSS Modules as the plain CSS route. Then the component libraries: Mantine, Chakra UI and MUI.

The form handling options are React Hook Form and Formik, which are the two long-standing rivals with different philosophies rather than interchangeable implementations, so choosing one commits you to its error handling and validation story. Data fetching is React Query, and the animation option is Motion.

The tooling entries are ESLint, Prettier and React Icons, and the tooling is where the tool's opinion is strongest, since a lint configuration and a formatter are exactly the things a team has strong feelings about and rarely agrees to adopt from a generator.

One detail in the table is a small sign of how the list is maintained. The CSS Modules entry appears twice, with identical links in both rows, while the surrounding entries each appear once. The table is marked in the source with a comment delimiting it, CNS-START-OF-TECHNOLOGIES-TABLE, which tells you the section is generated and injected rather than hand written, and a duplicated row is the kind of artefact a generation step can leave behind. The practical effect is that the choice appears twice in the list, which is a small piece of friction rather than a defect.

That comment marker also hints at the maintenance model, which is the subject of the monorepo scripts below.

## A monorepo with two apps and a generated table

The repository is a pnpm workspace with a turbo pipeline, and the root package.json is where the shape of the project is clearest.

The packages are a CLI, a website, and the root itself, with the scripts split by target:

```json
    "build": "turbo build",
    "build:cli": "turbo build --filter create-next-stack",
    "build:web": "turbo build --filter create-next-stack-website",
    "lint": "turbo lint",
    "test": "turbo test",
    "update-readmes": "turbo update-readme"
```

The two apps are the CLI package, create-next-stack, and the website package, create-next-stack-website. The update-readmes script is the interesting one, because it explains the CNS comment marker in the technology table: the readmes, including the table that documents the supported technologies, are generated by the tooling rather than maintained by hand.

The engines field says node 24.x, and the package manager is pnpm at 10.17.1. The preinstall script runs npx only-allow pnpm, so an accidental npm install fails fast rather than producing a broken workspace, which is a common and sensible pattern in a pnpm monorepo.

Husky is set up as the prepare script, and lint-staged is configured to run prettier --write --ignore-unknown on staged files. So the repository enforces its own formatting on every commit through a git hook, and the .prettierrc and .prettierignore at the root are the shared configuration that the generated projects inherit.

The devDependencies are turbo at 2.4.4, TypeScript at 5.8.2, prettier at 3.5.3, husky and lint-staged. This is a small, modern toolchain with no heavyweight framework in it, which suits a project whose output is a CLI and a static website.

## The website and the CLI, and the community around them

The project presents two ways in and treats them as equals, which is a reasonable choice given that a scaffolding decision is often made by whoever is on call rather than by whoever wrote the first line of code.

The website at create-next-stack.com is the interactive route. You pick the technologies and it produces the project. The CLI is the same set of choices expressed as arguments and flags, published to npm as create-next-stack, and it is the route that fits an existing setup where the choices are already made and the generator is just the thing that applies them.

The README includes a community Discord link in its badges, along with a Twitter profile for the creator, and a contributions file in the repository root. The presence of a Discord rather than a discussion board suggests the project expects questions to be asked quickly and informally, which is normal for a tool that people use once per project and then never again.

That last point is worth keeping in mind when judging the project. A scaffolding tool is used at the start of a project and then forgotten, so its long-term value depends on whether it still works when you come back to the project in a year, and on whether the versions it writes are still compatible with the current Next.js. The pinned node version of 24.x in the monorepo is a signal that the tool tracks current releases closely, since an engine constraint that strict will be updated as the ecosystem moves.

The practical workflow is short. Open the site or run the CLI, pick the options, generate into a directory, then treat the result as your project rather than as the tool's, editing the lint rules, the formatter settings and the folder layout to match your own conventions.

## What the generated project actually contains, and what to check

The README in the visible text does not enumerate the generated files, so the honest position is that the exact output has to be read from the project page or by running the tool. What can be traced from the repository is the shape of the commitments it asks you to make.

The first is the lint and format setup. The tool offers ESLint and Prettier as choices, and it links to the ESLint configuration guide and the rules documentation alongside the Prettier documentation. Choosing them means the generated project starts with a lint configuration and a formatter already wired to each other, which is the part that usually takes an afternoon to get right by hand.

The second is the React and TypeScript baseline. The topics list of the repository includes react, typescript, nextjs, frontend, eslint, prettier, boilerplate, scaffolding, starter, starter-kit and template, which is an accurate summary of a generator whose job is to assemble a starter kit rather than to teach anything.

The third is the component and icon choices. React Icons is in the technology table, which tells you the generated project can import icons without a per-icon dependency, and picking one of the three component libraries means the generated code has a component set to build on.

And the fourth is what a generator cannot give you: whether these choices match the conventions of the team you are joining, or the codebase you are joining. A generator optimises for a sensible default, not for your organisation. That is the point at which the generated configuration becomes a starting point rather than a decision, and where you will want to edit the eslint rules, the prettier settings and the husky hooks.

## Conclusion

Adopt Create Next Stack when you are starting a Next.js application and want a set of libraries that are known to work together rather than assembling them yourself, and you are willing to treat the generated configuration as a starting point you will edit. Do not adopt it to reproduce an existing house setup exactly, because the tool offers a menu of popular choices rather than arbitrary versions, and the eslint and prettier setup in particular is opinionated. Before you generate, look at the technology table to see which options are offered, and after you generate, read the generated eslint and prettier configuration and the husky hooks, since those are the parts you are most likely to change.

## FAQ

### How does Create Next Stack differ from Create Next App?

Create Next App lets you choose a single template only, while Create Next Stack lets you pick and choose an array of technologies often used alongside Next.js, and frees you of the pain of making them work together. The philosophy is that the combinations are known to work.

### Which technologies does Create Next Stack support?

The technology table covers Next.js, React, TypeScript, the styling options Emotion, Styled Components, Tailwind CSS, Sass and CSS Modules, the component libraries Mantine, Chakra UI and MUI, Motion for animation, the form libraries React Hook Form and Formik, React Query for data fetching, React Icons, ESLint and Prettier.

### How is the Create Next Stack project organised?

It is a pnpm workspace with a turbo pipeline holding two apps, the CLI package create-next-stack and the website package create-next-stack-website, plus the root package. The root scripts split build, lint and test by target, and an update-readmes script regenerates the documentation.

### What tooling does the Create Next Stack repository enforce?

Husky sets up git hooks through the prepare script, and lint-staged runs prettier --write --ignore-unknown on staged files. The root package.json also pins node 24.x, pnpm 10.17.1, and a preinstall script that runs only-allow pnpm so an npm install fails fast.

### Who maintains Create Next Stack and where is it published?

The author is Anders Kjær Damgaard, the project is MIT licensed, the default branch is develop, and the CLI is published to npm as create-next-stack, with the website at create-next-stack.com. There are no GitHub releases, so the npm version is the one to track.

## Sources

- [akd-io/create-next-stack on GitHub](https://github.com/akd-io/create-next-stack)
- [Issues](https://github.com/akd-io/create-next-stack/issues)
- [License: MIT](https://github.com/akd-io/create-next-stack/blob/develop/LICENSE)
- [Project website](https://www.create-next-stack.com)
- [README](https://github.com/akd-io/create-next-stack/blob/develop/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/akd-io-create-next-stack
