go-app
A small Go application-lifecycle manager with explicit startup, readiness, shutdown, and app-scoped dependencies.
Applications have lifecycle semantics whether or not their framework names them. Resources must start in a deliberate order, become ready before dependents use them, and stop in reverse order when cancellation begins or startup fails halfway through.
go-app is one implementation of that model. It keeps orchestration visible at the call site instead of solving a dependency graph or hiding construction behind reflection.
The current stable release supports sequential and concurrent startup, provider-owned readiness, startup rollback, reverse-order shutdown, runtime cancellation, short-lived commands, and a typed registry used during assembly.