# @lilith/web

Lilith Web Client - Next.js PWA for consciousness experience platform

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

## Scripts

| Command                    | Definition                                                                      |
| -------------------------- | ------------------------------------------------------------------------------- |
| `pnpm dev`                 | next dev                                                                        |
| `pnpm build`               | next build                                                                      |
| `pnpm start`               | next start                                                                      |
| `pnpm lint`                | next lint                                                                       |
| `pnpm type-check`          | tsc --noEmit                                                                    |
| `pnpm test`                | for i in $(seq 1 32); do NODE_OPTIONS=--expose-gc vitest run --shard=$i/32 \|\| |
| `pnpm test:watch`          | vitest                                                                          |
| `pnpm test:coverage`       | vitest run --coverage                                                           |
| `pnpm test:coverage:watch` | vitest --coverage                                                               |
| `pnpm test:coverage:ui`    | vitest --ui --coverage                                                          |
| `pnpm coverage:report`     | vitest run --coverage                                                           |
| `pnpm coverage:check`      | vitest run --coverage                                                           |
| `pnpm coverage:badges`     | node scripts/generate-coverage-badges.js                                        |
| `pnpm coverage:trend`      | node scripts/track-coverage-trend.js                                            |
| `pnpm translate`           | tsx src/i18n/translation-cli.ts                                                 |

## Layout

- `.storybook/`
- `__tests__/`
- `docs/`
- `public/`
- `scripts/`
- `src/`

## Working on this package

The fastest local loop is via Nx:

```bash
pnpm nx test lilith-web
pnpm nx lint lilith-web
pnpm nx build 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.
