Contributor's Glossary¶
Terms and concepts central to the GTB framework.
| Term | Definition |
|---|---|
| Generator-First | The philosophy that the CLI structure, flags, and documentation are defined in manifest.yaml, and code is generated from this source of truth. |
| Manifest | The manifest.yaml file (or programmatic equivalent) that describes a CLI's structure. |
| Props | The "Properties" object used for dependency injection throughout the framework. |
| Container | The component in pkg/config that manages the lifecycle and merging of configuration from different sources. |
| Controls | The service lifecycle management system in pkg/controls. |
| Autonomous Repair Agent | An AI component that can automatically fix generated code or documentation if it fails validation. |
| Skeleton | A pre-defined project template used by the generate skeleton command to scaffold new projects. |
| TUI | Text User Interface. Refers to the interactive terminal interfaces (like the docs browser) built with Charm libraries. |
| CommandPipeline | The ordered five-step post-generation pipeline (pipeline.go) that runs after every cmd.go is written: copy assets โ register in parent โ re-register children โ persist manifest โ generate docs. Controlled by PipelineOptions. |
| PipelineOptions | A struct passed to newCommandPipeline that gates individual pipeline steps via SkipAssets, SkipRegistration, and SkipDocumentation booleans. |
| ManifestCommandUpdate | A struct (manifest_update.go) used as the single parameter to updateCommandRecursive. Replaces the previous 14-parameter function signature and makes manifest mutation call sites self-documenting. |
| CommandContext | A value type (context.go) that captures the fully-resolved name, parent path, and import path for a command. Created by buildCommandContext; used by reRegisterChildCommands to construct child generators with the correct package identity. |
| buildSkeletonRootData | A pure mapping function (regenerate.go) that converts a Manifest into a SkeletonRootData, including all ManifestHelp fields. It is the single source of truth for root cmd.go rendering during both initial skeleton generation and project regeneration. |
| reRegisterChildCommands | Pipeline step 3 (pipeline.go). After a parent cmd.go is overwritten, this step reads the manifest to find existing child commands and re-injects their AddCommand calls, preserving child registrations across regeneration. |