# AGENTS.md — ordinarthur-os Avant toute action, lire dans cet ordre : 1. [`README.md`](./README.md) 2. [`PLAN.md`](./PLAN.md) 3. [`ARCHITECTURE.md`](./ARCHITECTURE.md) ## Règles non-négociables - **Pas de Next.js, pas de Vercel.** Stack = Vite/React + NestJS, déploiement k3s. - **L'IA ne mute jamais la DB sans clic de confirmation utilisateur.** Le backend renvoie des `ProposedAction[]`, la PWA confirme via modal, puis `/ai/command/confirm` exécute. - **Single-user.** Bearer token statique, pas de multi-tenant. - **Design = portfolio arthurbarre.fr** (cream `#F5F1EA`, ink `#0F0F0F`, accent orange `#FF4A1C`, mono labels, bordures, italique = orange). PAS le violet/cyan du HTML jobs. - **FR only** côté IA (prompts + STT lang=fr). - **Schéma Postgres dédié `ordinarthur_os`** dans Supabase self-hosted (`supabase.arthurbarre.fr`). ## Phases Voir `PLAN.md`. Implémentation séquentielle Phase 0 → 7. Phase 8 (finance) reportée. ## Conventions repo - Monorepo pnpm + Turborepo - `apps/pwa` Vite + React + TanStack Router/Query + Tailwind + shadcn - `apps/api` NestJS (modules par domaine), `@supabase/supabase-js` (pas d'ORM) - `packages/shared` types + zod DTOs partagés PWA ↔ API - `packages/db/migrations` SQL versionné, appliqué manuellement sur Supabase pour l'instant - Pas de fichier `.env` commité, juste `.env.example`