7b7660b056
- Domain owns the truth - Technical stack defined - Code standards: TypeScript strict, no any, no console.log in prod - Git flow: Issue → Branch → Code → Tests → Commit → PR → Review → Merge → Deploy - Commit format: feat/fix/refactor/test/docs(scope): message - PR rules: purpose, changes, tests, migrations, risks, screenshots - Tests: unit (domain), integration (API), e2e (critical flows) - Definition of Done: versioned, tested, reviewed, documented, flagged, pilot-ready - AI agent rules: work in Git only, never production, suggest migrations, write tests - Deployment flow: Local → Git → PR → Review → Merge → CI → Integration → Pilot → Production Binding for all developers and AI agents. Complements E-001 and EP-1.0.
3.1 KiB
3.1 KiB
Engineering Standard v1.0
LandveX utvecklas genom små, testade, versionshanterade förändringar. Varje förändring ska vara reproducerbar, granskbar och möjlig att återställa. Ingen kod skrivs direkt mot driftmiljöer eller lagringstjänster.
1. Grundprincip
Domänen äger sanningen. All annan kod är utbytbar.
Prioritetsordning:
Domain
↓
Application
↓
Infrastructure
↓
API
↓
UI
Ingen kod får bryta den riktningen.
2. Teknisk Stack
Frontend
- React
- TypeScript (
strict: true) - Vite
- TanStack Query
- React Router
- MapLibre GL eller Google Maps (beroende på behov)
- Tailwind CSS
Backend
- Node.js LTS
- TypeScript (
strict) - Express eller Fastify
- Zod för validering
- PostgreSQL
- Redis (för köer/caching när det behövs)
- S3-kompatibel objektlagring (AWS S3, Cloudflare R2 eller MinIO lokalt)
AI
- Python-mikrotjänster
- PyTorch
- Ultralytics/YOLO
- Grounding DINO
- SAM
- MLflow för modellversionering (senare)
Infrastruktur
- Docker
- Docker Compose (dev/pilot)
- Kubernetes först när ni verkligen behöver det
3. Kodstandard
Obligatoriskt:
- TypeScript strict
- ESLint
- Prettier
- Inga
any - Inga
console.logi produktionskod - Små funktioner
- Dependency Injection
- Inga globala singletons
4. Git-flöde (E-001)
Ingen kod skrivs direkt i produktion.
Alltid:
Issue / Story
↓
Branch
↓
Kod
↓
Tester
↓
Commit
↓
Push
↓
Pull Request
↓
Review
↓
Merge
↓
Deploy
Aldrig:
- ändra filer direkt på servern
- FTP
- SSH-editing
- "quick fixes" i produktion
5. Commit-standard
Format:
feat(mission): add upload endpoint
fix(dataset): handle missing GPS
refactor(domain): simplify artifact lineage
test(application): add replay integration tests
docs(adr): document decision pipeline
Commits ska vara små och fokuserade.
6. Pull Request-regler
Varje PR ska innehålla:
- Syfte
- Vad som ändrats
- Hur det testats
- Eventuella migrations
- Risker
- Skärmbilder om UI ändrats
7. Tester
Miniminivå:
- Unit-test för domän
- Integrationstest för API
- End-to-end-test för kritiska flöden
Inga nya features mergas utan relevanta tester.
8. Definition of Done
En uppgift är klar först när:
- Koden är versionshanterad.
- Tester passerar.
- Kodgranskning är gjord.
- Dokumentation är uppdaterad vid behov.
- Feature flag används om funktionen inte ska exponeras direkt.
- Pilotmiljön fungerar.
9. AI-agent-regler
Alla AI-agenter (inklusive SVEN och andra) ska följa samma regler:
- Arbeta endast i Git-repository.
- Skapa aldrig kod direkt i produktion.
- Föreslå migrationer istället för manuella databasändringar.
- Skriva tester tillsammans med ny funktionalitet.
- Inte ändra domänmodellen utan ett tydligt arkitekturbeslut.
10. Deployment-flöde
Local Development
↓
Git Push
↓
Pull Request
↓
Review
↓
Merge
↓
CI
↓
Integration
↓
Pilot
↓
Production
Ingen får hoppa över steg.
Status
- Version: 1.0
- Date: 2026-07-02
- Binding: All developers and AI agents
- Complements: E-001, EP-1.0, Architecture Principles