Skip to main content

add-command

Add a new cobra subcommand to the CLI

소스 정보

저장소
bendrucker/honeycomb-cli
최근 소스 활동
2026년 9월 23일 03:25
감지된 SKILL.md 언어
영어
스타
2
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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) }, } } ```
GitHub에서 보기