# Agent Instructions — Codex (Nuxt 3 + FastAPI, Greenfield, Mock-First) This repository contains a **Nuxt 3 frontend**. A **FastAPI** backend will be developed in parallel (may be in a separate repo/service). You are an automated coding agent (Codex). Your job is to make **precise, minimal, correct changes** while strictly following these rules. Do not guess. If required information is missing, stop and ask one clear question. This is an early-stage project. Prefer **simple, explicit patterns**. --- ## Repository Structure - Root directory: - Deployment artifacts: `Dockerfile`, `deploy/docker-compose.yml` - Nuxt application lives in `NautilusDeskTimeFrontend/` - `NautilusDeskTimeFrontend/app/` - Nuxt application source (pages, layouts, components, composables) - `NautilusDeskTimeFrontend/server/` - Nuxt/Nitro server code may exist - Backend business logic belongs in FastAPI, not here - `NautilusDeskTimeFrontend/public/` - Static assets served as-is - Generated output (DO NOT EDIT): - `NautilusDeskTimeFrontend/.nuxt/` - `NautilusDeskTimeFrontend/.output/` --- ## Commands (Frontend) Run all frontend commands from `NautilusDeskTimeFrontend/`. - `npm install` - `npm run dev` (`http://localhost:3000`) - `npm run build` - `npm run preview` - `npm run generate` (if used) Do not modify build scripts unless explicitly instructed. --- ## Tech Stack Frontend: - Nuxt 3 - Vue 3 (Composition API only) - TypeScript - Vite - Tailwind CSS - Plain CSS is allowed when needed Backend (separate service): - FastAPI - JWT authentication Do not introduce new dependencies unless explicitly requested. --- ## Global Coding Rules (Strict) - Prefer clarity over abstraction - Keep diffs small and scoped - Do not refactor unless asked - Do not change behavior unless asked - Do not remove code unless instructed - Avoid speculative features - Do not add comments explaining obvious code When no established pattern exists yet: - introduce a simple, conventional pattern - apply it consistently - do not over-engineer --- ## Vue & Nuxt Conventions ### Components - Use `