Directories
¶
| Path | Synopsis |
|---|---|
|
Package browser provides a safe entry point for opening URLs in the user's default browser or mail client.
|
Package browser provides a safe entry point for opening URLs in the user's default browser or mail client. |
|
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
|
|
|
changelog
Package changelog provides the changelog command for displaying version history from an embedded CHANGELOG.md.
|
Package changelog provides the changelog command for displaying version history from an embedded CHANGELOG.md. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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). |
|
telemetry
Package telemetry provides CLI commands for managing anonymous usage telemetry.
|
Package telemetry provides CLI commands for managing anonymous usage telemetry. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Package credentials describes how a user-supplied secret (VCS token, AI-provider API key, Bitbucket dual-credential blob) is persisted by the interactive setup wizard and resolved by the runtime config chain.
|
Package credentials describes how a user-supplied secret (VCS token, AI-provider API key, Bitbucket dual-credential blob) is persisted by the interactive setup wizard and resolved by the runtime config chain. |
|
credtest
Package credtest provides test-only credential backends so downstream tests can exercise keychain-mode behaviour without pulling in github.com/zalando/go-keyring.
|
Package credtest provides test-only credential backends so downstream tests can exercise keychain-mode behaviour without pulling in github.com/zalando/go-keyring. |
|
keychain
Package keychain is the optional OS-keychain backend for gitlab.com/phpboyscout/go-tool-base/pkg/credentials.
|
Package keychain is the optional OS-keychain backend for gitlab.com/phpboyscout/go-tool-base/pkg/credentials. |
|
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). |
|
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. |
|
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. |
|
Package gateway makes a grpc-gateway a first-class transport: it dials the local gRPC server (matching its transport security) and serves the generated REST handlers, either mounted on an existing HTTP server (New) or as its own controller-managed HTTP server on the "server.gateway" config block (Register).
|
Package gateway makes a grpc-gateway a first-class transport: it dials the local gRPC server (matching its transport security) and serves the generated REST handlers, either mounted on an existing HTTP server (New) or as its own controller-managed HTTP server on the "server.gateway" config block (Register). |
|
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. |
|
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. |
|
Package logger provides a unified logging interface for GTB applications.
|
Package logger provides a unified logging interface for GTB applications. |
|
Package openapi serves an OpenAPI specification and a Stoplight Elements docs site (interactive, with a "try it" console) from a single Register call.
|
Package openapi serves an OpenAPI specification and a Stoplight Elements docs site (interactive, with a "try it" console) from a single Register call. |
|
Package output provides structured output formatting, table rendering, and progress indicators for CLI commands.
|
Package output provides structured output formatting, table rendering, and progress indicators for CLI commands. |
|
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. |
|
Package redact strips credential-like content from free-form strings at the boundary between trusted and untrusted observability surfaces (telemetry vendors, log aggregators, metric stores).
|
Package redact strips credential-like content from free-form strings at the boundary between trusted and untrusted observability surfaces (telemetry vendors, log aggregators, metric stores). |
|
Package regexutil provides bounded, DoS-safe wrappers around regexp.Compile for every call path that takes a user- or config-supplied regex pattern.
|
Package regexutil provides bounded, DoS-safe wrappers around regexp.Compile for every call path that takes a user- or config-supplied regex pattern. |
|
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. |
|
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. |
|
bitbucket
Package bitbucket implements the interactive setup wizard for Bitbucket Cloud authentication.
|
Package bitbucket implements the interactive setup wizard for Bitbucket Cloud authentication. |
|
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. |
|
telemetry
Package telemetry registers the telemetry initialiser with the setup system.
|
Package telemetry registers the telemetry initialiser with the setup system. |
|
Package telemetry provides an opt-in telemetry framework with pluggable backends, privacy controls, bounded buffering, and GDPR-compliant data deletion for CLI tools built on GTB.
|
Package telemetry provides an opt-in telemetry framework with pluggable backends, privacy controls, bounded buffering, and GDPR-compliant data deletion for CLI tools built on GTB. |
|
datadog
Package datadog provides a telemetry backend that sends events to Datadog's HTTP Logs Intake API.
|
Package datadog provides a telemetry backend that sends events to Datadog's HTTP Logs Intake API. |
|
logs
Package logs builds an OpenTelemetry LoggerProvider that batches log records to an OTLP/HTTP collector, and an slog.Handler bridge so the GTB logger can emit OTel records as well as its human-readable stderr output.
|
Package logs builds an OpenTelemetry LoggerProvider that batches log records to an OTLP/HTTP collector, and an slog.Handler bridge so the GTB logger can emit OTel records as well as its human-readable stderr output. |
|
metrics
Package metrics builds an OpenTelemetry MeterProvider that pushes metrics to an OTLP/HTTP collector on a periodic interval, configured from a resolved otelcore.Settings.
|
Package metrics builds an OpenTelemetry MeterProvider that pushes metrics to an OTLP/HTTP collector on a periodic interval, configured from a resolved otelcore.Settings. |
|
otelcore
Package otelcore holds the OTLP/OTel export plumbing shared by GTB's analytics pipeline and its web-service observability signals: OTLP/HTTP endpoint parsing, the service resource, and telemetry.* configuration resolution.
|
Package otelcore holds the OTLP/OTel export plumbing shared by GTB's analytics pipeline and its web-service observability signals: OTLP/HTTP endpoint parsing, the service resource, and telemetry.* configuration resolution. |
|
posthog
Package posthog provides a telemetry backend that sends events to PostHog's Capture API using the batch endpoint.
|
Package posthog provides a telemetry backend that sends events to PostHog's Capture API using the batch endpoint. |
|
tracing
Package tracing builds an OpenTelemetry TracerProvider that batches spans to an OTLP/HTTP collector, configured from a resolved otelcore.Settings.
|
Package tracing builds an OpenTelemetry TracerProvider that batches spans to an OTLP/HTTP collector, configured from a resolved otelcore.Settings. |
|
Package tls holds the shared TLS plumbing used across every transport in the framework (HTTP, gRPC and the gateway): the hardened default config, the typed TLSPair config shape with shared/per-transport resolution, and the client-side cert-pool helpers.
|
Package tls holds the shared TLS plumbing used across every transport in the framework (HTTP, gRPC and the gateway): the hardened default config, the typed TLSPair config shape with shared/per-transport resolution, and the client-side cert-pool helpers. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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). |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Package workspace provides project root detection by walking up from a starting directory to find marker files (.gtb/manifest.yaml, go.mod, .git).
|
Package workspace provides project root detection by walking up from a starting directory to find marker files (.gtb/manifest.yaml, go.mod, .git). |
Click to show internal directories.
Click to hide internal directories.