25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# cmd/
|
|
|
|
CLI command definitions and MCP tool bindings.
|
|
|
|
## Wiring
|
|
|
|
- `main.go` → `cmd.Execute()` → `root.go`
|
|
- Each `<resource>/` dir registers a subcommand + MCP tool
|
|
- `Run` function: binds flags → calls `pkg/<resource>` method
|
|
|
|
## Conventions
|
|
|
|
- `resetFlags` in `PersistentPreRun`: ensures clean state for MCP.
|
|
- MCP tools registered via `mcp.AddTool`.
|
|
- Flags bound to package-level variables.
|
|
- `BUILD.bazel` files are auto-generated — do NOT create or edit them manually.
|
|
|
|
## Subcommands
|
|
|
|
Each subdirectory is a 1:1 mapping to a YouTube API resource:
|
|
|
|
`abuseReport/`, `activity/`, `agent/`, `caption/`, `channel/`, `channelBanner/`, `channelSection/`, `comment/`, `commentThread/`, `i18nLanguage/`, `i18nRegion/`, `liveBroadcast/`, `liveChatBan/`, `liveChatMessage/`, `liveChatModerator/`, `liveStream/`, `member/`, `membershipsLevel/`, `playlist/`, `playlistImage/`, `playlistItem/`, `search/`, `subscription/`, `superChatEvent/`, `thirdPartyLink/`, `thumbnail/`, `video/`, `videoAbuseReportReason/`, `videoCategory/`, `watermark/`
|
|
|
|
All follow the same pattern — see [Wiring](#wiring) above.
|