HTTP model
Stay on the standard library
Plumego keeps the net/http model intact so handlers, middleware, and tests remain familiar.
Standard Library First
Plumego is a stdlib-first toolkit for building explicit HTTP services in Go. Routing, middleware, transport contracts, and application wiring stay visible in code instead of being hidden behind framework conventions.
core, router, contract, and the rest of the long-lived API stay narrow on purpose.
x/* keeps fast-moving features out of the kernel and out of the default learning path.
Each section below describes a deliberate repository choice: keep the HTTP model familiar, keep boundaries visible, and keep control-plane intent inspectable.
HTTP model
Plumego keeps the net/http model intact so handlers, middleware, and tests remain familiar.
Ownership
Stable roots own narrow responsibilities. Fast-moving capabilities live under x/* instead of leaking into the kernel.
Workflow
Docs, specs, manifests, and task cards make ownership easier to classify for both humans and coding agents.
The public surface stays small on purpose. Stable roots define the long-lived API, while x/* families carry optional or faster-evolving features.
Long-lived public packages with explicit responsibilities.
Optional or faster-moving families that should not redefine the core path.
Default routing rule: kernel and transport changes stay in stable roots; capability work starts in the owning x/* family.
Begin with reference/standard-service. It shows the directory shape, bootstrap flow, and route wiring Plumego treats as the canonical application layout.
Read the Reference App Guidebootstrap
Confirm where the application starts and how the server is assembled.
wiring
Inspect the app-local constructor and keep dependencies explicit.
routes
Check route registration before touching handlers or deeper modules.
reference/standard-service/
main.go
internal/app/app.go
internal/app/routes.go
internal/handler/health.go Plumego keeps prose, machine-readable rules, and execution cards separate so repository changes can stay inside explicit boundaries.
Explain intent, architecture, and the canonical path.
Carry machine-readable ownership, routing, and dependency rules.
Define execution cards and milestone sequencing for change work.
The shortest path into Plumego is to follow the documented reference flow first and only expand outward when the ownership boundary is clear.