Skip to content

Explanation

Understanding-oriented material: why the framework is shaped the way it is, what each decision buys, and what it costs.

Nothing here is a set of steps. For those, see the how-to guides; for lookups, the reference.

Concepts: how the framework thinks

Concepts covers the patterns that recur across every part of GTB, rather than any one package.

Components: how each piece is wired

Components describes the libraries a GTB tool is built from — both the packages in this repository and the standalone go/… modules the framework consumes.

The distinction matters when you go looking for API detail. A pkg/… package is versioned with GTB and covered by its API stability policy. A go/… module has its own repository, release cadence and documentation site; the page here explains how GTB wires it, and links out for the API itself.

Frequently read:

  • Props — the dependency-injection container every command receives.
  • Config — the layered store, the project-local layer, and the trust gate on its security keys.
  • Credentials — the env / keychain / literal resolution chain.
  • Setup — features, initialisers and middleware.
  • Update — self-update, and the signature and checksum verification around it.
  • Errors — the sentinel error catalogue, which is lint-enforced against the source.

What explanation pages are not

They are not a substitute for the reference. If you want the exact default of a key, the reference has it and this section deliberately does not repeat it — duplicated defaults drift.

They are also not design records. A specification captures a decision at a point in time; these pages describe how the software behaves now. Where the two disagree, the code wins and the page is wrong.