Create React App for TanStack Router
This CLI application builds Tanstack Router applications that are the functional equivalent of Create React App.
To help accelerate the migration away from create-react-app we created the create-start CLI which is a plug-n-play replacement for CRA.
Quick Start
To maintain compatability with create-react-app you can build a new application by running:
pnpm create @tanstack/start@latest my-app | Create a new app |
pnpm create @tanstack/start@latest my-app --framework solid | Create a Solid app |
If you don't specify a project name, the CLI will walk you through an interactive setup process:
pnpm create @tanstack/start@latest
This will start an interactive CLI that guides you through the setup process, allowing you to choose:
- Project Name
- Package manager
- Toolchain
- Git initialization
Command Line Options
You can also use command line flags to specify your preferences directly:
pnpm create @tanstack/start@latest my-app --tailwind --package-manager pnpm
Available options:
--package-manager: Specify your preferred package manager (npm, yarn, pnpm, bun, or deno)
--toolchain: Specify your toolchain solution for formatting/linting (biome, eslint+prettier)
--no-git: Do not initialize a git repository
--add-ons: Enable add-on selection or specify add-ons to install
When using flags, the CLI will display which options were provided and only prompt for the remaining choices.
Features
What you'll get is a Vite application that uses TanStack Router. All the files will still be in the same place as in CRA, but you'll get a fully functional Router setup under in app/main.tsx.
create-start-app is everything you loved about CRA but implemented with modern tools and best practices, on top of the popular TanStack set of libraries. Which includes @tanstack/react-query and @tanstack/react-router.
Additional Configuration
Package Manager
Choose your preferred package manager (npm, bun, yarn, pnpm, or deno) either through the interactive CLI or using the --package-manager flag.
Extensive documentation on using the TanStack Start, as well as integrating @tanstack/react-query and @tanstack/store can be found in the generated README.md for your project.
Toolchain
Choose your preferred solution for formatting and linting either through the interactive CLI or using the --toolchain flag.
Setting this flag to biome will configure it as your toolchain of choice, adding a biome.json to the root of the project. Consult the biome documentation for further customization.
Setting this flag to eslint+prettier will configure it as your toolchain of choice, adding an eslint.config.js and prettier.config.js to the root of the project, as well as a .prettierignore file. Consult the eslint documentation and prettier documentation for further customization.
Add-ons (experimental)
You can enable add-on selection:
pnpm create @tanstack/start@latest --add-ons
This will prompt you to select the add-ons you want to enable during application creation.
You can enable specific add-ons directly by adding a comma separated list of add-on names to the --add-ons flag. For example:
pnpm create @tanstack/start@latest my-app --add-ons shadcn,tanstack-query
You can get a list of all available add-ons by running:
pnpm create @tanstack/start@latest --list-add-ons
This will get you a list of all available add-ons for Solid.
pnpm create @tanstack/start@latest --list-add-ons --framework solid
MCP (Model Context Protocol) Support (experimental)
You can launch the create-start-app CLI with the --mcp flag to enable MCP support. Use this in your MCP enabled IDE to allow the Agent model to generate TanStack Start applications.
pnpm create @tanstack/start@latest --mcp
Here is the JSON configuration for MCP support in many MCP clients.
{
"mcpServers": {
"create-start-app": {
"command": "pnpx",
"args": ["create-start-app@latest", "--mcp"]
}
}
}
Contributing
Check out the Contributing guide.
License
MIT