Documentation
¶
Overview ¶
Package commands implements the CLI commands.
Package commands implements the CLI commands.
Index ¶
- func CatalogCommandNames() []string
- func NewAPICmd() *cobra.Command
- func NewAssignCmd() *cobra.Command
- func NewAuthCmd() *cobra.Command
- func NewBoostShortcutCmd() *cobra.Command
- func NewBoostsCmd() *cobra.Command
- func NewCampfireCmd() *cobra.Command
- func NewCardCmd() *cobra.Command
- func NewCardsCmd() *cobra.Command
- func NewCheckinsCmd() *cobra.Command
- func NewCommandsCmd() *cobra.Command
- func NewCommentCmd() *cobra.Command
- func NewCommentsCmd() *cobra.Command
- func NewCompletionCmd() *cobra.Command
- func NewConfigCmd() *cobra.Command
- func NewDocsCmd() *cobra.Command
- func NewDoctorCmd() *cobra.Command
- func NewDoneCmd() *cobra.Command
- func NewEventsCmd() *cobra.Command
- func NewFilesCmd() *cobra.Command
- func NewForwardsCmd() *cobra.Command
- func NewLineupCmd() *cobra.Command
- func NewMCPCmd() *cobra.Command
- func NewMeCmd() *cobra.Command
- func NewMessageCmd() *cobra.Command
- func NewMessageboardsCmd() *cobra.Command
- func NewMessagesCmd() *cobra.Command
- func NewMessagetypesCmd() *cobra.Command
- func NewMigrateCmd() *cobra.Command
- func NewPeopleCmd() *cobra.Command
- func NewProfileCmd() *cobra.Command
- func NewProjectsCmd() *cobra.Command
- func NewQuickStartCmd() *cobra.Command
- func NewRecordingsCmd() *cobra.Command
- func NewReopenCmd() *cobra.Command
- func NewReportsCmd() *cobra.Command
- func NewScheduleCmd() *cobra.Command
- func NewSearchCmd() *cobra.Command
- func NewSetupCmd() *cobra.Command
- func NewShowCmd() *cobra.Command
- func NewSkillCmd() *cobra.Command
- func NewSubscriptionsCmd() *cobra.Command
- func NewTUICmd() *cobra.Command
- func NewTemplatesCmd() *cobra.Command
- func NewTimelineCmd() *cobra.Command
- func NewTimesheetCmd() *cobra.Command
- func NewTodoCmd() *cobra.Command
- func NewTodolistgroupsCmd() *cobra.Command
- func NewTodolistsCmd() *cobra.Command
- func NewTodosCmd() *cobra.Command
- func NewTodosetsCmd() *cobra.Command
- func NewToolsCmd() *cobra.Command
- func NewURLCmd() *cobra.Command
- func NewUnassignCmd() *cobra.Command
- func NewUpgradeCmd() *cobra.Command
- func NewUploadsCmd() *cobra.Command
- func NewVaultsCmd() *cobra.Command
- func NewWebhooksCmd() *cobra.Command
- func RunQuickStartDefault(cmd *cobra.Command, args []string) error
- type AccountInfo
- type AuthInfo
- type Check
- type CommandCategory
- type CommandInfo
- type CommandsInfo
- type ContextInfo
- type DockTool
- type DoctorResult
- type FilesListResult
- type MeOutput
- type MigrateResult
- type ParsedURL
- type QuickStartResponse
- type SweepResult
- type WizardResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CatalogCommandNames ¶
func CatalogCommandNames() []string
CatalogCommandNames returns all command names from the catalog. Used by tests to verify catalog matches registered commands.
func NewBoostShortcutCmd ¶
NewBoostShortcutCmd creates the boost shortcut command for quickly boosting a recording.
func NewBoostsCmd ¶
NewBoostsCmd creates the boost command for managing emoji reactions.
func NewCampfireCmd ¶
NewCampfireCmd creates the campfire command for real-time chat.
func NewCardCmd ¶
NewCardCmd creates the card command (shortcut for creating cards).
func NewCheckinsCmd ¶
NewCheckinsCmd creates the checkins command group.
func NewCommandsCmd ¶
NewCommandsCmd creates the commands listing command.
func NewCommentCmd ¶
NewCommentCmd creates the comment command (shortcut for creating comments).
func NewCommentsCmd ¶
NewCommentsCmd creates the comments command group (list/show/update).
func NewCompletionCmd ¶
NewCompletionCmd creates the completion command group.
func NewConfigCmd ¶
NewConfigCmd creates the config command for managing configuration.
func NewDoneCmd ¶
NewDoneCmd creates the 'done' command as an alias for 'todos complete'.
func NewEventsCmd ¶
NewEventsCmd creates the events command for viewing recording event history.
func NewForwardsCmd ¶
NewForwardsCmd creates the forwards command for managing email forwards.
func NewLineupCmd ¶
NewLineupCmd creates the lineup command for managing lineup markers.
func NewMessageCmd ¶
NewMessageCmd creates the message command (shortcut for creating messages).
func NewMessageboardsCmd ¶
NewMessageboardsCmd creates the messageboards command for viewing message board containers.
func NewMessagesCmd ¶
NewMessagesCmd creates the messages command group.
func NewMessagetypesCmd ¶
NewMessagetypesCmd creates the messagetypes command for managing message types.
func NewPeopleCmd ¶
func NewProfileCmd ¶
NewProfileCmd creates the profile command group.
func NewProjectsCmd ¶
NewProjectsCmd creates the projects command group.
func NewQuickStartCmd ¶
NewQuickStartCmd creates the quick-start command.
func NewRecordingsCmd ¶
NewRecordingsCmd creates the recordings command for cross-project browsing.
func NewReopenCmd ¶
NewReopenCmd creates the 'reopen' command as an alias for 'todos uncomplete'.
func NewReportsCmd ¶
NewReportsCmd creates the reports command for viewing various reports.
func NewScheduleCmd ¶
NewScheduleCmd creates the schedule command for managing schedules.
func NewSearchCmd ¶
NewSearchCmd creates the search command for full-text search.
func NewSetupCmd ¶
NewSetupCmd creates the setup command (explicit wizard invocation).
func NewShowCmd ¶
NewShowCmd creates the show command for viewing any recording.
func NewSkillCmd ¶ added in v0.2.0
NewSkillCmd creates the skill command.
func NewSubscriptionsCmd ¶
NewSubscriptionsCmd creates the subscriptions command for managing recording subscriptions.
func NewTemplatesCmd ¶
NewTemplatesCmd creates the templates command for managing project templates.
func NewTimelineCmd ¶
NewTimelineCmd creates the timeline command for viewing activity feeds.
func NewTimesheetCmd ¶
NewTimesheetCmd creates the timesheet command for managing time tracking.
func NewTodoCmd ¶
NewTodoCmd creates the 'todo' command as a shortcut for 'todos create'.
func NewTodolistgroupsCmd ¶
NewTodolistgroupsCmd creates the todolistgroups command group.
func NewTodolistsCmd ¶
NewTodolistsCmd creates the todolists command group.
func NewTodosetsCmd ¶
NewTodosetsCmd creates the todosets command for viewing todoset containers.
func NewToolsCmd ¶
NewToolsCmd creates the tools command for managing project dock tools.
func NewUnassignCmd ¶
NewUnassignCmd creates the unassign command.
func NewUpgradeCmd ¶ added in v0.2.0
NewUpgradeCmd creates the upgrade command.
func NewUploadsCmd ¶
NewUploadsCmd creates the uploads command alias.
func NewVaultsCmd ¶
NewVaultsCmd creates the vaults/folders command alias.
func NewWebhooksCmd ¶
NewWebhooksCmd creates the webhooks command group.
func RunQuickStartDefault ¶
RunQuickStartDefault is called when basecamp is run with no args. If this is a first run (unauthenticated, interactive TTY, no BASECAMP_TOKEN), it runs the setup wizard. Otherwise, it falls through to the quick-start output.
Types ¶
type AccountInfo ¶
type AccountInfo struct {
ID int64 `json:"id"`
Name string `json:"name"`
Href string `json:"href"`
AppHref string `json:"app_href"`
Current bool `json:"current,omitempty"`
}
AccountInfo represents an account in the me command output
type AuthInfo ¶
type AuthInfo struct {
Status string `json:"status"`
User string `json:"user,omitempty"`
Account string `json:"account,omitempty"`
}
AuthInfo describes the authentication status.
type Check ¶
type Check struct {
Name string `json:"name"`
Status string `json:"status"` // "pass", "fail", "skip", "warn"
Message string `json:"message"`
Hint string `json:"hint,omitempty"`
}
Check represents a single diagnostic check result.
type CommandCategory ¶
type CommandCategory struct {
Name string `json:"name"`
Commands []CommandInfo `json:"commands"`
}
CommandCategory groups commands by category.
type CommandInfo ¶
type CommandInfo struct {
Name string `json:"name"`
Category string `json:"category"`
Description string `json:"description"`
Actions []string `json:"actions,omitempty"`
Experimental bool `json:"experimental,omitempty"`
}
CommandInfo describes a CLI command.
type CommandsInfo ¶
type CommandsInfo struct {
QuickStart []string `json:"quick_start"`
Common []string `json:"common"`
}
CommandsInfo lists suggested commands.
type ContextInfo ¶
type ContextInfo struct {
ProjectID *int64 `json:"project_id,omitempty"`
ProjectName *string `json:"project_name,omitempty"`
}
ContextInfo describes the current context.
type DockTool ¶
type DockTool struct {
Name string `json:"name"`
Title string `json:"title"`
ID int64 `json:"id"`
Enabled bool `json:"enabled"`
}
DockTool represents a tool in a project's dock.
type DoctorResult ¶
type DoctorResult struct {
Checks []Check `json:"checks"`
Passed int `json:"passed"`
Failed int `json:"failed"`
Warned int `json:"warned"`
Skipped int `json:"skipped"`
}
DoctorResult holds the complete diagnostic results.
func (*DoctorResult) Summary ¶
func (r *DoctorResult) Summary() string
Summary returns a human-readable summary of the results.
type FilesListResult ¶
type FilesListResult struct {
VaultID int64 `json:"vault_id"`
VaultTitle string `json:"vault_title"`
Folders []basecamp.Vault `json:"folders"`
Files []basecamp.Upload `json:"files"`
Documents []basecamp.Document `json:"documents"`
}
FilesListResult represents the combined contents of a vault.
type MeOutput ¶
type MeOutput struct {
Identity basecamp.Identity `json:"identity"`
Accounts []AccountInfo `json:"accounts"`
}
MeOutput represents the output for the me command
type MigrateResult ¶
type MigrateResult struct {
KeyringMigrated int `json:"keyring_migrated"`
KeyringErrors []string `json:"keyring_errors,omitempty"`
CacheMoved bool `json:"cache_moved"`
CacheMessage string `json:"cache_message,omitempty"`
ThemeMoved bool `json:"theme_moved"`
ThemeMessage string `json:"theme_message,omitempty"`
AlreadyMigrated bool `json:"already_migrated,omitempty"`
}
MigrateResult holds the migration outcome.
type ParsedURL ¶
type ParsedURL struct {
URL string `json:"url"`
AccountID *string `json:"account_id"`
ProjectID *string `json:"project_id"`
Type *string `json:"type"`
TypeSingular *string `json:"type_singular"`
RecordingID *string `json:"recording_id"`
CommentID *string `json:"comment_id"`
}
ParsedURL represents components extracted from a Basecamp URL.
type QuickStartResponse ¶
type QuickStartResponse struct {
Version string `json:"version"`
Auth AuthInfo `json:"auth"`
Context ContextInfo `json:"context"`
Commands CommandsInfo `json:"commands"`
}
QuickStartResponse is the JSON structure for the quick-start command.
type SweepResult ¶
type SweepResult struct {
DryRun bool `json:"dry_run,omitempty"`
WouldSweep []int64 `json:"would_sweep,omitempty"`
Swept []int64 `json:"swept,omitempty"`
Commented []int64 `json:"commented,omitempty"`
Completed []int64 `json:"completed,omitempty"`
CommentFailed []int64 `json:"comment_failed,omitempty"`
CompleteFailed []int64 `json:"complete_failed,omitempty"`
Count int `json:"count"`
Comment string `json:"comment,omitempty"`
CompleteAction bool `json:"complete,omitempty"`
}
SweepResult contains the results of a sweep operation.
type WizardResult ¶
type WizardResult struct {
Version string `json:"version"`
Status string `json:"status"` // "complete"
AccountID string `json:"account_id,omitempty"`
AccountName string `json:"account_name,omitempty"`
ProjectID string `json:"project_id,omitempty"`
ProjectName string `json:"project_name,omitempty"`
ConfigScope string `json:"config_scope,omitempty"` // "global", "local", or "" if skipped
}
WizardResult holds the outcome of the first-run wizard.
Source Files
¶
- api.go
- assign.go
- auth.go
- boost.go
- campfire.go
- cards.go
- checkins.go
- commands.go
- comment.go
- completion.go
- config.go
- doctor.go
- events.go
- files.go
- forwards.go
- helpers.go
- lineup.go
- mcp.go
- messageboards.go
- messages.go
- messagetypes.go
- migrate.go
- people.go
- profile.go
- projects.go
- quickstart.go
- recordings.go
- reports.go
- schedule.go
- search.go
- show.go
- skill.go
- subscriptions.go
- templates.go
- timeline.go
- timesheet.go
- todolistgroups.go
- todolists.go
- todos.go
- todosets.go
- tools.go
- tui.go
- tui_url.go
- upgrade.go
- url.go
- webhooks.go
- wizard.go