# SolidStart → SolidJS + Vite Migration

## What Changed

### Removed
- `@solidjs/start` - Full-stack framework
- `vinxi` - Build tool
- `.vinxi/` and `.output/` build directories
- `entry-client.tsx` and `entry-server.tsx` - SSR entry points
- `app.config.ts` - SolidStart config

### Added
- `vite` - Fast build tool
- `vite-plugin-solid` - SolidJS plugin for Vite
- `index.html` - Standard HTML entry point
- `src/index.tsx` - Client-side entry point
- `vite.config.ts` - Vite configuration
- `nginx.conf` - Static file serving config

### Updated
- `package.json` - New scripts and dependencies
- `app.tsx` - Manual routing instead of FileRoutes
- `tsconfig.json` - Vite types instead of Vinxi
- `Dockerfile` - Static build with nginx instead of Node server
- `.gitignore` - Removed SolidStart artifacts

## Benefits

1. **Simpler**: No SSR complexity, just a clean SPA
2. **Faster**: Vite's dev server is lightning fast
3. **Cleaner**: Standard Vite setup everyone knows
4. **Smaller**: Static files served by nginx (much lighter than Node)
5. **Easier to debug**: No framework magic, just Vite + SolidJS

## How to Run

```bash
# Install dependencies
npm install

# Development
npm run dev

# Build
npm run build

# Preview production build
npm run preview
```

## Routing

Routes are now explicitly defined in `src/app.tsx` instead of file-based routing:

```tsx
<Route path="/app/:workspaceSlug">
  <Route path="/today" component={TodayRoute} />
  <Route path="/calendar" component={CalendarRoute} />
  // ... etc
</Route>
```

All route components are lazy-loaded for optimal performance.

## Docker

The Dockerfile now builds static files and serves them with nginx on port 80 (instead of Node on port 3000).

## Notes

- Service worker registration still works
- All auth flows remain unchanged
- API proxy configured in vite.config.ts for `/api/auth`
- All existing components and pages work as-is
