# @tara/web

Tara Web Client - Next.js PWA for mindfulness meditation 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`              | node .next/standalone/apps/tara/web/server.js |
| `pnpm lint`               | next lint                                     |
| `pnpm type-check`         | tsc --noEmit                                  |
| `pnpm test`               | vitest run                                    |
| `pnpm test:watch`         | vitest                                        |
| `pnpm test:coverage`      | vitest run --coverage                         |
| `pnpm storybook`          | storybook dev -p 6007                         |
| `pnpm build-storybook`    | storybook build                               |
| `pnpm lighthouse`         | lhci autorun                                  |
| `pnpm lighthouse:collect` | lhci collect                                  |
| `pnpm lighthouse:assert`  | lhci assert                                   |
| `pnpm test:performance`   | vitest run src/**tests**/performance          |
| `pnpm e2e`                | playwright test                               |

## Layout

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

## Working on this package

The fastest local loop is via Nx:

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