Lokal ausführbare M1-Basis für die operative Planung von Kooperationen: responsive Arbeitsliste, Suche/Filter, wiederkehrende Kontakte und Agenturen, Detail- und Auditansicht sowie validierte Statuswechsel mit Optimistic Concurrency.
Lokale Vorschau: M1 enthält keine echte Gmail-Verbindung, keine automatische Agentenbearbeitung, keine produktive Authentifizierung und keine echten Kundendaten.
AUTH_MODE=disabledist ausschließlich im Entwicklungsmodus zulässig.
- Next.js 16 / React 19 / TypeScript
- FastAPI / Pydantic 2 / SQLAlchemy 2 / Alembic
- PostgreSQL 17 über Docker Compose
- pnpm und uv; Playwright, Vitest/RTL/axe, pytest
Docker mit Compose, Node.js 22 + Corepack und uv.
cp .env.example .env
corepack enable
corepack pnpm install --frozen-lockfile
uv sync --project apps/api --all-groups --frozen
docker compose up -d db
make db-wait
make migrate
make seedDanach in zwei Terminals:
make api # http://127.0.0.1:8000, API unter /api/v1
make web # http://localhost:3000/coopsmake lint
make format-check
make typecheck
make test
make build
corepack pnpm exec playwright install chrome
make e2e # API und Web müssen laufen, DB muss migriert/gesät sein
uv run --project apps/api alembic checkmake openapi exportiert den versionierten Vertrag nach packages/api-client/openapi.json. Der Frontend-Adapter ist explizit gegen diese API-Modelle typisiert; FastAPI bleibt die alleinige fachliche Schreibgrenze.
Der kontrollierte CLI-Import für den fachlichen Stand 19.10.2026 ist in
docs/manual-coop-import.md beschrieben. Dieser CLI-Pfad
aktiviert keinen Scheduler. Der separate Gmail-Delta-Scheduler ist im aktuellen
GitOps-Aktivierungskandidaten bewaffnet und deklarativ aktiv, jedoch ohne Merge oder
Live-Aktivierung noch nicht produktiv. Siehe docs/gmail-import-operations.md.
NEW → QUALIFYING → NEGOTIATING → CONFIRMED → IN_PRODUCTION → REVIEW → SCHEDULED → PUBLISHED → COMPLETED mit den in der Architektur dokumentierten Rückschritten und Abbruchpfaden. COMPLETED, DECLINED und CANCELLED sind terminal; alle anderen Status gelten als offen. Terminale Datensätze werden nur mit „Abgeschlossene einblenden“ sichtbar.
apps/api: API, Migration, Seed und PostgreSQL-Testsapps/web: Dashboard und Komponenten-/Accessibility-Testse2e: echter Browserpfad für Statusänderung und Reload-Persistenzpackages/api-client: eingecheckter OpenAPI-Vertragdocs: Architektur- und UX-Spezifikation für M1
Seed-Adressen verwenden ausschließlich .invalid; .env, Schlüssel, Tokens, Dumps und lokale Buildartefakte sind ignoriert. Die lokale Basis ist nicht produktionsreif. Gmail/OAuth, Influencer-Agent, Rollen/Rechte und Deployment beginnen ausdrücklich erst nach M1-Abnahme.