Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
docs
command
|
|
|
e2e
command
Package main provides a test-only CLI binary for E2E/BDD testing.
|
Package main provides a test-only CLI binary for E2E/BDD testing. |
|
gtb
command
|
|
|
internal
|
|
|
agent
Package agent provides tool definitions for the autonomous agentic verification loop used during code generation.
|
Package agent provides tool definitions for the autonomous agentic verification loop used during code generation. |
|
cmd/generate
Package generate provides Cobra commands for scaffolding new CLI projects (project/skeleton), adding commands to existing projects, converting implementations to AI-generated code, and adding flags to commands β all driven by manifest definitions and interactive wizards.
|
Package generate provides Cobra commands for scaffolding new CLI projects (project/skeleton), adding commands to existing projects, converting implementations to AI-generated code, and adding flags to commands β all driven by manifest definitions and interactive wizards. |
|
cmd/regenerate
Package regenerate provides Cobra commands for regenerating project command registration files (cmd.go) and manifests from existing project structure, without overwriting implementation files unless explicitly forced.
|
Package regenerate provides Cobra commands for regenerating project command registration files (cmd.go) and manifests from existing project structure, without overwriting implementation files unless explicitly forced. |
|
cmd/remove
Package remove provides the Cobra command for removing commands and their associated generated files from a project, updating the manifest accordingly.
|
Package remove provides the Cobra command for removing commands and their associated generated files from a project, updating the manifest accordingly. |
|
cmd/root
Package root provides the internal root command for the gtb CLI itself, registering the generate, regenerate, and remove subcommand groups.
|
Package root provides the internal root command for the gtb CLI itself, registering the generate, regenerate, and remove subcommand groups. |
|
generator
Package generator implements the code generation engine that powers project scaffolding, command generation, and regeneration from manifest definitions.
|
Package generator implements the code generation engine that powers project scaffolding, command generation, and regeneration from manifest definitions. |
|
generator/templates
Package templates provides Go template definitions and data structures used by the generator to produce CLI command scaffolding, registration code (cmd.go), and implementation stubs (main.go).
|
Package templates provides Go template definitions and data structures used by the generator to produce CLI command scaffolding, registration code (cmd.go), and implementation stubs (main.go). |
|
generator/verifier
Package verifier provides post-generation verification strategies that validate generated projects compile and pass tests.
|
Package verifier provides post-generation verification strategies that validate generated projects compile and pass tests. |
|
testutil
Package testutil provides shared test helpers for the go-tool-base module.
|
Package testutil provides shared test helpers for the go-tool-base module. |
|
version
Package version holds the build-time version variable injected via ldflags for the gtb binary.
|
Package version holds the build-time version variable injected via ldflags for the gtb binary. |
|
mocks
|
|
|
pkg
|
|
|
chat
Package chat provides a unified multi-provider AI chat client supporting Claude, OpenAI, Gemini, Claude Local (via CLI binary), and OpenAI-compatible endpoints.
|
Package chat provides a unified multi-provider AI chat client supporting Claude, OpenAI, Gemini, Claude Local (via CLI binary), and OpenAI-compatible endpoints. |
|
cmd/config
Package config implements the "config" CLI command and its subcommands for programmatic read/write access to individual configuration keys.
|
Package config implements the "config" CLI command and its subcommands for programmatic read/write access to individual configuration keys. |
|
cmd/docs
Package docs provides the Cobra command for launching the interactive documentation browser, with optional AI-powered content enhancement during generation.
|
Package docs provides the Cobra command for launching the interactive documentation browser, with optional AI-powered content enhancement during generation. |
|
cmd/doctor
Package doctor provides a diagnostic command that validates configuration, checks environment health, and reports runtime details.
|
Package doctor provides a diagnostic command that validates configuration, checks environment health, and reports runtime details. |
|
cmd/initialise
Package initialise provides the Cobra command for bootstrapping a new tool's configuration directory and default config file, running registered setup.Initialiser hooks in sequence.
|
Package initialise provides the Cobra command for bootstrapping a new tool's configuration directory and default config file, running registered setup.Initialiser hooks in sequence. |
|
cmd/root
Package root provides the reusable root Cobra command constructor that wires configuration loading, logging setup, update checks, and feature-flagged subcommand registration (version, update, init, docs, MCP).
|
Package root provides the reusable root Cobra command constructor that wires configuration loading, logging setup, update checks, and feature-flagged subcommand registration (version, update, init, docs, MCP). |
|
cmd/update
Package update provides the Cobra command for self-updating the CLI binary to the latest released version from the configured release source (GitHub or GitLab), with support for private repositories via token authentication.
|
Package update provides the Cobra command for self-updating the CLI binary to the latest released version from the configured release source (GitHub or GitLab), with support for private repositories via token authentication. |
|
cmd/version
Package version provides the Cobra command for displaying the CLI's current version, build date, and commit information.
|
Package version provides the Cobra command for displaying the CLI's current version, build date, and commit information. |
|
config
Package config provides configuration loading, merging, and access via the Containable interface backed by Viper.
|
Package config provides configuration loading, merging, and access via the Containable interface backed by Viper. |
|
controls
Package controls provides a lifecycle controller for managing concurrent, long-running services such as HTTP servers, background workers, and schedulers.
|
Package controls provides a lifecycle controller for managing concurrent, long-running services such as HTTP servers, background workers, and schedulers. |
|
docs
Package docs provides a documentation system with two subsystems: a generation engine that parses Cobra command trees into Markdown files with hierarchy-aware index management, and a TUI browser built on Bubbles with split-pane navigation, async search, and AI-powered Q&A via retrieval-augmented generation (RAG).
|
Package docs provides a documentation system with two subsystems: a generation engine that parses Cobra command trees into Markdown files with hierarchy-aware index management, and a TUI browser built on Bubbles with split-pane navigation, async search, and AI-powered Q&A via retrieval-augmented generation (RAG). |
|
errorhandling
Package errorhandling provides structured, user-friendly error reporting for CLI tools built with GTB.
|
Package errorhandling provides structured, user-friendly error reporting for CLI tools built with GTB. |
|
forms
Package forms provides multi-stage interactive form wizards built on top of the huh library, supporting forward/back navigation, dynamic stage construction, and navigable form groups for CLI project configuration workflows.
|
Package forms provides multi-stage interactive form wizards built on top of the huh library, supporting forward/back navigation, dynamic stage construction, and navigable form groups for CLI project configuration workflows. |
|
grpc
Package grpc provides a gRPC transport for the controls lifecycle controller, enabling remote service management and health checking over gRPC.
|
Package grpc provides a gRPC transport for the controls lifecycle controller, enabling remote service management and health checking over gRPC. |
|
http
Package http provides an HTTP transport for the controls lifecycle controller, exposing health, readiness, and management endpoints for use with container orchestrators and load balancers.
|
Package http provides an HTTP transport for the controls lifecycle controller, exposing health, readiness, and management endpoints for use with container orchestrators and load balancers. |
|
logger
Package logger provides a unified logging interface for GTB applications.
|
Package logger provides a unified logging interface for GTB applications. |
|
output
Package output provides structured output formatting for CLI commands.
|
Package output provides structured output formatting for CLI commands. |
|
props
Package props defines the Props dependency container, the central type-safe dependency injection mechanism used throughout GTB.
|
Package props defines the Props dependency container, the central type-safe dependency injection mechanism used throughout GTB. |
|
setup
Package setup provides initialisation helpers for GTB-based tools, including configuration directory bootstrapping, default config file creation, and self-update orchestration.
|
Package setup provides initialisation helpers for GTB-based tools, including configuration directory bootstrapping, default config file creation, and self-update orchestration. |
|
setup/ai
Package ai provides factory functions that construct chat.ChatClient instances from Props configuration, resolving the configured provider (Claude, OpenAI, Gemini) and wiring API keys, model selection, and token limits for use in documentation generation and agentic verification loops.
|
Package ai provides factory functions that construct chat.ChatClient instances from Props configuration, resolving the configured provider (Claude, OpenAI, Gemini) and wiring API keys, model selection, and token limits for use in documentation generation and agentic verification loops. |
|
setup/github
Package github provides GitHub-specific setup helpers including token resolution from configuration and environment, and authenticated HTTP client construction for use with the GitHub API.
|
Package github provides GitHub-specific setup helpers including token resolution from configuration and environment, and authenticated HTTP client construction for use with the GitHub API. |
|
utils
Package utils provides small shared utility functions including terminal interactivity detection and string manipulation helpers used across the GTB framework.
|
Package utils provides small shared utility functions including terminal interactivity detection and string manipulation helpers used across the GTB framework. |
|
vcs
Package vcs defines the version control system abstraction layer for querying releases and repository metadata across GitHub and GitLab backends.
|
Package vcs defines the version control system abstraction layer for querying releases and repository metadata across GitHub and GitLab backends. |
|
vcs/bitbucket
Package bitbucket provides a release.Provider implementation for Bitbucket Cloud using the Downloads API.
|
Package bitbucket provides a release.Provider implementation for Bitbucket Cloud using the Downloads API. |
|
vcs/direct
Package direct provides a release.Provider implementation for tools distributed via arbitrary HTTP servers.
|
Package direct provides a release.Provider implementation for tools distributed via arbitrary HTTP servers. |
|
vcs/gitea
Package gitea provides a release.Provider implementation for Gitea and Forgejo instances, including Codeberg (codeberg.org).
|
Package gitea provides a release.Provider implementation for Gitea and Forgejo instances, including Codeberg (codeberg.org). |
|
vcs/github
Package github implements the VCS release provider and API client for GitHub repositories, supporting both public and token-authenticated access.
|
Package github implements the VCS release provider and API client for GitHub repositories, supporting both public and token-authenticated access. |
|
vcs/gitlab
Package gitlab implements the VCS release provider for GitLab repositories, supporting both public and token-authenticated access with nested group paths.
|
Package gitlab implements the VCS release provider for GitLab repositories, supporting both public and token-authenticated access with nested group paths. |
|
vcs/release
Package release provides the shared release model (Release, ReleaseAsset) and a Provider factory that resolves the correct VCS backend (GitHub or GitLab) from tool configuration for use by the self-update system.
|
Package release provides the shared release model (Release, ReleaseAsset) and a Provider factory that resolves the correct VCS backend (GitHub or GitLab) from tool configuration for use by the self-update system. |
|
vcs/repo
Package repo provides repository URL parsing and metadata extraction, converting host/owner/repo paths into a RepoLike abstraction that supports both GitHub (org/repo) and GitLab (group/subgroup/repo) path formats.
|
Package repo provides repository URL parsing and metadata extraction, converting host/owner/repo paths into a RepoLike abstraction that supports both GitHub (org/repo) and GitLab (group/subgroup/repo) path formats. |
|
version
Package version provides semantic version parsing, comparison, and development-build detection via the Version interface.
|
Package version provides semantic version parsing, comparison, and development-build detection via the Version interface. |
|
test
|
|
|
e2e/support
Package support provides shared test harness helpers for E2E/BDD tests.
|
Package support provides shared test harness helpers for E2E/BDD tests. |
Click to show internal directories.
Click to hide internal directories.