# @oshun/v3-lilith-web

V3 browser shell for Pixel Streaming entry.

Next.js application. `pnpm dev` runs the dev server; `pnpm build && pnpm start`
runs the production server.

## Scripts

| Command          | Definition                              |
| ---------------- | --------------------------------------- |
| `pnpm dev`       | next dev -p 3041                        |
| `pnpm build`     | next build                              |
| `pnpm start`     | next start -p 3041                      |
| `pnpm e2e`       | playwright test -c playwright.config.ts |
| `pnpm test`      | vitest run --config vitest.config.ts    |
| `pnpm typecheck` | tsc --noEmit                            |

## Layout

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

## Working on this package

The fastest local loop is via Nx:

```bash
pnpm nx test oshun-v3-lilith-web
pnpm nx lint oshun-v3-lilith-web
pnpm nx build oshun-v3-lilith-web
```

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.
