AGENTS.md 3.4 KB

rhl-lieferscheine

Tech Stack

  • Frontend: Next.js 16 App Router, React 19, JavaScript/JSX, Tailwind CSS 4
  • Backend: Next.js Route Handlers on Node.js 22-slim
  • Database: MongoDB 7 via Mongoose 9
  • Auth: Signed JWT session cookie (auth_session), bcryptjs, RBAC roles branch | admin | superadmin | dev
  • Deployment: Docker Compose with NAS mount, GitLab CI/CD planned

Conventions

  • Read ~/.codex/docs/NEXTJS_CONVENTIONS.md for code conventions.
  • Read ~/.codex/docs/DEFAULT_STACK.md for stack defaults.

Project-Specific Rules

  • Keep owner-facing conversation in German.
  • Write source code, comments, tests, and project docs in English.
  • Keep user-facing UI text in German.
  • Treat Docs/ as the canonical project documentation directory for this repository.
  • Do not overwrite existing Docs/ content without explicit approval. Docs/frontend-ui.md may contain local changes and must stay untouched unless the user asks for edits there.
  • Keep the product scope intentionally pragmatic. Do not reintroduce dropped feature families such as large dashboards, saved searches/bookmarks, or an in-app PDF viewer without approval.
  • Treat Qsirch as required for the target environment. Do not plan production rollout around filesystem search alone.
  • Respect the current access model: one account per branch, branch users only see their own branch, elevated roles may work across branches, and only superadmin / dev may manage users.
  • Follow the established delivery flow: work ticket-by-ticket, run npx vitest run and npm run build before new implementation steps, stop for local/server verification before updating docs.
  • When docs are requested, write full-file outputs instead of diff snippets.

Ticket Naming

  • Prefix: RHL
  • Format: RHL-XXX

Branch And MR Naming

  • Branch: type/rhl-xxx-slug
  • MR title: RHL-XXX type(scope): summary
  • Types: feat, fix, refactor, docs, chore, style, test, perf, ci, build

Commands

  • Install dependencies: npm install
  • Start dev server: npm run dev
  • Run tests once: npx vitest run
  • Watch tests: npm run test:watch
  • Build production bundle: npm run build
  • Start production server: npm run start
  • Lint repository: npm run lint -- .
  • Validate environment: node scripts/validate-env.mjs
  • Start local Docker stack: docker compose -f docker-compose.yml -f docker-compose.local.yml up --build
  • Start server-like Docker stack: ENV_FILE=.env.server docker compose -f docker-compose.yml up -d --build
  • Run manual API smoke flow: docker compose exec app node scripts/manual-api-client-flow.mjs --baseUrl=http://127.0.0.1:3000 --username=<user> --password=<pw> --branch=<branch>

Key Paths

  • app/ - routes, protected/public app structure, route handlers
  • components/ - UI building blocks
  • lib/ - domain logic, API client helpers, auth/storage/search helpers
  • models/ - MongoDB user model
  • scripts/validate-env.mjs - environment validation entrypoint
  • scripts/manual-api-client-flow.mjs - manual smoke validation helper
  • Docs/ - existing product and operational documentation
  • docker-compose.yml and docker-compose.local.yml - runtime definitions

Stop And Ask

Escalate before continuing when the task touches:

  • architecture or scope changes
  • auth, RBAC, or security-sensitive behavior
  • database schema or MongoDB operational topology
  • CI/CD, deployment automation, reverse proxy, or HTTPS rollout
  • secrets, credentials, or Qsirch integration details