# Agent Rules and Verification Constraints

All AI agents (including Cline, Antigravity, Cursor, and Copilot) must adhere to the following rules before declaring a task complete:

1. **Test Coverage (>= 80%)**:
   - The overall project code coverage (Statements, Lines, and Functions) must be maintained at **80% or higher**.
   - Verify coverage by running:
     ```bash
     bun run test --watch=false --coverage
     ```
   - If your changes introduce new code or modify existing code in a way that drops the coverage below 80%, you must write appropriate unit tests in `.spec.ts` files to bring it back up.

2. **Code Formatting (Prettier)**:
   - All code files must be correctly formatted according to the project's Prettier config before finishing.
   - Run the formatter with:
     ```bash
     bun run format
     ```

3. **Successful Build**:
   - The project must always build successfully for production without compilation or bundling errors before ending.
   - Verify the build with:
     ```bash
     bun run build
     ```

4. **GitLab Pipeline Checks**:
   - You must execute the local equivalent of the GitLab CI/CD pipeline steps before completing your task. All of the following commands must pass:
     - **Linting check**: `bun run lint` (or use `bun run lint:fix` to resolve auto-fixable issues)
     - **Formatting check**: `bun run format:check`
     - **TypeScript Type check**: `bunx tsc --noEmit`
     - **Unit Tests and Coverage**: `bun run test --watch=false --coverage`
     - **Production Build**: `bun run build -- --configuration production`
