# @yemaya/studio-desktop

Yemaya Desktop Application - Electron-based creative suite 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`          | npm run build:main && npm run build:preload && npm run build:renderer            |
| `pnpm build:main`     | tsup                                                                             |
| `pnpm build:preload`  | tsup                                                                             |
| `pnpm build:renderer` | vite build                                                                       |
| `pnpm dev`            | concurrently -k -n main,preload,renderer "npm run dev:main" "npm run dev:preload |
| `pnpm dev:main`       | tsup --watch --onSuccess "electron ."                                            |
| `pnpm dev:preload`    | tsup --watch                                                                     |
| `pnpm dev:renderer`   | vite                                                                             |
| `pnpm start`          | electron .                                                                       |
| `pnpm test`           | vitest run                                                                       |
| `pnpm test:watch`     | vitest                                                                           |
| `pnpm test:coverage`  | vitest run --coverage                                                            |
| `pnpm typecheck`      | tsc --noEmit                                                                     |
| `pnpm lint`           | eslint src/                                                                      |
| `pnpm lint:fix`       | eslint src/ --fix                                                                |

## Layout

- `assets/`
- `docs/`
- `makers/`
- `scripts/`
- `src/`

## Working on this package

The fastest local loop is via Nx:

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