# apps/

## Purpose

Entry-point applications that compose core modules into runnable processes. Each app wires infrastructure and core together; no business logic lives here.

## Ownership

All apps in this subtree. Dependency rule: `apps → core → infrastructure`. Apps may not import sibling app modules.

## Local Contracts

- Apps depend on `core:*` and `infrastructure:*` only — never on each other.
- Configuration loading, process lifecycle, and entrypoint wiring live here.
- No domain logic in apps; delegate to core services.

## Work Guidance

Follow the Kotlin rules and anti-patterns in the root CLAUDE.md for all JVM apps. `apps/tui-go` is a separate Go module — see its own AGENTS.md.

## Verification

Each app has its own verification command. See child AGENTS.md.

## Child DOX Index

- `apps/cli` — Clikt CLI; sends commands to `apps/server` over HTTP + WebSocket
- `apps/desktop` — stub module, not yet implemented
- `apps/server` — Ktor HTTP API + WebSocket server; orchestrates core kernel
- `apps/tui-go` — Go/Bubble Tea terminal UI; WebSocket client of `apps/server`
- `apps/worker` — stub module, not yet implemented
