Skip to main content

add-command

Add a new cobra subcommand to the CLI

Quellinformationen

Repository
bendrucker/honeycomb-cli
Letzte Quellaktivität
23. September 2026 um 03:25
Erkannte Sprache von SKILL.md
Englisch
Sterne
2
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
add-command
description
Add a new cobra subcommand to the CLI
user-invocable
true
# Add Command Add a cobra subcommand that matches its siblings. The command is done when it builds, its tests pass, and it appears under its parent in `honeycomb --help`. ## Steps 1. Read the sibling commands in the resource's package (`cmd/<resource>/`) and copy their shape. `cmd/marker` covers full CRUD plus a nested sub-resource. 2. Create `cmd/<resource>/<verb>.go` with a `New<Verb>Cmd(opts *options.RootOptions, ...)` factory: - Take any parent-scoped flag, such as `--dataset`, as a pointer argument. - Give every input a flag. Resolve missing required inputs with `command.Resolve`, which prompts when it can and returns the non-interactive error otherwise. - Build the client with `opts.ClientFor`. - Write output with `opts.OutputWriter()` for detail commands or `opts.OutputWriterList()` for lists. `--format` is a root persistent flag, so the command defines no format flag. 3. Register it with `AddCommand` in the resource's `NewCmd`. 4. Create `cmd/<resource>/<verb>_test.go` using the package's existing test helper (usually `setupTest`), which wires `iostreams.Test`, `httptest.NewServer`, and the mock keyring. ## Command Pattern ```go func NewListCmd(opts *options.RootOptions, dataset *string) *cobra.Command { return &cobra.Command{ Use: "list", Short: "List markers", RunE: func(cmd *cobra.Command, _ []string) error { return runMarkerList(cmd.Context(), opts, *dataset) }, } } ```
Auf GitHub ansehen