Scripts
Run every workflow with pnpm from the workspace root:
| Command | Action |
|---|---|
pnpm dev |
Starts Magimail in dev mode with live TypeScript watching. |
pnpm build |
Recursively builds @magimail/core and all app targets via tsup. |
pnpm test:e2e |
Playwright-driven end-to-end tests against the packaged app (apps/magimail/tests/e2e/). |
pnpm test |
Runs all Vitest unit tests across packages. |
pnpm test:watch |
Runs Vitest in interactive watch mode. |
pnpm typecheck |
Runs tsc --noEmit across all workspace packages. |
pnpm lint |
Runs ESLint 9 across TypeScript and JavaScript sources. |
pnpm lint:fix |
Fixes ESLint issues. |
pnpm format |
Runs Prettier across all markdown, JSON, CSS and TS files. |
pnpm format:check |
Verifies Prettier compliance, used in CI. |
pnpm magimail |
Builds the complete Magimail.app bundle via scripts/build-app.sh, asserting every native artefact exists. |
pnpm magimail:install |
Same, then replaces /Applications/Magimail.app. |
pnpm package:magimail |
Packages an arm64 .dmg. Prefer pnpm magimail; this does not assert the native artefacts are present. |
pnpm magimail:debug |
Relaunches the installed app with a CDP port and a live-editable CSS override. See debugging.md. |
pnpm release:magimail |
Releases Magimail. CI runs the same script; add --dry-run to check the path locally. See ci-and-releases.md. |
pnpm release:magical |
Releases Magical through its own apps/magical/scripts/release.sh. See ci-and-releases.md. |