Docs Guides

Guides

The Guides section focuses on practical application.

While Concepts explain how Plumego works
and Architecture explains how systems should be structured,

Guides answer a different question:

“How do I solve real problems with Plumego without breaking its principles?”

This section bridges theory and production.


What This Section Is About

The guides in this section demonstrate how to:

  • Add production-critical capabilities
  • Integrate external libraries safely
  • Solve common backend problems
  • Keep concerns explicit and replaceable

All examples follow Plumego’s core values:

  • No hidden magic
  • No global state
  • No framework lock-in
  • Clear responsibility boundaries

What This Section Is Not

Guides are not:

  • API references
  • Framework internals
  • Feature showcases
  • One-size-fits-all recipes

Every guide makes tradeoffs explicit
and leaves final decisions to the reader.


How These Guides Are Structured

Each guide typically includes:

  • Problem definition
    What real-world issue is being addressed.

  • Design intent
    Why the solution is structured this way.

  • Conceptual examples
    Illustrative code focusing on structure, not copy-paste completeness.

  • Boundary considerations
    Where logic should live and where it should not.

  • Common mistakes
    Pitfalls to avoid when applying the approach.

This structure is intentional.


If you are preparing a Plumego service for production,
the following order is recommended:

  1. Logging and Trace ID
    Observability is the foundation of operability.

  2. Panic Recovery
    Prevent unexpected crashes from taking down your service.

  3. Authentication and JWT
    Control access without polluting core logic.

  4. Graceful Shutdown
    Ensure safe deploys and restarts.

  5. Webhook Server
    Handle inbound external events correctly.

  6. WebSocket
    Support long-lived connections explicitly.

You do not need all guides at once.
Apply them as requirements emerge.


Design Philosophy of the Guides

The Guides intentionally:

  • Avoid prescribing specific libraries
  • Show patterns rather than “best answers”
  • Emphasize explicit wiring
  • Respect architectural boundaries

If a guide feels slightly more verbose than expected,
it is because clarity was chosen over brevity.


When to Stop Reading Guides

If you find yourself:

  • Copying guides without understanding them
  • Adding features you do not yet need
  • Introducing complexity prematurely

It is time to stop and reassess.

Plumego works best when capabilities are added deliberately.


Summary

The Guides section exists to help you:

  • Move from theory to practice
  • Add production features safely
  • Preserve Plumego’s core principles under real-world pressure

Read guides when you have a problem to solve —
not just because they exist.


Next

If you are starting production hardening, begin with:

Logging and Trace ID

If you are interested in reusable structural advice:

Patterns

Both build directly on the foundation you already understand.

In this section

  • Logging and Trace ID
    How to implement structured logging and request-scoped Trace IDs in Plumego for observability and debugging.
  • Panic Recovery
    How to safely recover from panics in Plumego using explicit middleware, without hiding bugs or corrupting request flow.
  • Authentication and JWT
    How to implement JWT-based authentication in Plumego using explicit middleware while preserving architectural boundaries.
  • Request Validation
    How to validate incoming requests in Plumego without breaking architectural boundaries or duplicating business rules.
  • Webhook Server
    How to build a secure and reliable webhook receiver in Plumego with signature verification, idempotency, and explicit failure handling.
  • WebSocket
    How to build explicit, reliable WebSocket connections in Plumego with clear lifecycle control and safe concurrency.
  • Graceful Shutdown
    How to implement graceful shutdown in Plumego to ensure in-flight requests complete safely during deploys and restarts.