Skip to main content

create-app

create-app scaffolds a new project from one of the @multinaire/expo-ui project templates. It's the fastest way to start a new app — dependencies, theme, navigation, and the provider setup are already wired up.

Usage

npx @multinaire/create-app my-app

This clones the templates repo, copies the expo template into my-app, and runs create-expo-app to finish scaffolding.

--type

Select which template to scaffold from:

npx @multinaire/create-app my-app --type expo
TypeStatusDescription
expo (default)AvailableExpo Router app, styled with @multinaire/expo-ui. See Expo Template.
react-nativeComing soonBare React Native CLI app with Expo modules support bolted on.

GitHub Packages authentication

@multinaire/create-app and @multinaire/expo-ui are both published to GitHub Packages, not npm — and the CLI itself has to be fetched from there before it can scaffold anything, so this needs to be set up before running npx.

Add a global ~/.npmrc (there's no project yet for a project-level one to live in) pointing the @multinaire scope at GitHub Packages:

@multinaire:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${PERSONAL_ACCESS_TOKEN}

Then export a GitHub PAT with read:packages scope as PERSONAL_ACCESS_TOKEN:

# Add to your shell profile (.bashrc, .zshrc, etc.), or a CI/CD secret
export PERSONAL_ACCESS_TOKEN=your_github_pat_here

See Installation for how to generate a PAT.

Every scaffolded project also ships its own project-level .npmrc with the same content, so npm install inside the new project works without further setup — you don't need to create or edit that file, just keep PERSONAL_ACCESS_TOKEN exported. If it isn't set, create-app prints a warning but still scaffolds the project; you'll just need to set it before npm install succeeds there.

Requirements

  • Node.js 18 or higher
  • Git, with SSH access to the private multinaire/expo-ui repo (the CLI shallow-clones it over SSH to a temp directory to fetch templates, then removes it when scaffolding finishes)

Next steps

Once your app is scaffolded: