diff --git a/CLAUDE.md b/CLAUDE.md index 453d7f6c..399910c2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -48,6 +48,9 @@ Key Relationships: - `mix test --cover` - Run with coverage (target: 90% minimum) - `mix precommit` - **Run before committing**: compiles with warnings as errors, formats, runs tests - `mix dialyzer` - Static type analysis +- `cd e2e && npm test` - Run end-to-end tests (Playwright) + +**E2E Testing**: When adding or modifying user-facing features, ALWAYS add corresponding e2e tests in `e2e/tests/`. E2E tests ensure the full user experience works across browsers (chromium, firefox, webkit). Tests should be defensive (use `if (await element.isVisible())` checks) and handle edge cases like missing data or sudo verification redirects. ### Database - `mix ecto.create/migrate/reset` - Database operations