## ADDED Requirements ### Requirement: oxfmt replaces Prettier The project SHALL use oxfmt for all code formatting, with a root `.oxfmtrc.json` configuration that replicates the existing Prettier conventions. #### Scenario: Format check passes - **WHEN** `npm run format` is executed at root - **THEN** all TypeScript/JavaScript/JSON source files are formatted according to `.oxfmtrc.json` rules #### Scenario: CI format gate - **WHEN** `npm run format -- --check` is executed in CI - **THEN** it exits with non-zero code if any file is not formatted correctly ### Requirement: Frontend oxlint replaces ESLint The admin application (`apps/admin/`) SHALL use oxlint for linting, with a configuration that covers TypeScript and React rules equivalent to the existing ESLint setup. #### Scenario: Admin lint passes - **WHEN** `npm run lint` is executed at root - **THEN** admin source files are linted with oxlint and pass without errors #### Scenario: Rules-of-hooks violations detected - **WHEN** a React hook is called conditionally in admin source - **THEN** oxlint reports a rules-of-hooks violation ### Requirement: Backend retains ESLint The server application (`apps/server/`) SHALL retain its existing ESLint configuration due to NestJS-specific rules that oxlint does not support. #### Scenario: Server lint passes - **WHEN** `npm run lint` is executed at root - **THEN** server source files are linted with ESLint and pass without errors #### Scenario: NestJS decorator checks work - **WHEN** ESLint runs on server source - **THEN** `@typescript-eslint/no-unsafe-*` rules and NestJS-specific patterns are enforced ### Requirement: Pre-existing Prettier/ESLint cleanup All Prettier configuration files (`.prettierrc`, `eslint-plugin-prettier` references) SHALL be removed, and ESLint configurations SHALL be updated to remove Prettier integration. #### Scenario: No Prettier remnants - **WHEN** the migration is complete - **THEN** `grep -r "prettier"` across config files returns no results (excluding oxfmt config which is separate) #### Scenario: No Prettier dependencies - **WHEN** `npm ls prettier eslint-plugin-prettier eslint-config-prettier` is run - **THEN** no Prettier-related packages are installed in any workspace