# Jinkendo Kairo Operativer Program Director der Jinkendo-Produktfamilie. Kairo steuert Vorhaben, Programme, Projekte, Meilensteine, Maßnahmen, Backlogs, Reviews, Nachweise und die Zusammenarbeit von Menschen, Arbeitsgruppen und KI-Agenten. ## Leitfrage > Welcher nächste Schritt bringt ein Vorhaben aktuell am wirkungsvollsten voran? ## Startzustand Dieses Repository startet mit einem reinen Spezifikations- und Sprint-0-Handover-Paket. Noch nicht enthalten: - produktiver Anwendungscode - endgültiger Technologie-Stack - vollständige Jinkendo-Foundation - Mitai- oder Shinkan-Code - Billing / SSO / zentrale Produktfamilien-Konvergenz ## Verbindliche Dokumente für Sprint 0 1. `docs/product/Jinkendo_Kairo_Product_Spec_v0.2.md` 2. `docs/architecture/Jinkendo_Foundation_Minimum_Viable_Foundation_v0.2.md` 3. `docs/architecture/Kairo_Sprint0_Principle_Gate_v0.1.md` 4. `docs/sprints/Jinkendo_Kairo_04_Sprint0_Foundation_v0.3.md` 5. `docs/sprints/Sprint0_Vibe_Coder_Handover_v0.1.md` 6. `docs/sprints/Sprint0_AP0_1_Project_Setup_Assignment_v0.1.md` 7. `CLAUDE.md` 8. `.cursor/rules/kairo-architecture.mdc` ## Arbeitsmodus Kairo wird iterativ entwickelt. Sprint 0 baut nur das Fundament: - Tenant - User - Actor - TenantContext - Auth-Gates - Capability/Rights Registry - minimale Feature Registry - minimale Prompt Registry - Platzhaltermodell - Audit - Migration/Deploy-Grundlage Vorhaben, Projekte, Meilensteine und Maßnahmen kommen erst nach Sprint 0. ## Designprinzipien-Referenzen Die extrahierten Designprinzipien aus Mitai und Shinkan liegen im Repository unter: ```text docs/reference/design-principles/ ``` Diese Dokumente sind Referenzen, kein direkter Sprint-Scope. Verbindlich ist nur, was über das Kairo Sprint-0 Principle Gate oder eine Architecture Decision übernommen wurde. ## Deployment & CI Zwei getrennte Gitea-Workflows (wie Shinkan): | Workflow | Branch | |----------|--------| | **Deploy Development** | `develop` | | **Deploy Production** | `main` | | **Test Suite** | nach Deploy + bei Push/PR `develop` | Details: [docs/DEPLOYMENT.md](docs/DEPLOYMENT.md) ## Local Development Voraussetzungen: Docker + Docker Compose. ```bash git clone http://192.168.2.144:3000/Lars/Kairo-Jinkendo.git cd Kairo-Jinkendo git checkout develop # Dev-Stack (PostgreSQL + Backend + Frontend) docker compose -f docker-compose.dev-env.yml up --build # Health prüfen curl http://localhost:8097/api/health curl http://localhost:3097/api/health # Tests im Backend-Container docker compose -f docker-compose.dev-env.yml exec backend pip install -r requirements-dev.txt docker compose -f docker-compose.dev-env.yml exec backend python -m pytest tests -ra -vv ``` UI: http://localhost:3097 · API: http://localhost:8097 Interaktive API-Doku (Dev): http://localhost:8097/api/docs ### Auth (AP0.2) Bootstrap (nur wenn noch kein User existiert — `.env` setzen): ```env KAIRO_BOOTSTRAP_ADMIN_EMAIL=admin@kairo.local KAIRO_BOOTSTRAP_ADMIN_PASSWORD=… KAIRO_BOOTSTRAP_TENANT_SLUG=default ``` | Endpoint | Methode | Auth | Beschreibung | |----------|---------|------|--------------| | `/api/auth/setup-status` | GET | — | Ob Erstregistrierung offen ist | | `/api/auth/register` | POST | — | Erster User → Portal-Admin + Tenant (nur wenn noch kein User) | | `/api/auth/login` | POST | — | E-Mail + Passwort → Session-Token | | `/api/auth/logout` | POST | `X-Auth-Token` | Session löschen | | `/api/me` | GET | `X-Auth-Token` | Aktueller User + Tenant-Liste | | `/api/me/context` | GET | `X-Auth-Token` | TenantContext (Tenant + Human Actor) | | `/api/me/tenant` | POST | `X-Auth-Token` | Aktiven Tenant wechseln (nur Memberships) | ```bash # Login curl -s -X POST http://localhost:8097/api/auth/login \ -H "Content-Type: application/json" \ -d '{"email":"admin@kairo.local","password":"…"}' # Geschützter Endpoint curl -s http://localhost:8097/api/me -H "X-Auth-Token: TOKEN" ``` Regeln: `user_id` kommt aus der Session, nicht aus Client-Headern. Portalrolle (`portal_role`) und Tenantrolle (`tenant_role`) sind getrennt. ## AP0.1 – Stand Projektgrundlage | Bereich | Status | |---------|--------| | Git + Gitea (`develop` / `main`) | erledigt | | Docker Compose (Prod + Dev) | erledigt | | Backend (FastAPI, Migrationen, `/api/health`) | erledigt | | Frontend minimal (React + nginx Proxy) | erledigt | | pytest (Health + Migrationen + Auth/Tenant/Actor) | erledigt (AP0.2) | | Gitea Actions (Deploy + Test) | erledigt |