What problem does it solve?
It prevents error-prone, context-breaking Go service edits by turning a task into a production-shaped change that keeps responsibilities clear, propagates cancellation correctly, and enforces rollback discipline with verification evidence.
Core Features & Use Cases
- Context-safe service and repository delivery: Ensures every exported blocking method accepts
ctx context.Context and passes it through to DB/HTTP/cache/queues and goroutine supervisors.
- Typed error semantics with boundary mapping: Uses sentinel/typed errors, wraps with
%w, maps once at the boundary, and tests errors.Is/errors.As instead of string matching.
- Concurrency, shutdown, observability, and rollback guardrails: Captures goroutine lifetime contracts, adds cancellation/signal drain evidence when shutdown changes, preserves/extends logging or metrics via existing paths, and documents reversible migration/rollback paths.
- Table-driven verification: Drives focused, scenario-based tests for success, validation failures, typed error mapping, cancellation/timeouts, idempotency/duplicates, and persistence failures, then runs scoped Go commands and a race check where appropriate.
Quick Start
Ask your AI to apply go-service-delivery to your Go HTTP/worker task by first reading the project’s source of truth, then proposing the smallest owned slice with typed errors, context propagation, table-driven tests, and an explicit rollback plan.