---
id: first-start-app
track: learn
product: start
locale: en
order: 2
revision: 2
sourceCheckedOn: "2026-08-03"
versionRange: "Start ^1"
verifiedAgainst: "TanStack CLI quick-start + @tanstack/react-start@1.168.34"
contentModel: 2
prerequisites:
  - "Node.js 22 or newer"
  - "Any supported package manager"
sourceRefs:
  - "https://tanstack.com/cli/latest/docs/quick-start"
---

# Create your first Start app

> Use the official CLI to create a minimal app and locate the route tree, root document, and development server.

**Outcome:** Run the project and explain the two core files in src/routes.

## Generate the project

The official CLI creates a TanStack Start project by default. Use the blank option while learning to reduce starter-code noise.

File: `terminal`

```bash
npx @tanstack/cli@latest create my-app --blank -y
cd my-app
pnpm dev
```

## Find two files first

__root.tsx defines the HTML document and global layout; index.tsx is the root page. routeTree.gen.ts is generated and should not be edited by hand.

## Practice and verification

### Completion checkpoint

The development server starts and the generated route tree recognizes both the root and index routes.

### Exercise

Add an `/about` file route, show the app name, and navigate to it from the index using a type-safe Link.

### Verification

Run typecheck and directly load both `/` and `/about`; both URLs should survive refresh with no type errors.

### Common pitfalls

- Editing the generated routeTree file by hand.
- Putting the root document structure in a normal child route.

## Official sources

- https://tanstack.com/cli/latest/docs/quick-start
