runnable
One canonical runnable example
reference/standard-service is the example Plumego expects users to run first and compare against when creating a new service.
Practical Paths
The example paths Plumego can stand behind today, from the canonical runnable service to guided boundary-reading examples.
Clone and run the reference service before opening guides or recipes. Every example in this page assumes you have already run this path.
cd plumego/reference/standard-service && go run . The examples path has one runnable baseline and five guided recipe tracks. Start from reference/standard-service to see the default service shape, then pick a recipe to answer one concrete question — request flow, module fit, maturity check, or repository shape — before branching further.
runnable
reference/standard-service is the example Plumego expects users to run first and compare against when creating a new service.
guided
Request flow, module boundaries, and release posture are examples of how to navigate the repository rather than extra mini-apps.
honest scope
This page is intentionally narrower than a framework showcase. It favors examples that reinforce the canonical path instead of distracting from it.
Plumego examples are intentionally layered. There is one canonical runnable service, and there are guided recipes that explain how to read the repository around it without pretending every problem needs a separate demo app.
canonical example
The primary example is the service you can clone, run, compare against your own repository, and keep returning to while adoption decisions are still forming.
guided recipes
These are not parallel mini-products. They are reusable reading patterns for request flow, ownership, maturity signals, and repository shape.
If you want one example to clone, run, and compare against your own service, use the reference app first.
canonical
The default app layout for bootstrap, route wiring, and transport-only handlers.
Recipes are smaller than the canonical example and more specific than a docs overview. Each one answers a concrete question quickly, then returns you to the default path with better classification.
The right reading order starts with one runnable baseline, branches into one focused question, and then returns to docs and module maturity once the repository boundary is clear.
01
Start with reference/standard-service so the bootstrap model, route ownership, and handler shape all have one default baseline.
Start with the runnable path02
Pick a recipe only after you know what you are trying to inspect: request flow, module fit, module maturity, or repository shape.
Open a focused recipe03
Recipes point back into docs so the canonical path stays central and the site does not turn examples into a disconnected showcase.
Continue in docs04
Once you understand the default path, use the status page to confirm module maturity and v1 readiness before widening adoption scope.
Check project statusThese examples are not separate runnable apps. They are release-grade walkthroughs that teach the repository's intended reading path and ownership rules.
request path
Use the request-flow page when you need to trace where HTTP work begins and where transport responsibility should end.
Open request flowmodule fit
Use modules overview, stable roots, and x/* family pages to decide whether work belongs in the stable surface or an extension family.
Open modules overviewmaturity
Use release posture and the public releases page to keep compatibility assumptions explicit.
Open release postureThese reference apps demonstrate capability-specific service shapes. Each one extends reference/standard-service by adding one x/* family. Read the canonical reference app first, then open one of these when you are ready to evaluate a specific capability.
ai service
Multi-provider AI with streaming responses and tool routing. Adds x/ai to the stable HTTP kernel without altering the canonical route shape.
x/ai — Experimental
multi-tenant saas
Per-tenant routing, quota enforcement, and JWT-backed policy evaluation. Adds x/tenant outside the HTTP kernel so stable roots stay compatible when tenant logic evolves.
x/tenant — Beta
Each app adds one x/* family to the standard-service baseline. Read the canonical reference app first, then open the one that matches your capability.
reference/with-tenant-admin x/tenant Multi-tenant admin plane: lifecycle, quota admin, and usage recording Beta reference/with-events x/messaging In-process pubsub, idempotent consumption, delayed retry, and webhook delivery Experimental reference/with-rpc x/rpc gRPC server with HTTP gateway mount via x/rpc/server and x/rpc/gateway Experimental reference/with-webhook x/messaging/webhook Webhook receiver with signature verification Experimental reference/with-observability x/observability Prometheus metrics and OpenTelemetry distributed tracing Beta reference/with-frontend x/frontend Static and embedded SPA serving with cache headers, SPA fallback, and API co-location Beta reference/production-service stable roots Production-hardened variant with full lifecycle, TLS, and tests Supported reference reference/workerfleet is a full-depth production reference app — distributed worker fleet management with domain models, MongoDB-backed stores, Kubernetes pod discovery, Prometheus metrics with custom collectors, alert engine with deduplication and threshold evaluation, and Feishu/webhook notifications. Use it to evaluate Plumego's capability depth beyond tutorial services.
Production reference — full-depth example
Once the default path makes sense, verify which surfaces are stable enough to adopt before widening scope.