main
Branches
main (2.16.8)dev
Versions
2.16.81.19.3v0.21.0
React Router v7 has been released. View the docs
create-remix (CLI)

create-remix

Just getting started with Remix? The latest version of Remix is now React Router v7. If you want to use the latest framework features, you should use the create-react-router CLI to start a new project.

The create-remix CLI will create a new Remix project. Without passing arguments, this command will launch an interactive CLI to configure the new project and set it up in a given directory.

npx create-remix@latest 

Optionally, you can pass the desired directory path as an argument:

npx create-remix@latest <projectDir> 

The default application is a TypeScript app using the built-in Remix App Server. If you wish to create your application based on a different setup, you can use the --template flag:

npx create-remix@latest --template <templateUrl> 

To get a full list of available commands and flags, run:

npx create-remix@latest --help 

Package managers

create-remix can also be invoked using various package managers, allowing you to choose between npm, Yarn, pnpm, and Bun for managing the installation process.

npm create remix@latest <projectDir> # or yarn create remix@latest <projectDir> # or pnpm create remix@latest <projectDir> # or bunx create-remix@latest <projectDir> 

create-remix --template

For a more comprehensive guide to available templates, see our templates page.

A valid template can be:

  • a GitHub repo shorthand — :username/:repo or :username/:repo/:directory
  • the URL of a GitHub repo (or directory within it) — https://github.com/:username/:repo or https://github.com/:username/:repo/tree/:branch/:directory
    • The branch name (:branch) cannot have a / when using this format since create-remix cannot unable to differentiate the branch name from the directory path
  • the URL of a remote tarball — https://example.com/remix-template.tar.gz
  • a local file path to a directory of files — ./path/to/remix-template
  • a local file path to a tarball — ./path/to/remix-template.tar.gz
npx create-remix@latest ./my-app --template remix-run/grunge-stack npx create-remix@latest ./my-app --template remix-run/remix/templates/remix npx create-remix@latest ./my-app --template remix-run/examples/basic npx create-remix@latest ./my-app --template :username/:repo npx create-remix@latest ./my-app --template :username/:repo/:directory npx create-remix@latest ./my-app --template https://github.com/:username/:repo npx create-remix@latest ./my-app --template https://github.com/:username/:repo/tree/:branch npx create-remix@latest ./my-app --template https://github.com/:username/:repo/tree/:branch/:directory npx create-remix@latest ./my-app --template https://github.com/:username/:repo/archive/refs/tags/:tag.tar.gz npx create-remix@latest ./my-app --template https://github.com/:username/:repo/releases/latest/download/:tag.tar.gz npx create-remix@latest ./my-app --template https://example.com/remix-template.tar.gz npx create-remix@latest ./my-app --template ./path/to/remix-template npx create-remix@latest ./my-app --template ./path/to/remix-template.tar.gz 

create-remix --overwrite

If create-remix detects any file collisions between the template and the directory you are creating your app in, it will prompt you for confirmation that it's OK to overwrite those files with the template versions. You may skip this prompt with the --overwrite CLI flag.

Docs and examples licensed under MIT