How ramsesoriginal/lorenzo works
Lorenzo is a multi-tenant worldbuilding and campaign-bookkeeping platform: users manage libraries and entries through web, mobile, CLI, and Discord clients, with the API as the source of truth. The map groups the documented client surfaces around the API and its domain capabilities, then shows selected internals and the CLI import workflow. Client-to-API and API-to-PostgreSQL links follow the README; internal links are limited to relationships visible in the sampled source or SOURCE INDEX, so unsampled domain wiring is not inferred.
Main entry points: lorenzo_api/main.py REST API · lorenzo_cli/main.py Lorenzo CLI · api.ts Account hub · dragDrop.ts Inventory web
Components 27
User clients
- Account hub
apps/account-hub/src/lib/api.ts - Inventory web
apps/inventory-web/src/components/Board/dragDrop.ts - Beings app
apps/beings/src/components/BeingPage/renderer.ts - Calendars app
apps/calendars/src/lib/session.ts - Sessions app
apps/sessions/src/lib/context.ts - Writing app
apps/writing/src/lib/review.ts - Maps app
apps/maps/src/lib/previews.ts - Social app
apps/social/src/lib/auth.ts - Inventory Android
apps/inventory-mobile/app/src/main/kotlin/io/lorenzo/inventory/data/InventoryRepository.kt - Inventory iOS
apps/inventory-ios/Sources/App/Views.swift - Discord bot
apps/loot-bot/src/lorenzo-client.ts
API service
- REST API
apps/api/src/lorenzo_api/main.py - API configuration
apps/api/src/lorenzo_api/config.py - API exceptions
apps/api/src/lorenzo_api/exceptions.py
World and content
- Entity routes
apps/api/src/lorenzo_api/routers/entities.py - Domain models
apps/api/src/lorenzo_api/models
Repository publishing
- Repository routes
apps/api/src/lorenzo_api/routers/repositories.py - Preview routes
apps/api/src/lorenzo_api/routers/repository_preview.py - Preview rules
apps/api/src/lorenzo_api/repository_preview.py - Repository schemas
apps/api/src/lorenzo_api/schemas/repositories.py - Profile schemas
apps/api/src/lorenzo_api/schemas/repository_profiles.py - Release fanout
apps/api/src/lorenzo_api/release_fanout.py
CLI import workflow
- Lorenzo CLI
apps/cli/src/lorenzo_cli/main.py - API client transport
apps/cli/src/lorenzo_cli/client/transport.py - Import planning
apps/cli/src/lorenzo_cli/importer
Other components
- Game makers
- PostgreSQL
Connections 35
- Game makers → Account hub: manages accounts
- Game makers → Inventory web: manages items
- Game makers → Beings app: reads and edits
- Game makers → Calendars app: manages calendars
- Game makers → Sessions app: prepares sessions
- Game makers → Writing app: writes manuscripts
- Game makers → Maps app: explores maps
- Game makers → Social app: manages relationships
- Game makers → Inventory Android: carries inventory
- Game makers → Inventory iOS: carries inventory
- Game makers → Discord bot: uses Discord
- Game makers → Lorenzo CLI: runs bulk work
- Account hub → REST API: uses API
- Inventory web → REST API: uses API
- Beings app → REST API: uses API
- Calendars app → REST API: uses API
- Sessions app → REST API: uses API
- Writing app → REST API: uses API
- Maps app → REST API: uses API
- Social app → REST API: uses API
- Inventory Android → REST API: uses API
- Inventory iOS → REST API: uses API
- Discord bot → REST API: uses API
- Lorenzo CLI → API client transport: uses transport
apps/cli/src/lorenzo_cli/main.py - Lorenzo CLI → Import planning: runs import
apps/cli/src/lorenzo_cli/main.py - Import planning → API client transport: calls API
apps/cli/src/lorenzo_cli/importer/apply.py - REST API → API configuration: loads settings
apps/api/src/lorenzo_api/main.py - REST API → API exceptions: uses exceptions
apps/api/src/lorenzo_api/main.py - REST API → Entity routes: registers routes
apps/api/src/lorenzo_api/main.py - REST API → Repository routes: registers routes
apps/api/src/lorenzo_api/main.py - REST API → Preview routes: registers routes
apps/api/src/lorenzo_api/main.py - REST API → Release fanout: starts sweeping
apps/api/src/lorenzo_api/main.py - REST API → PostgreSQL: persists source
- Preview routes → Preview rules: reads preview
apps/api/src/lorenzo_api/routers/repository_preview.py - Repository schemas → Profile schemas: imports types
apps/api/src/lorenzo_api/schemas/repositories.py