Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cli
module
|
|
|
cmd
|
|
|
changelog
command
|
|
|
docs
command
|
|
|
framework-footprint-smoke
command
Command framework-footprint-smoke is a compile-time fixture: a tool built on the framework that imports pkg/cmd/root and nothing else.
|
Command framework-footprint-smoke is a compile-time fixture: a tool built on the framework that imports pkg/cmd/root and nothing else. |
|
releasemanifest
command
Command releasemanifest writes the static release channel's two documents (spec 0203 D2, D3, D5) from what goreleaser has produced by the time its before_publish hooks run: dist/metadata.json for the tag and date, dist/checksums.txt for the archives and their digests, and the archives themselves for their size and, from the binary's build info, their platform.
|
Command releasemanifest writes the static release channel's two documents (spec 0203 D2, D3, D5) from what goreleaser has produced by the time its before_publish hooks run: dist/metadata.json for the tag and date, dist/checksums.txt for the archives and their digests, and the archives themselves for their size and, from the binary's build info, their platform. |
|
internal
|
|
|
exectest
Package exectest provides reusable fakes for the process-execution seams (exec.LookPath, exec.CommandContext, os.Executable) that GTB code injects for testability.
|
Package exectest provides reusable fakes for the process-execution seams (exec.LookPath, exec.CommandContext, os.Executable) that GTB code injects for testability. |
|
formpage
Package formpage runs a wizard's pages so that accessible mode asks what the TUI shows.
|
Package formpage runs a wizard's pages so that accessible mode asks what the TUI shows. |
|
formtest
Package formtest drives real huh forms in tests with no TTY and no production seam (spec 0198 D3).
|
Package formtest drives real huh forms in tests with no TTY and no production seam (spec 0198 D3). |
|
pkgmanager
Package pkgmanager tells whether a binary was installed by a package manager, so a self-updater can defer to that manager rather than replace a file it tracks (gtb#129).
|
Package pkgmanager tells whether a binary was installed by a package manager, so a self-updater can defer to that manager rather than replace a file it tracks (gtb#129). |
|
repopolicy
Package repopolicy holds tests over the repository's own policy files (.coverage-policy.yaml, .golangci.yaml) so an entry that names a path which no longer exists fails the suite instead of silently excluding nothing.
|
Package repopolicy holds tests over the repository's own policy files (.coverage-policy.yaml, .golangci.yaml) so an entry that names a path which no longer exists fails the suite instead of silently excluding nothing. |
|
sshagenttest
Package sshagenttest serves an in-memory ssh-agent for tests, and pins SSH_AUTH_SOCK so a developer's own agent cannot change a result.
|
Package sshagenttest serves an in-memory ssh-agent for tests, and pins SSH_AUTH_SOCK so a developer's own agent cannot change a result. |
|
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. |
|
transportcfg
Package transportcfg holds config-resolution helpers shared by the pkg/grpc and pkg/http server adapters: config-selection options, their splitting from the transport's own option families, and the resilience subsections.
|
Package transportcfg holds config-resolution helpers shared by the pkg/grpc and pkg/http server adapters: config-selection options, their splitting from the transport's own option families, and the resilience subsections. |
|
mocks
|
|
|
pkg
|
|
|
chat
Package chat is go-tool-base's framework-integration layer over the standalone multi-provider chat client gitlab.com/phpboyscout/go/chat.
|
Package chat is go-tool-base's framework-integration layer over the standalone multi-provider chat client gitlab.com/phpboyscout/go/chat. |
|
cmd/changelog
Package changelog provides the `changelog` command for displaying version history from an embedded CHANGELOG.md, with optional version and since-tag filtering.
|
Package changelog provides the `changelog` command for displaying version history from an embedded CHANGELOG.md, with optional version and since-tag filtering. |
|
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 `docs` command for browsing this tool's embedded documentation in a terminal (an interactive Bubble Tea browser), with two subcommands: `serve` (host the docs as a static HTTP site) and `ask` (AI-assisted Q&A grounded in the bundled docs at runtime).
|
Package docs provides the Cobra `docs` command for browsing this tool's embedded documentation in a terminal (an interactive Bubble Tea browser), with two subcommands: `serve` (host the docs as a static HTTP site) and `ask` (AI-assisted Q&A grounded in the bundled docs at runtime). |
|
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/man
Package man implements the opt-in "man" command that emits roff man pages for a tool's own command tree at runtime, for packaging postinstall scripts or ad-hoc preview, without re-running the source-tree generator.
|
Package man implements the opt-in "man" command that emits roff man pages for a tool's own command tree at runtime, for packaging postinstall scripts or ad-hoc preview, without re-running the source-tree generator. |
|
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, doctor, config, telemetry, changelog, man, MCP, docs).
|
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, doctor, config, telemetry, changelog, man, MCP, docs). |
|
cmd/telemetry
Package telemetry provides the `telemetry` command group for managing pseudonymous usage telemetry: enable, disable, status, and reset subcommands.
|
Package telemetry provides the `telemetry` command group for managing pseudonymous usage telemetry: enable, disable, status, and reset subcommands. |
|
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/formats/dotenv
Package dotenv links dotenv configuration files into a tool.
|
Package dotenv links dotenv configuration files into a tool. |
|
config/formats/hcl
Package hcl links HCL configuration files into a tool.
|
Package hcl links HCL configuration files into a tool. |
|
config/formats/ini
Package ini links INI configuration files into a tool.
|
Package ini links INI configuration files into a tool. |
|
config/formats/json
Package json links JSON configuration files into a tool.
|
Package json links JSON configuration files into a tool. |
|
config/formats/properties
Package properties links Java properties configuration files into a tool.
|
Package properties links Java properties configuration files into a tool. |
|
config/formats/toml
Package toml links TOML configuration files into a tool.
|
Package toml links TOML configuration files into a tool. |
|
config/formats/xml
Package xml links XML configuration files into a tool.
|
Package xml links XML configuration files into a tool. |
|
config/sources/aws-s3
Package awss3 links the aws-s3 config source kind: one config file held as an S3 object, in the format its key names (spec 0204 D2, D3, D18).
|
Package awss3 links the aws-s3 config source kind: one config file held as an S3 object, in the format its key names (spec 0204 D2, D3, D18). |
|
config/sources/aws-secrets
Package awssecrets links the aws-secrets config source kind: one AWS Secrets Manager secret whose value is a document, or every secret under a name prefix, read as configuration (spec 0204 D3, D18).
|
Package awssecrets links the aws-secrets config source kind: one AWS Secrets Manager secret whose value is a document, or every secret under a name prefix, read as configuration (spec 0204 D3, D18). |
|
config/sources/aws-ssm
Package awsssm links the aws-ssm config source kind: every AWS Systems Manager parameter under a path prefix, read as configuration (spec 0204 D3, D18).
|
Package awsssm links the aws-ssm config source kind: every AWS Systems Manager parameter under a path prefix, read as configuration (spec 0204 D3, D18). |
|
config/sources/azure-appconfig
Package azureappconfig links the azure-appconfig config source kind: the settings under a key prefix in an Azure App Configuration store, read as configuration (spec 0204 D3, D18).
|
Package azureappconfig links the azure-appconfig config source kind: the settings under a key prefix in an Azure App Configuration store, read as configuration (spec 0204 D3, D18). |
|
config/sources/azure-blob
Package azureblob links the azure-blob config source kind: one config file held as an Azure Storage blob, in the format its name says (spec 0204 D2, D3, D18).
|
Package azureblob links the azure-blob config source kind: one config file held as an Azure Storage blob, in the format its name says (spec 0204 D2, D3, D18). |
|
config/sources/azure-keyvault
Package azurekeyvault links the azure-keyvault config source kind: one Azure Key Vault secret whose value is a document, or every secret in the vault, read as configuration (spec 0204 D3, D18).
|
Package azurekeyvault links the azure-keyvault config source kind: one Azure Key Vault secret whose value is a document, or every secret in the vault, read as configuration (spec 0204 D3, D18). |
|
config/sources/consul
Package consul links the consul config source kind: the keys under a Consul KV prefix, read as configuration (spec 0204 D3, D18).
|
Package consul links the consul config source kind: the keys under a Consul KV prefix, read as configuration (spec 0204 D3, D18). |
|
config/sources/file
Package file links the file config source kind: a fixed file a tool reads beside its own, such as a platform-provided /etc/mytool/.env, in any format the tool links (spec 0204 D2, D3).
|
Package file links the file config source kind: a fixed file a tool reads beside its own, such as a platform-provided /etc/mytool/.env, in any format the tool links (spec 0204 D2, D3). |
|
config/sources/gcp-gcs
Package gcpgcs links the gcp-gcs config source kind: one config file held as a Cloud Storage object, in the format its name says (spec 0204 D2, D3, D18).
|
Package gcpgcs links the gcp-gcs config source kind: one config file held as a Cloud Storage object, in the format its name says (spec 0204 D2, D3, D18). |
|
config/sources/gcp-parameter
Package gcpparameter links the gcp-parameter config source kind: one Parameter Manager parameter whose payload is a document, or every parameter under an ID prefix, read as configuration (spec 0204 D3, D18).
|
Package gcpparameter links the gcp-parameter config source kind: one Parameter Manager parameter whose payload is a document, or every parameter under an ID prefix, read as configuration (spec 0204 D3, D18). |
|
config/sources/gcp-secret
Package gcpsecret links the gcp-secret config source kind: one Secret Manager secret whose payload is a document, or a project's secrets, read as configuration (spec 0204 D3, D18).
|
Package gcpsecret links the gcp-secret config source kind: one Secret Manager secret whose payload is a document, or a project's secrets, read as configuration (spec 0204 D3, D18). |
|
config/sources/internal/awssource
Package awssource builds the AWS config a source kind's client is made from: awsclient's ambient chain (SSO, profiles, IMDS, IRSA, the standard environment variables), with the slot's region, profile and endpoint applied (spec 0204 D18).
|
Package awssource builds the AWS config a source kind's client is made from: awsclient's ambient chain (SSO, profiles, IMDS, IRSA, the standard environment variables), with the slot's region, profile and endpoint applied (spec 0204 D18). |
|
config/sources/internal/awssource/awssourcetest
Package awssourcetest isolates AWS source tests from the developer's environment.
|
Package awssourcetest isolates AWS source tests from the developer's environment. |
|
config/sources/internal/azuresource
Package azuresource resolves the Azure credential a source kind's client is made from: azureclient's ambient chain (environment, workload identity, managed identity, the Azure CLI's login), with the slot's tenant applied (spec 0204 D18).
|
Package azuresource resolves the Azure credential a source kind's client is made from: azureclient's ambient chain (environment, workload identity, managed identity, the Azure CLI's login), with the slot's tenant applied (spec 0204 D18). |
|
config/sources/internal/gcpsource
Package gcpsource resolves the client options a GCP source kind's client is made from: gcpclient's ambient chain (Application Default Credentials: the metadata server, workload identity, GOOGLE_APPLICATION_CREDENTIALS, gcloud's login), with the slot's endpoint applied (spec 0204 D18).
|
Package gcpsource resolves the client options a GCP source kind's client is made from: gcpclient's ambient chain (Application Default Credentials: the metadata server, workload identity, GOOGLE_APPLICATION_CREDENTIALS, gcloud's login), with the slot's endpoint applied (spec 0204 D18). |
|
config/sources/internal/gcpsource/gcpsourcetest
Package gcpsourcetest isolates GCP source tests from the developer's environment.
|
Package gcpsourcetest isolates GCP source tests from the developer's environment. |
|
config/sources/internal/sourceauth
Package sourceauth resolves a config source's token through GTB's rungs: config.sources.<name>.auth.env names a variable, .auth.keychain a "service/account" entry, .auth.value holds the token itself (spec 0204 D18).
|
Package sourceauth resolves a config source's token through GTB's rungs: config.sources.<name>.auth.env names a variable, .auth.keychain a "service/account" entry, .auth.value holds the token itself (spec 0204 D18). |
|
config/sources/internal/sourcesettings
Package sourcesettings reads the settings several source kinds share.
|
Package sourcesettings reads the settings several source kinds share. |
|
config/sources/keychain
Package keychain links the keychain config source kind: tokens a tool keeps in the OS keychain, read and written as configuration (spec 0204 D12).
|
Package keychain links the keychain config source kind: tokens a tool keeps in the OS keychain, read and written as configuration (spec 0204 D12). |
|
config/sources/vault
Package vault links the vault config source kind: a HashiCorp Vault KV v2 secret, or every secret under a prefix, read as configuration (spec 0204 D3, D18).
|
Package vault links the vault config source kind: a HashiCorp Vault KV v2 secret, or every secret under a prefix, read as configuration (spec 0204 D3, D18). |
|
credentialposture
Package credentialposture reports where a credential comes from, without ever reporting what it is.
|
Package credentialposture reports where a credential comes from, without ever reporting what it is. |
|
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). |
|
gateway
Package gateway is GTB's framework-integration layer over the extracted grpc-gateway module.
|
Package gateway is GTB's framework-integration layer over the extracted grpc-gateway module. |
|
grpc
Package grpc is GTB's framework-integration layer over the extracted gRPC transport module.
|
Package grpc is GTB's framework-integration layer over the extracted gRPC transport module. |
|
http
Package http is GTB's framework-integration layer over the extracted HTTP transport modules.
|
Package http is GTB's framework-integration layer over the extracted HTTP transport modules. |
|
logger
Package logger provides GTB's logging boundary.
|
Package logger provides GTB's logging boundary. |
|
mcp
Package mcp is GTB's glue over the go/mcp module, and the link that gives a tool the mcp feature.
|
Package mcp is GTB's glue over the go/mcp module, and the link that gives a tool the mcp feature. |
|
osinfo
Package osinfo reports a human-readable operating-system version string.
|
Package osinfo reports a human-readable operating-system version string. |
|
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. |
|
props/test
Package test provides a public test-fixture helper for constructing a fully-wired *props.Props with hermetic, safe defaults.
|
Package test provides a public test-fixture helper for constructing a fully-wired *props.Props with hermetic, safe defaults. |
|
release/static
Package static is the static release channel's shared shape (spec 0203): the two documents a release publishes to a plain HTTPS location, one pointer to the current release and one immutable manifest per tag, and the layout that places them.
|
Package static is the static release channel's shared shape (spec 0203): the two documents a release publishes to a plain HTTPS location, one pointer to the current release and one immutable manifest per tag, and the layout that places them. |
|
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 the interactive AI-provider setup initialiser.
|
Package ai provides the interactive AI-provider setup initialiser. |
|
setup/flags
Package flags is GTB's wiring for dynamic feature flags (spec 0199 D10, D11): a features.Backend over the tool's own config store, so a service's flags can be flipped by editing its config with no vendor at all, and the controls registration that gives any backend the controller's lifecycle.
|
Package flags is GTB's wiring for dynamic feature flags (spec 0199 D10, D11): a features.Backend over the tool's own config store, so a service's flags can be flipped by editing its config with no vendor at all, and the controls registration that gives any backend the controller's lifecycle. |
|
setup/forge
Package forge provides a single, provider-parameterised interactive setup initialiser for git forges.
|
Package forge provides a single, provider-parameterised interactive setup initialiser for git forges. |
|
setup/keychain
Package keychain links the OS keychain credential backend and declares it as a feature.
|
Package keychain links the OS keychain credential backend and declares it as a feature. |
|
setup/telemetry
Package telemetry registers the telemetry initialiser with the setup system.
|
Package telemetry registers the telemetry initialiser with the setup system. |
|
telemetry
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. |
|
telemetry/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. |
|
telemetry/posthog
Package posthog provides a telemetry backend that sends events to PostHog's Capture API (batch payload form).
|
Package posthog provides a telemetry backend that sends events to PostHog's Capture API (batch payload form). |
|
telemetrytypes
Package telemetrytypes holds the telemetry value types shared between GTB's dependency-injection container (pkg/props) and the collector implementation (pkg/telemetry).
|
Package telemetrytypes holds the telemetry value types shared between GTB's dependency-injection container (pkg/props) and the collector implementation (pkg/telemetry). |
|
tls
Package tls is GTB's thin adapter over the standalone hardened-TLS module gitlab.com/phpboyscout/go/tls.
|
Package tls is GTB's thin adapter over the standalone hardened-TLS module gitlab.com/phpboyscout/go/tls. |
|
vcs
Package vcs holds the thin configuration adapters that bridge GTB's resolved configuration to the extracted version-control modules.
|
Package vcs holds the thin configuration adapters that bridge GTB's resolved configuration to the extracted version-control modules. |
|
vcs/repo
Package repo adapts GTB's runtime configuration into the typed settings used by the standalone gitlab.com/phpboyscout/go/repo module.
|
Package repo adapts GTB's runtime configuration into the typed settings used by the standalone gitlab.com/phpboyscout/go/repo module. |
|
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. |
Click to show internal directories.
Click to hide internal directories.