# AGENTS.md Project: DockDeck Dit project gebruikt het Codex Project Operating System. ## Werkmodus Volg deze stappen bij elke wijziging: begrijpen, ontwerpen, plannen, bouwen, testen, verbeteren, documenteren, committen. Startmodus: MVP bouwen - Codex mag scaffolden, bouwen, testen, committen en pushen wanneer de repo en remote duidelijk zijn. - Bouw de kleinste bruikbare verticale flow eerst. - Vraag alleen om hulp bij ontbrekende credentials, onduidelijke productkeuzes of risicovolle externe acties. ## Autonomie - Werk zelfstandig door waar de intentie duidelijk is. - Stel alleen vragen wanneer een keuze het productgedrag, de architectuur of de veiligheid wezenlijk verandert. - Houd wijzigingen klein, toetsbaar en passend bij het bestaande project. - Gebruik de vastgelegde runtime-, sync-, persistentie-, deploy- en repo-keuzes als startpunt. - Werk projectdocumentatie bij zodra besluiten, risico's of verificatie veranderen. ## Autonomiegrenzen - Commit en push alleen wanneer de repo en remote duidelijk zijn. - Deploy alleen wanneer het deploymentdoel, poort en credentials expliciet bekend zijn. - Vraag om input bij ontbrekende credentials, betaalde diensten of destructieve acties. - Stop en vraag bevestiging wanneer een actie gebruikersdata kan wijzigen, verwijderen of publiceren. ## Veiligheid - Commit nooit secrets. - Plaats geen API keys, tokens, wachtwoorden of klantdata in code, tests of logs. - Verwacht credentials: Ja. - Security/privacy notities: Gebruik uitsluitend environmentvariabelen voor gevoelige configuratie. Voorzie minimaal variabelen zoals GITEA_URL, GITEA_TOKEN en GITEA_OWNER voor repository-initialisatie en optionele NPM_URL, NPM_USERNAME en NPM_PASSWORD of een ondersteund read-only token voor Nginx Proxy Manager. Gebruik voor de Docker-koppeling geen onbeperkte socketmount in de applicatiecontainer, maar een afzonderlijke proxy met alleen de minimaal noodzakelijke read-endpoints. Sla secrets nooit op in SQLite, exports, logs, frontendbundels, testfixtures of Git. Toon gevoelige integratiewaarden gemaskeerd in de UI. De app mag geen Docker-mutaties uitvoeren en mag nooit containers starten, stoppen, herstarten, verwijderen of aanpassen. De MVP heeft geen eigen authenticatie en moet daarom standaard alleen op een lokaal bindadres of afgeschermd Docker-netwerk worden gepubliceerd. Externe toegang via Nginx Proxy Manager wordt alleen voorbereid; correcte authenticatie en toegangscontrole via bijvoorbeeld Authentik blijven de verantwoordelijkheid van een latere deploymentstap. ## Quality Gate - Run de relevante tests voor elke gedragswijziging. - Run lint/typecheck voor overdracht of commit. - Noteer testresultaten in TEST_LOG.md. - Laat bekende risico's achter in RISKS.md en HANDOFF.md. - Verplichte finale gate: `npm run format:check`, `npm run lint`, `npm run typecheck`, `npm test`, `npm run test:e2e`, `npm run test:security`, `npm run build` en `npm audit --audit-level=moderate`. - Valideer `docker compose config` en de imagebuild zodra een Docker-runtime beschikbaar is. ## Productgrenzen - Houd Docker-, Unraid- en NPM-integraties read-only. - Voeg nooit Docker start/stop/restart/delete/exec- of andere beheeracties toe. - Nieuwe discovery-records blijven standaard verborgen; integratiefouten mogen opgeslagen navigatie nooit blokkeren. - Secrets blijven uitsluitend in environmentvariabelen en mogen niet in API-responses, SQLite, exports, logs, fixtures of browserbundels terechtkomen. - De app heeft geen authenticatie en blijft standaard op `127.0.0.1` gebonden. ## Resume Instructions - Lees AGENTS.md, PROJECT_BRIEF.md, REQUIREMENTS.md, SPEC.md, PLAN.md, DECISIONS.md, TEST_LOG.md, RISKS.md en HANDOFF.md voordat je verder bouwt. - Vat de huidige staat kort samen, bepaal de volgende stap uit PLAN.md en werk daarna de documentatie bij.