Course business + PostgreSQL
The Hub owns registration, login, learners, course collections, outlines, revisions, and account isolation.
- Persistent business records
- Each user sees only their own work
- A real domain model you can replace
Agent Builders · runnable reference
Hub Starter is an Apache-2.0 course-business reference: accounts, private PostgreSQL data, per-user Agent work, selectable AI inference, and Kungfu work control in one locally bound Docker Compose application.
Alpha boundaryThis is a runnable reference for exploration—not a production SaaS, public-ingress, billing, or high-availability claim.
Hub Starter · Docker Compose
docker compose -f oci://ghcr.io/kungfu-systems/runtime-images/hub-starter:compose-preview up --wait
Choose another Web port without exposing the database:
HUB_PORT=9090 docker compose -f oci://ghcr.io/kungfu-systems/runtime-images/hub-starter:compose-preview up --wait
Run the same Compose application with --pull always. Keep the same HUB_PORT, HUB_PUBLIC_ORIGIN, and COMPOSE_PROJECT_NAME values you used at first start.
docker compose -f oci://ghcr.io/kungfu-systems/runtime-images/hub-starter:compose-preview up --pull always --wait
Keep local data: do not run docker compose down -v. To pin or roll back, use an immutable compose-v<VERSION> coordinate from the release list.
What this means for a Builder
You can replace each layer deliberately. The reference makes their boundaries visible instead of hiding everything behind one “AI app” label.
The Hub owns registration, login, learners, course collections, outlines, revisions, and account isolation.
Mock is ready immediately. A local model is downloaded only after the user chooses it; external OpenAI-compatible inference can be configured separately.
Kungfu does not generate the course and does not own the customer. It preserves the work truth around Agent actions so another actor can inspect and continue it.
Where the Agent appears
In the course reference, the Agent is not a magic button. It performs a visible sequence, while the application retains the resulting business record and Kungfu retains the work-control facts.
Learner, outcome, constraints, and source expertise enter as business input.
AI-produced promises, modules, exercises, and unresolved questions are visibly labelled.
Draft, critique, revision, and approval appear as staged actors and observable actions.
The course joins your collection; PostgreSQL owns the record and Kungfu exposes its work truth.
Claim boundary