|
Some checks failed
Deploy Development / deploy (push) Failing after 36s
Test Suite / pytest-backend (push) Failing after 0s
Test Suite / k6 /api/health Baseline (push) Has been skipped
Test Suite / playwright-smoke (push) Has been skipped
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com> |
||
|---|---|---|
| .cursor/rules | ||
| .gitea/workflows | ||
| backend | ||
| docs | ||
| frontend | ||
| infra | ||
| scripts/load | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| docker-compose.dev-env.yml | ||
| docker-compose.yml | ||
| package.json | ||
| playwright.config.js | ||
| README.md | ||
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
docs/product/Jinkendo_Kairo_Product_Spec_v0.2.mddocs/architecture/Jinkendo_Foundation_Minimum_Viable_Foundation_v0.2.mddocs/architecture/Kairo_Sprint0_Principle_Gate_v0.1.mddocs/sprints/Jinkendo_Kairo_04_Sprint0_Foundation_v0.3.mddocs/sprints/Sprint0_Vibe_Coder_Handover_v0.1.mddocs/sprints/Sprint0_AP0_1_Project_Setup_Assignment_v0.1.mdCLAUDE.md.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:
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
Local Development
Voraussetzungen: Docker + Docker Compose.
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)
Ersteinrichtung (nur wenn noch kein User existiert):
- UI-Registrierung unter http://localhost:3097 (Tab „Registrieren“), oder
- Bootstrap per
.env(wird als Data-Seed beim Start ausgeführt):
KAIRO_BOOTSTRAP_ADMIN_EMAIL=admin@kairo.local
KAIRO_BOOTSTRAP_ADMIN_PASSWORD=…
KAIRO_BOOTSTRAP_TENANT_SLUG=default
Migrationen & idempotente Data-Seeds: docs/MIGRATIONS.md
| 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) |
# 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 |