Update GeoIntel project files
This commit is contained in:
@@ -1,44 +1,59 @@
|
||||
# AI Agent Instructions for GeoIntel
|
||||
# AGENTS.md
|
||||
|
||||
## Project identity
|
||||
Project: DockDeck
|
||||
|
||||
GeoIntel is a GeoAI Workbench for Belgium and the Belgian North Sea, not a
|
||||
generic CRUD app and not a generic dashboard. Mol and the Kempen remain golden
|
||||
regression areas, not the product boundary.
|
||||
Dit project gebruikt het Codex Project Operating System.
|
||||
|
||||
## Required behavior
|
||||
## Werkmodus
|
||||
|
||||
- Read `docs/CODEX_BOOTSTRAP_PROMPT.md` first.
|
||||
- Respect `docs/RC_SCOPE_FREEZE_BELGIUM_NORTH_SEA.md`.
|
||||
- Use `docs/API_CONTRACTS.md` as source of truth for endpoints.
|
||||
- Use `docs/DATABASE_IMPLEMENTATION_PLAN.md` as source of truth for persistence.
|
||||
- Use `docs/DEFINITION_OF_DONE.md` to decide whether work is complete.
|
||||
Volg deze stappen bij elke wijziging: begrijpen, ontwerpen, plannen, bouwen, testen, verbeteren, documenteren, committen.
|
||||
|
||||
## Agent roles
|
||||
Startmodus: MVP bouwen
|
||||
|
||||
### Architecture Agent
|
||||
- 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.
|
||||
|
||||
Owns repository layout, API contracts, database migrations and service boundaries.
|
||||
## Autonomie
|
||||
|
||||
### GIS Agent
|
||||
- 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.
|
||||
|
||||
Owns GeoPandas, Shapely, Rasterio, CRS, clipping, buffering, spatial joins and metadata extraction.
|
||||
## Autonomiegrenzen
|
||||
|
||||
### AI Agent
|
||||
- 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.
|
||||
|
||||
Owns YOLO/SAM abstractions, inference contracts, model configuration, detection/segmentation persistence and `not_configured` behavior.
|
||||
## Veiligheid
|
||||
|
||||
### QA Agent
|
||||
- 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.
|
||||
|
||||
Owns tests, QA/QC metrics, regression checks and acceptance criteria.
|
||||
## Quality Gate
|
||||
|
||||
### Frontend Agent
|
||||
- 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.
|
||||
|
||||
Owns React, TypeScript, MapLibre, API client, UI states and workbench UX.
|
||||
## Productgrenzen
|
||||
|
||||
## Never do this
|
||||
- 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.
|
||||
|
||||
- Do not fake production AI outputs.
|
||||
- Do not silently skip geospatial validation.
|
||||
- Do not add auth/multi-user/LiDAR/training before V1 foundation is stable.
|
||||
- Do not remove documentation to avoid conflicts.
|
||||
## 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.
|
||||
|
||||
Reference in New Issue
Block a user