Skip to content

goboot v0.1.0

Choose a tag to compare

@zombocoder zombocoder released this 11 Jul 20:28
· 49 commits to main since this release

First public release of goboot — an annotation-driven, compile-time application framework for Go. You annotate ordinary Go types/methods (// @Service, // @RestController, // @GetMapping, // @Query, …); the goboot CLI reads them, builds a typed model + dependency graph, validates it, and generates plain, readable Go. No runtime reflection for DI, no classpath scanning.

Highlights

  • DI & HTTP: constructor-injected components, controllers with all HTTP verbs, request binding/validation, RFC-7807 Problem errors, @ExceptionHandler advice, content negotiation.
  • Repositories: @Query/@Exec/@Batch/@Call generated over a driver-neutral DB seam; dialects for postgres, mysql, sqlserver, question.
  • Interception (service proxies): @Transactional, @Traced, @Timed, @Logged, @Audit, @Retry, @Timeout, @CircuitBreaker, @RateLimit, @Bulkhead, @Authorize.
  • Config, lifecycle, scheduling: @ConfigurationProperties, @PostConstruct/@PreDestroy, @Scheduled, @Profile/conditionals.
  • Plugins (compile-time, self-bootstrapping from goboot.yaml): plugins/oracle (dialect), plugins/openapi (OpenAPI 3 generator), plugins/lint (REST linter). Plugins can drive generation from their own annotations.
  • Adapters (separate modules): adapters/pgx (PostgreSQL), adapters/otel (tracing), adapters/prometheus (metrics).
  • Tooling: a VS Code extension (editors/vscode) that highlights annotations.

Install

go get github.com/zombocoder/goboot@v0.1.0
go install github.com/zombocoder/goboot/cmd/goboot@v0.1.0

Adapters/plugins are versioned per-submodule, e.g. go get github.com/zombocoder/goboot/adapters/pgx@v0.1.0.

Requires Go 1.25.