Appearance
Development & testing
Everyday commands
Run these commands from the repository root:
| Command | Purpose |
|---|---|
pnpm dev | Start the Nuxt application |
pnpm lint | Run ESLint and the design-token hex-color check |
pnpm lint:fix | Apply supported ESLint fixes |
pnpm typecheck | Check Nuxt TypeScript types |
pnpm test | Run unit and Nuxt test projects |
pnpm test:watch | Watch unit and Nuxt tests while editing |
pnpm test:e2e | Run browser tests without file parallelism |
pnpm test:all | Run all Vitest projects |
pnpm build | Build documentation and the Nuxt application |
pnpm preview | Preview the built application |
pnpm docs:dev | Start the documentation site |
pnpm docs:build | Build static documentation and check page links |
pnpm docs:preview | Preview built documentation at /docs/ |
pnpm test:docs | Check bundled documentation against the production server after pnpm build |
Choosing a test
test/unit/: isolated utilities, API helpers, validation, and data transformations in a Node environment.test/nuxt/: components and composables needing the Nuxt test environment.test/e2e/: browser workflows such as login and admin invoices.
Vitest project configuration is in vitest.config.ts; Nuxt test setup is in test/setup/nuxt.ts.
Before running browser tests for the first time, install Chromium:
sh
pnpm exec playwright-core install chromium
pnpm test:e2eCI installs Chromium with system dependencies using --with-deps.
Before opening a pull request
Run lint, typecheck, relevant tests, and the production build for application changes. For documentation changes, run pnpm docs:build and preview the result. The CI application build also builds the docs to catch broken page links or rendering errors.
Working on the interface
Start with the UI component reference. Reuse existing components and design tokens, and add translations in both supported languages when introducing interface copy.
Historical findings live in the UI/UX review and Figma gap analysis. Read their review dates and scope before treating them as current requirements.