# BLUEPRINT: 1_SCAFFOLD + SITEMAP

**Goal:** Running app with all routes defined.

**Done when:** All routes listed, all *Page.tsx files created with correct PageMeta.

**Prerequisite:** Phase 0 (spec) must be complete.

---

## Step 1: Create App

```bash
dndev create-app my-app --preset [from spec]
cd my-app && bun install
dndev emu start
bun dev
```

Preset comes from your completed spec (Phase 0).

---

## Step 2: Review Spec Pages

From your spec, you have a list of pages. Now create them.

**READ:** `guides/wai-way/page_patterns.md` for page structure patterns.

---

## Step 3: Create Page Files

For each page in spec:

```bash
touch src/pages/AboutPage.tsx
touch src/pages/DashboardPage.tsx
touch src/pages/ProductsListPage.tsx
touch src/pages/ProductPage.tsx
```

---

## Step 4: Add PageMeta

**READ:** `src/pages/HomePage.tsx` for PageMeta pattern.

```tsx
import type { PageMeta } from '@donotdev/core';
import { PageContainer } from '@donotdev/ui';
import { Info } from 'lucide-react';

export const NAMESPACE = 'about';

export const meta: PageMeta = {
  namespace: NAMESPACE,
  icon: <Info />,
  // From spec:
  // auth: true,                              // Protected
  // auth: { required: true, role: 'admin' }, // Admin
  // hideFromMenu: true,                      // Form pages
};

export default function AboutPage() {
  return <PageContainer>About Page</PageContainer>;
}
```

---

## Output

- [ ] App runs with `bun dev`
- [ ] All route files created (from spec)
- [ ] PageMeta set with correct auth levels (from spec)
- [ ] Navigation auto-generated
