# @yemaya/studio-web

Yemaya Studio Web Application - Browser-based creative studio for film and game
production

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

## Scripts

| Command              | Definition                            |
| -------------------- | ------------------------------------- |
| `pnpm build`         | vite build                            |
| `pnpm build:analyze` | ANALYZE=true vite build               |
| `pnpm dev`           | vite                                  |
| `pnpm e2e`           | playwright test                       |
| `pnpm preview`       | vite preview                          |
| `pnpm test`          | vitest run                            |
| `pnpm test:watch`    | vitest                                |
| `pnpm test:coverage` | vitest run --coverage                 |
| `pnpm test:a11y`     | vitest run --testPathPattern=a11y     |
| `pnpm typecheck`     | tsc --noEmit                          |
| `pnpm lint`          | eslint src/                           |
| `pnpm lint:fix`      | eslint src/ --fix                     |
| `pnpm format`        | prettier --write src/                 |
| `pnpm format:check`  | prettier --check src/                 |
| `pnpm clean`         | rimraf dist coverage storybook-static |

## Layout

- `.storybook/`
- `e2e/`
- `public/`
- `src/`

## Working on this package

The fastest local loop is via Nx:

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