Skip to content

Development & testing ​

Everyday commands ​

Run these commands from the repository root:

CommandPurpose
pnpm devStart the Nuxt application
pnpm lintRun ESLint and the design-token hex-color check
pnpm lint:fixApply supported ESLint fixes
pnpm typecheckCheck Nuxt TypeScript types
pnpm testRun unit and Nuxt test projects
pnpm test:watchWatch unit and Nuxt tests while editing
pnpm test:e2eRun browser tests without file parallelism
pnpm test:allRun all Vitest projects
pnpm buildBuild documentation and the Nuxt application
pnpm previewPreview the built application
pnpm docs:devStart the documentation site
pnpm docs:buildBuild static documentation and check page links
pnpm docs:previewPreview built documentation at /docs/
pnpm test:docsCheck 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:e2e

CI 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.

KPZ frontend · Team documentation