# @iris/desktop

Iris AI Assistant - Desktop Application

Vite-built web app. `pnpm dev` starts the dev server; `pnpm build` produces a
static bundle in `dist/`.

## Scripts

| Command            | Definition                |
| ------------------ | ------------------------- |
| `pnpm dev`         | vite                      |
| `pnpm build`       | tsc && vite build         |
| `pnpm preview`     | vite preview              |
| `pnpm tauri`       | tauri                     |
| `pnpm tauri:dev`   | tauri dev                 |
| `pnpm tauri:build` | tauri build               |
| `pnpm lint`        | eslint src --ext .ts,.tsx |
| `pnpm typecheck`   | tsc --noEmit              |
| `pnpm test:e2e`    | playwright test           |

## Layout

- `e2e/`
- `public/`
- `src/`
- `src-tauri/`

## Working on this package

The fastest local loop is via Nx:

```bash
pnpm nx test iris-desktop
pnpm nx lint iris-desktop
pnpm nx build iris-desktop
```

When Nx is unhappy (usually because another worktree has duplicate project
names), bypass it with the underlying tools from this directory:

```bash
npx tsc --noEmit
npx vitest run
```

See the [root README](../../../README.md) for monorepo-wide conventions (catalog
deps, commit format, git workflow). See the
[Contributor Guide](../../../docs/CONTRIBUTING.md) for the full PR workflow.
