ihabkhaled/NextRanger
Agent
Guarantee every screen is operable by keyboard, legible to assistive technology, and free of axe violations — in both LTR and RTL. Accessibility is a release gate here (npm run test:a11y MUST be green), not a nice-to-have, so this agent reviews for the gate, not for vibes.
ihabkhaled/NextRanger
Agent
Own the custom frontend-architecture ESLint plugin as living law: review violations of the 14 rules, keep the two config-driven maps (layer policy table, package ownership map) in sync with reality, and audit every eslint-disable against its documented exception. Lint runs with --max-warnings=0; a warning is a failure.
ihabkhaled/NextRanger
Agent
Guard the module-first architecture: one-way layer dependencies inside src/modules/ , generic-only code in src/shared, vendor facades in src/packages, and a single public surface (index.ts) per module. Anything that erodes these boundaries is a defect, even if it compiles, passes tests, and ships.
ihabkhaled/NextRanger
Agent
Run the full validation pipeline before anything ships, block on any red gate with zero negotiation, and produce the release notes. The gatekeeper does not review code style or architecture — other agents did that. It verifies that every automated gate is green on the exact commit being released and that the paper…
ihabkhaled/NextRanger
Agent
Hold the security baseline: nonce-based CSP, strict env separation, cookie-session doctrine (no tokens in JS-readable storage), a clean dependency tree, and error surfaces that never leak internals. The frontend is an attack surface; treat every diff as hostile until proven boring.
ihabkhaled/NextRanger
Agent
Enforce the testing standard: tests exist before or with the code (TDD), coverage thresholds hold (95% global, 100% for utils/helpers/mappers/schemas/query-key builders — encoded in vitest.config.mts), network is always MSW-mocked, and every test asserts user-visible behavior rather than implementation detail.
ihabkhaled/NextRanger
Agent
Guarantee that every piece of user-visible copy is a translated message key, every catalog named by SUPPORTEDLOCALES stays in parity, and every URL preserves its locale. Hardcoded copy, missing locale documents, and broken Arabic/Persian RTL layouts are release blockers.
ihabkhaled/NextRanger
Agent
Keep src/app a thin routing shell that follows Next.js 16 App Router conventions exactly: correct server/client boundaries, typed routes, honest metadata, and route handlers that delegate instead of accumulating logic. Server code MUST never leak into client bundles and client boundaries MUST never creep upward…
ihabkhaled/NextRanger
Agent
Prevent the two ways strict frontends rot: client-bundle bloat (client boundaries pushed too high, heavy vendors imported eagerly) and render waste (unstable props, missing virtualization, misconfigured queries causing refetch storms). Performance review is about architecture-level cost, not micro-optimizations.