# Contributing ## Setup ```bash git clone https://github.com/YOUR_USERNAME/next-ai-draw-io.git cd next-ai-draw-io npm install cp env.example .env.local npm run dev ``` ## Code Style We use [Biome](https://biomejs.dev/) for linting and formatting: ```bash npm run format # Format code npm run lint # Check lint errors npm run check # Run all checks (CI) ``` Pre-commit hooks via Husky will run Biome automatically on staged files. For a better experience, install the [Biome VS Code extension](https://marketplace.visualstudio.com/items?itemName=biomejs.biome) for real-time linting and format-on-save. ## Testing Run tests before submitting PRs: ```bash npm run test # Unit tests (Vitest) npm run test:e2e # E2E tests (Playwright) ``` E2E tests use mocked API responses - no AI provider needed. Tests are in `tests/e2e/`. To run a specific test file: ```bash npx playwright test tests/e2e/diagram-generation.spec.ts ``` To run tests with UI mode: ```bash npx playwright test --ui ``` ## Pull Requests 1. Create a feature branch 2. Make changes and ensure `npm run check` passes 3. Run tests with `npm run test:e2e` 4. Submit PR against `main` with a clear description ## Issues Include steps to reproduce, expected vs actual behavior, and AI provider used.