Skip to content

Developers

Implemented

Everything a developer needs to make a meaningful contribution to GPUaaS without re-reading 250+ source docs.

Pages

Page What it covers
Quick start Clone → infra up → API hot-reload, in 5 commands
Repository layout Where every binary/package/contract/doc lives
Coding patterns The handler/service/db pattern + the mandatory rules
Testing patterns Pyramid, table-driven, integration with real infra
Contract workflow Edit OpenAPI/AsyncAPI first; code generation; codegen smoke
CI gates What each scripts/ci/*.sh enforces

Reading order for a new developer

flowchart LR
    A[1. Quick start<br/>get it running] --> B[2. Repo layout<br/>where things are]
    B --> C[3. Coding patterns<br/>how to write a feature]
    C --> D[4. Contract workflow<br/>start with OpenAPI]
    D --> E[5. Testing patterns<br/>unit + integration]
    E --> F[6. CI gates<br/>what blocks your PR]

Two non-negotiable rules

  1. Contract-first. Every API or event change starts in doc/api/openapi.draft.yaml or doc/api/asyncapi.draft.yaml. Code follows the spec, never the reverse.
  2. Outbox-only for events. Domain change + outbox row in one DB transaction. Never publish to NATS directly from a handler.

If your PR violates either, CI will block it.

What the codebase values

mindmap
  root((Values))
    Predictability
      Contract-first
      Idempotent mutations
      Outbox pattern
      Per-service tables
    Auditability
      Immutable ledger
      Immutable audit logs
      Correlation IDs everywhere
      Sanitize-first
    Operability
      Typed node-agent tasks
      Phase-timed task output
      Runbook per failure mode
      Observability-required
    Discipline
      Evidence-first execution
      Root-cause-first remediation
      No hardcoded business constants
      No symptom-only fixes