cli/cli
Systems
Internal Go packages that are not commands but underpin them. Most of these are reused across the entire pkg/cmd/ tree.
Pages
- API client -
api/: REST + GraphQL on top ofcli/go-gh. - Factory and cmdutil -
pkg/cmdutil/andpkg/cmd/factory/: dependency injection. - IOStreams -
pkg/iostreams/: terminal abstraction. - HTTP mocking -
pkg/httpmock/: testing infrastructure. - Extension manager -
pkg/cmd/extension/manager.go. - Codespaces runtime -
internal/codespaces/. - Git client -
git/: shells out togit. - Config and auth -
internal/config/,internal/authflow/,internal/keyring/. - Prompter and survey -
internal/prompter/. - Feature detection -
internal/featuredetection/. - Telemetry and skills -
internal/telemetry/,internal/barista/,internal/skills/.
How they fit together
graph LR
Cmd[pkg/cmd/<command>] --> Factory[cmdutil.Factory]
Factory --> IO[pkg/iostreams]
Factory --> APIClient[api.Client]
Factory --> Git[git.Client]
Factory --> Prompt[internal/prompter]
Factory --> Cfg[internal/config]
Factory --> Ext[pkg/cmd/extension Manager]
APIClient --> FD[internal/featuredetection]
APIClient --> Telemetry[internal/telemetry]
Cfg --> Auth[internal/authflow + internal/keyring]
Cmd --> Tableprinter[internal/tableprinter]
Cmd --> Markdown[pkg/markdown]
Cmd --> Httpmock[pkg/httpmock]Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.