cmd

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Execute

func Execute(args []string) (err error)

func VersionString

func VersionString() string

Types

type ACLsCmd

type ACLsCmd struct {
	Update ACLsUpdateCmd `cmd:"" help:"Update access control settings"`
}

type ACLsUpdateCmd

type ACLsUpdateCmd struct {
	ObjectType string `name:"type" short:"t" required:"" help:"Object type (space, folder, list)"`
	ObjectID   string `name:"id" short:"i" required:"" help:"Object ID"`
	Private    bool   `help:"Make object private"`
	Public     bool   `help:"Make object public"`
	Sharing    string `help:"Sharing mode (open or closed)"`
}

func (*ACLsUpdateCmd) Run

func (cmd *ACLsUpdateCmd) Run(ctx context.Context) error

type AttachmentsCmd

type AttachmentsCmd struct {
	Upload AttachmentsUploadCmd `cmd:"" help:"Upload a file to a task (v2 API)"`
	List   AttachmentsListCmd   `cmd:"" help:"List attachments for a parent entity (v3 API)"`
	Create AttachmentsCreateCmd `cmd:"" help:"Upload a file to a parent entity (v3 API)"`
}

type AttachmentsCreateCmd

type AttachmentsCreateCmd struct {
	ParentType string `name:"type" short:"t" help:"Parent type (task, list, folder, space)" required:""`
	ParentID   string `name:"id" short:"i" help:"Parent ID" required:""`
	File       string `arg:"" help:"Path to the file to upload" required:""`
}

func (*AttachmentsCreateCmd) Run

func (cmd *AttachmentsCreateCmd) Run(ctx context.Context) error

type AttachmentsListCmd

type AttachmentsListCmd struct {
	ParentType string `name:"type" short:"t" help:"Parent type (task, list, folder, space)" required:""`
	ParentID   string `name:"id" short:"i" help:"Parent ID" required:""`
}

func (*AttachmentsListCmd) Run

func (cmd *AttachmentsListCmd) Run(ctx context.Context) error

type AttachmentsUploadCmd

type AttachmentsUploadCmd struct {
	Task string `name:"task" help:"Task ID" required:""`
	File string `arg:"" help:"Path to the file to upload" required:""`
}

func (*AttachmentsUploadCmd) Run

func (cmd *AttachmentsUploadCmd) Run(ctx context.Context) error

type AuditLogsCmd

type AuditLogsCmd struct {
	Query AuditLogsQueryCmd `cmd:"" help:"Query audit logs"`
}

type AuditLogsQueryCmd

type AuditLogsQueryCmd struct {
	StartDate int64  `help:"Start date (Unix timestamp in milliseconds)"`
	EndDate   int64  `help:"End date (Unix timestamp in milliseconds)"`
	EventType string `help:"Filter by event type"`
	UserID    string `help:"Filter by user ID"`
	Limit     int    `help:"Maximum number of results" default:"100"`
}

func (*AuditLogsQueryCmd) Run

func (cmd *AuditLogsQueryCmd) Run(ctx context.Context) error

type AuthCmd

type AuthCmd struct {
	SetKey       AuthSetKeyCmd       `cmd:"" help:"Set API key (uses --stdin by default)"`
	SetTeam      AuthSetTeamCmd      `cmd:"" help:"Set ClickUp Team ID"`
	SetWorkspace AuthSetWorkspaceCmd `cmd:"" help:"Set ClickUp Workspace ID for v3 API"`
	Status       AuthStatusCmd       `cmd:"" help:"Show authentication status"`
	Remove       AuthRemoveCmd       `cmd:"" help:"Remove stored credentials"`
	Whoami       AuthWhoamiCmd       `cmd:"" help:"Get the currently authorized user"`
	Token        AuthTokenCmd        `cmd:"" help:"Exchange OAuth authorization code for access token"`
}

type AuthRemoveCmd

type AuthRemoveCmd struct{}

func (*AuthRemoveCmd) Run

func (cmd *AuthRemoveCmd) Run(ctx context.Context) error

type AuthSetKeyCmd

type AuthSetKeyCmd struct {
	Stdin bool   `help:"Read API key from stdin (default: true)" default:"true"`
	Key   string `arg:"" optional:"" help:"API key (discouraged; exposes in shell history)"`
}

func (*AuthSetKeyCmd) Run

func (cmd *AuthSetKeyCmd) Run(ctx context.Context) error

type AuthSetTeamCmd

type AuthSetTeamCmd struct {
	TeamID string `arg:"" required:"" help:"ClickUp Team ID"`
}

func (*AuthSetTeamCmd) Run

func (cmd *AuthSetTeamCmd) Run(ctx context.Context) error

type AuthSetWorkspaceCmd

type AuthSetWorkspaceCmd struct {
	WorkspaceID string `arg:"" required:"" help:"ClickUp Workspace ID for v3 API"`
}

func (*AuthSetWorkspaceCmd) Run

func (cmd *AuthSetWorkspaceCmd) Run(ctx context.Context) error

type AuthStatusCmd

type AuthStatusCmd struct{}

func (*AuthStatusCmd) Run

func (cmd *AuthStatusCmd) Run(ctx context.Context) error

type AuthTokenCmd

type AuthTokenCmd struct {
	ClientID     string `required:"" help:"OAuth client ID"`
	ClientSecret string `required:"" help:"OAuth client secret"`
	Code         string `required:"" help:"OAuth authorization code"`
}

func (*AuthTokenCmd) Run

func (cmd *AuthTokenCmd) Run(ctx context.Context) error

type AuthWhoamiCmd

type AuthWhoamiCmd struct{}

func (*AuthWhoamiCmd) Run

func (cmd *AuthWhoamiCmd) Run(ctx context.Context) error

type CLI

type CLI struct {
	RootFlags `embed:""`

	Version       kong.VersionFlag `help:"Print version and exit"`
	Auth          AuthCmd          `cmd:"" help:"Auth and credentials"`
	Workspaces    WorkspacesCmd    `cmd:"" help:"Workspace operations"`
	Tasks         TasksCmd         `cmd:"" help:"Task operations"`
	Spaces        SpacesCmd        `cmd:"" help:"Space operations"`
	Folders       FoldersCmd       `cmd:"" help:"Folder operations"`
	Lists         ListsCmd         `cmd:"" help:"List operations"`
	Members       MembersCmd       `cmd:"" help:"Team member operations"`
	Comments      CommentsCmd      `cmd:"" help:"Comment operations"`
	Time          TimeCmd          `cmd:"" help:"Time tracking"`
	Groups        GroupsCmd        `cmd:"" help:"User group operations"`
	Roles         RolesCmd         `cmd:"" help:"Custom role operations"`
	Guests        GuestsCmd        `cmd:"" help:"Guest operations"`
	Shared        SharedCmd        `cmd:"" help:"Shared hierarchy operations"`
	Templates     TemplatesCmd     `cmd:"" help:"Task template operations"`
	TaskTypes     TaskTypesCmd     `cmd:"" help:"Custom task type operations"`
	TimeLegacy    TimeLegacyCmd    `cmd:"" help:"Legacy time tracking operations"`
	AuditLogs     AuditLogsCmd     `cmd:"" help:"Audit log operations"`
	ACLs          ACLsCmd          `cmd:"" help:"Access control operations"`
	Tags          TagsCmd          `cmd:"" help:"Tag operations"`
	Checklists    ChecklistsCmd    `cmd:"" help:"Checklist operations"`
	Relationships RelationshipsCmd `cmd:"" help:"Task relationship operations"`
	Fields        FieldsCmd        `cmd:"" help:"Custom field operations"`
	Views         ViewsCmd         `cmd:"" help:"View operations"`
	Webhooks      WebhooksCmd      `cmd:"" help:"Webhook operations"`
	Goals         GoalsCmd         `cmd:"" help:"Goal and key result operations"`
	Users         UsersCmd         `cmd:"" help:"User management operations"`
	Attachments   AttachmentsCmd   `cmd:"" help:"File attachment operations"`
	Chat          ChatCmd          `cmd:"" help:"Chat operations (v3 API)"`
	Docs          DocsCmd          `cmd:"" help:"Docs operations (v3 API)"`
	VersionCmd    VersionCmd       `cmd:"" name:"version" help:"Print version"`
}

type ChatChannelCmd

type ChatChannelCmd struct {
	ChannelID string `arg:"" help:"Channel ID" required:""`
}

func (*ChatChannelCmd) Run

func (cmd *ChatChannelCmd) Run(ctx context.Context) error

type ChatChannelFollowersCmd

type ChatChannelFollowersCmd struct {
	ChannelID string `arg:"" help:"Channel ID" required:""`
}

func (*ChatChannelFollowersCmd) Run

type ChatChannelMembersCmd

type ChatChannelMembersCmd struct {
	ChannelID string `arg:"" help:"Channel ID" required:""`
}

func (*ChatChannelMembersCmd) Run

type ChatChannelsCmd

type ChatChannelsCmd struct{}

func (*ChatChannelsCmd) Run

func (cmd *ChatChannelsCmd) Run(ctx context.Context) error

type ChatCmd

type ChatCmd struct {
	Channels         ChatChannelsCmd         `cmd:"" help:"List all chat channels"`
	Channel          ChatChannelCmd          `cmd:"" help:"Get channel details"`
	ChannelFollowers ChatChannelFollowersCmd `cmd:"" help:"Get channel followers"`
	ChannelMembers   ChatChannelMembersCmd   `cmd:"" help:"Get channel members"`
	CreateChannel    ChatCreateChannelCmd    `cmd:"" help:"Create a channel"`
	CreateDM         ChatCreateDMCmd         `cmd:"" help:"Create a direct message channel"`
	CreateLocChannel ChatCreateLocChannelCmd `cmd:"" help:"Create a location-based channel"`
	UpdateChannel    ChatUpdateChannelCmd    `cmd:"" help:"Update a channel"`
	DeleteChannel    ChatDeleteChannelCmd    `cmd:"" help:"Delete a channel"`
	Messages         ChatMessagesCmd         `cmd:"" help:"List channel messages"`
	Send             ChatSendCmd             `cmd:"" help:"Send a message"`
	UpdateMessage    ChatUpdateMessageCmd    `cmd:"" help:"Update a message"`
	DeleteMessage    ChatDeleteMessageCmd    `cmd:"" help:"Delete a message"`
	Reactions        ChatReactionsCmd        `cmd:"" help:"List message reactions"`
	React            ChatReactCmd            `cmd:"" help:"Add a reaction"`
	Unreact          ChatUnreactCmd          `cmd:"" help:"Remove a reaction"`
	Replies          ChatRepliesCmd          `cmd:"" help:"List message replies"`
	Reply            ChatReplyCmd            `cmd:"" help:"Reply to a message"`
	TaggedUsers      ChatTaggedUsersCmd      `cmd:"" help:"Get tagged users in a message"`
}

type ChatCreateChannelCmd

type ChatCreateChannelCmd struct {
	Name string `name:"name" short:"n" help:"Channel name" required:""`
}

func (*ChatCreateChannelCmd) Run

func (cmd *ChatCreateChannelCmd) Run(ctx context.Context) error

type ChatCreateDMCmd

type ChatCreateDMCmd struct {
	Members string `name:"members" short:"m" help:"Comma-separated user IDs" required:""`
}

func (*ChatCreateDMCmd) Run

func (cmd *ChatCreateDMCmd) Run(ctx context.Context) error

type ChatCreateLocChannelCmd

type ChatCreateLocChannelCmd struct {
	Name       string `name:"name" short:"n" help:"Channel name" required:""`
	ParentType string `name:"type" short:"t" help:"Parent type (space, folder, list)" required:""`
	ParentID   string `name:"id" short:"i" help:"Parent ID" required:""`
}

func (*ChatCreateLocChannelCmd) Run

type ChatDeleteChannelCmd

type ChatDeleteChannelCmd struct {
	ChannelID string `arg:"" help:"Channel ID" required:""`
}

func (*ChatDeleteChannelCmd) Run

func (cmd *ChatDeleteChannelCmd) Run(ctx context.Context) error

type ChatDeleteMessageCmd

type ChatDeleteMessageCmd struct {
	MessageID string `arg:"" help:"Message ID" required:""`
}

func (*ChatDeleteMessageCmd) Run

func (cmd *ChatDeleteMessageCmd) Run(ctx context.Context) error

type ChatMessagesCmd

type ChatMessagesCmd struct {
	ChannelID string `arg:"" help:"Channel ID" required:""`
	Limit     int    `name:"limit" short:"l" help:"Maximum messages to return"`
	Cursor    string `name:"cursor" short:"c" help:"Pagination cursor"`
}

func (*ChatMessagesCmd) Run

func (cmd *ChatMessagesCmd) Run(ctx context.Context) error

type ChatReactCmd

type ChatReactCmd struct {
	MessageID string `arg:"" help:"Message ID" required:""`
	Emoji     string `name:"emoji" short:"e" help:"Emoji reaction" required:""`
}

func (*ChatReactCmd) Run

func (cmd *ChatReactCmd) Run(ctx context.Context) error

type ChatReactionsCmd

type ChatReactionsCmd struct {
	MessageID string `arg:"" help:"Message ID" required:""`
}

func (*ChatReactionsCmd) Run

func (cmd *ChatReactionsCmd) Run(ctx context.Context) error

type ChatRepliesCmd

type ChatRepliesCmd struct {
	MessageID string `arg:"" help:"Message ID" required:""`
}

func (*ChatRepliesCmd) Run

func (cmd *ChatRepliesCmd) Run(ctx context.Context) error

type ChatReplyCmd

type ChatReplyCmd struct {
	MessageID string `arg:"" help:"Message ID" required:""`
	Text      string `name:"text" short:"t" help:"Reply text" required:""`
}

func (*ChatReplyCmd) Run

func (cmd *ChatReplyCmd) Run(ctx context.Context) error

type ChatSendCmd

type ChatSendCmd struct {
	ChannelID string `arg:"" help:"Channel ID" required:""`
	Text      string `name:"text" short:"t" help:"Message text" required:""`
}

func (*ChatSendCmd) Run

func (cmd *ChatSendCmd) Run(ctx context.Context) error

type ChatTaggedUsersCmd

type ChatTaggedUsersCmd struct {
	MessageID string `arg:"" help:"Message ID" required:""`
}

func (*ChatTaggedUsersCmd) Run

func (cmd *ChatTaggedUsersCmd) Run(ctx context.Context) error

type ChatUnreactCmd

type ChatUnreactCmd struct {
	MessageID  string `arg:"" help:"Message ID" required:""`
	ReactionID string `arg:"" help:"Reaction ID" required:""`
}

func (*ChatUnreactCmd) Run

func (cmd *ChatUnreactCmd) Run(ctx context.Context) error

type ChatUpdateChannelCmd

type ChatUpdateChannelCmd struct {
	ChannelID string `arg:"" help:"Channel ID" required:""`
	Name      string `name:"name" short:"n" help:"New channel name"`
}

func (*ChatUpdateChannelCmd) Run

func (cmd *ChatUpdateChannelCmd) Run(ctx context.Context) error

type ChatUpdateMessageCmd

type ChatUpdateMessageCmd struct {
	MessageID string `arg:"" help:"Message ID" required:""`
	Text      string `name:"text" short:"t" help:"New message text" required:""`
}

func (*ChatUpdateMessageCmd) Run

func (cmd *ChatUpdateMessageCmd) Run(ctx context.Context) error

type ChecklistsAddItemCmd

type ChecklistsAddItemCmd struct {
	ChecklistID string `arg:"" required:"" help:"Checklist ID"`
	Name        string `arg:"" required:"" help:"Item name"`
	Assignee    int    `help:"Assignee user ID"`
}

func (*ChecklistsAddItemCmd) Run

func (cmd *ChecklistsAddItemCmd) Run(ctx context.Context) error

type ChecklistsCmd

type ChecklistsCmd struct {
	Create     ChecklistsCreateCmd     `cmd:"" help:"Create a checklist on a task"`
	Update     ChecklistsUpdateCmd     `cmd:"" help:"Update a checklist"`
	Delete     ChecklistsDeleteCmd     `cmd:"" help:"Delete a checklist"`
	AddItem    ChecklistsAddItemCmd    `cmd:"" help:"Add an item to a checklist"`
	UpdateItem ChecklistsUpdateItemCmd `cmd:"" help:"Update a checklist item"`
	DeleteItem ChecklistsDeleteItemCmd `cmd:"" help:"Delete a checklist item"`
}

type ChecklistsCreateCmd

type ChecklistsCreateCmd struct {
	TaskID string `required:"" help:"Task ID"`
	Name   string `arg:"" required:"" help:"Checklist name"`
}

func (*ChecklistsCreateCmd) Run

func (cmd *ChecklistsCreateCmd) Run(ctx context.Context) error

type ChecklistsDeleteCmd

type ChecklistsDeleteCmd struct {
	ChecklistID string `arg:"" required:"" help:"Checklist ID"`
}

func (*ChecklistsDeleteCmd) Run

func (cmd *ChecklistsDeleteCmd) Run(ctx context.Context) error

type ChecklistsDeleteItemCmd

type ChecklistsDeleteItemCmd struct {
	ChecklistID string `arg:"" required:"" help:"Checklist ID"`
	ItemID      string `arg:"" required:"" help:"Item ID"`
}

func (*ChecklistsDeleteItemCmd) Run

type ChecklistsUpdateCmd

type ChecklistsUpdateCmd struct {
	ChecklistID string `arg:"" required:"" help:"Checklist ID"`
	Name        string `help:"New checklist name"`
	Position    int    `help:"New position (0-indexed)"`
}

func (*ChecklistsUpdateCmd) Run

func (cmd *ChecklistsUpdateCmd) Run(ctx context.Context) error

type ChecklistsUpdateItemCmd

type ChecklistsUpdateItemCmd struct {
	ChecklistID string `arg:"" required:"" help:"Checklist ID"`
	ItemID      string `arg:"" required:"" help:"Item ID"`
	Name        string `help:"New item name"`
	Resolved    *bool  `help:"Mark as resolved (true/false)"`
	Assignee    int    `help:"Assignee user ID"`
	Parent      string `help:"Parent item ID for nesting"`
}

func (*ChecklistsUpdateItemCmd) Run

type CommentsAddCmd

type CommentsAddCmd struct {
	TaskID string `arg:"" required:"" help:"Task ID"`
	Text   string `arg:"" required:"" help:"Comment text"`
}

func (*CommentsAddCmd) Run

func (cmd *CommentsAddCmd) Run(ctx context.Context) error

type CommentsAddListCmd

type CommentsAddListCmd struct {
	ListID   string `arg:"" required:"" help:"List ID"`
	Text     string `arg:"" required:"" help:"Comment text"`
	Assignee int    `help:"Assign to user ID"`
}

func (*CommentsAddListCmd) Run

func (cmd *CommentsAddListCmd) Run(ctx context.Context) error

type CommentsAddViewCmd

type CommentsAddViewCmd struct {
	ViewID   string `arg:"" required:"" help:"View ID"`
	Text     string `arg:"" required:"" help:"Comment text"`
	Assignee int    `help:"Assign to user ID"`
}

func (*CommentsAddViewCmd) Run

func (cmd *CommentsAddViewCmd) Run(ctx context.Context) error

type CommentsCmd

type CommentsCmd struct {
	List         CommentsListCmd         `cmd:"" help:"List comments on a task"`
	Add          CommentsAddCmd          `cmd:"" help:"Add a comment to a task"`
	Delete       CommentsDeleteCmd       `cmd:"" help:"Delete a comment"`
	Update       CommentsUpdateCmd       `cmd:"" help:"Update a comment"`
	Replies      CommentsRepliesCmd      `cmd:"" help:"List threaded replies to a comment"`
	Reply        CommentsReplyCmd        `cmd:"" help:"Create a threaded reply to a comment"`
	ListComments CommentsListCommentsCmd `cmd:"" help:"List comments on a list" aliases:"list-comments"`
	AddList      CommentsAddListCmd      `cmd:"" help:"Add a comment to a list" aliases:"add-list"`
	ViewComments CommentsViewCommentsCmd `cmd:"" help:"List comments on a view" aliases:"view-comments"`
	AddView      CommentsAddViewCmd      `cmd:"" help:"Add a comment to a view" aliases:"add-view"`
	Subtypes     CommentsSubtypesCmd     `cmd:"" help:"Get post subtype IDs (v3 API)"`
}

type CommentsDeleteCmd

type CommentsDeleteCmd struct {
	CommentID string `arg:"" required:"" help:"Comment ID"`
}

func (*CommentsDeleteCmd) Run

func (cmd *CommentsDeleteCmd) Run(ctx context.Context) error

type CommentsListCmd

type CommentsListCmd struct {
	TaskID string `arg:"" required:"" help:"Task ID"`
}

func (*CommentsListCmd) Run

func (cmd *CommentsListCmd) Run(ctx context.Context) error

type CommentsListCommentsCmd

type CommentsListCommentsCmd struct {
	ListID string `arg:"" required:"" help:"List ID"`
}

func (*CommentsListCommentsCmd) Run

type CommentsRepliesCmd

type CommentsRepliesCmd struct {
	CommentID string `arg:"" required:"" help:"Comment ID"`
}

func (*CommentsRepliesCmd) Run

func (cmd *CommentsRepliesCmd) Run(ctx context.Context) error

type CommentsReplyCmd

type CommentsReplyCmd struct {
	CommentID string `arg:"" required:"" help:"Comment ID"`
	Text      string `arg:"" required:"" help:"Reply text"`
}

func (*CommentsReplyCmd) Run

func (cmd *CommentsReplyCmd) Run(ctx context.Context) error

type CommentsSubtypesCmd

type CommentsSubtypesCmd struct {
	TypeID string `arg:"" required:"" help:"Type ID"`
}

func (*CommentsSubtypesCmd) Run

func (cmd *CommentsSubtypesCmd) Run(ctx context.Context) error

type CommentsUpdateCmd

type CommentsUpdateCmd struct {
	CommentID string `arg:"" required:"" help:"Comment ID"`
	Text      string `help:"New comment text"`
	Resolved  bool   `help:"Mark as resolved"`
	Assignee  int    `help:"Reassign to user ID"`
}

func (*CommentsUpdateCmd) Run

func (cmd *CommentsUpdateCmd) Run(ctx context.Context) error

type CommentsViewCommentsCmd

type CommentsViewCommentsCmd struct {
	ViewID  string `arg:"" required:"" help:"View ID"`
	Start   int    `help:"Pagination offset"`
	StartID string `help:"Pagination cursor"`
}

func (*CommentsViewCommentsCmd) Run

type DocsCmd

type DocsCmd struct {
	Search      DocsSearchCmd      `cmd:"" help:"Search for docs"`
	Get         DocsGetCmd         `cmd:"" help:"Get a doc"`
	PageListing DocsPageListingCmd `cmd:"" help:"Get doc page listing"`
	Pages       DocsPagesCmd       `cmd:"" help:"Get all pages in a doc"`
	Page        DocsPageCmd        `cmd:"" help:"Get a single page"`
	Create      DocsCreateCmd      `cmd:"" help:"Create a doc"`
	CreatePage  DocsCreatePageCmd  `cmd:"" help:"Create a page in a doc"`
	EditPage    DocsEditPageCmd    `cmd:"" help:"Edit a page"`
}

type DocsCreateCmd

type DocsCreateCmd struct {
	Name       string `name:"name" short:"n" help:"Doc name" required:""`
	ParentType string `name:"type" short:"t" help:"Parent type (space, folder, list)"`
	ParentID   string `name:"id" short:"i" help:"Parent ID"`
}

func (*DocsCreateCmd) Run

func (cmd *DocsCreateCmd) Run(ctx context.Context) error

type DocsCreatePageCmd

type DocsCreatePageCmd struct {
	DocID         string `arg:"" help:"Doc ID" required:""`
	Name          string `name:"name" short:"n" help:"Page name" required:""`
	Content       string `name:"content" short:"c" help:"Page content (markdown)"`
	ContentFormat string `name:"format" short:"f" help:"Content format (md or html)" default:"md"`
}

func (*DocsCreatePageCmd) Run

func (cmd *DocsCreatePageCmd) Run(ctx context.Context) error

type DocsEditPageCmd

type DocsEditPageCmd struct {
	DocID         string `arg:"" help:"Doc ID" required:""`
	PageID        string `arg:"" help:"Page ID" required:""`
	Name          string `name:"name" short:"n" help:"New page name"`
	Content       string `name:"content" short:"c" help:"New page content (replaces entire content)"`
	ContentFormat string `name:"format" short:"f" help:"Content format (md or html)"`
}

func (*DocsEditPageCmd) Run

func (cmd *DocsEditPageCmd) Run(ctx context.Context) error

type DocsGetCmd

type DocsGetCmd struct {
	DocID string `arg:"" help:"Doc ID" required:""`
}

func (*DocsGetCmd) Run

func (cmd *DocsGetCmd) Run(ctx context.Context) error

type DocsPageCmd

type DocsPageCmd struct {
	DocID  string `arg:"" help:"Doc ID" required:""`
	PageID string `arg:"" help:"Page ID" required:""`
}

func (*DocsPageCmd) Run

func (cmd *DocsPageCmd) Run(ctx context.Context) error

type DocsPageListingCmd

type DocsPageListingCmd struct {
	DocID string `arg:"" help:"Doc ID" required:""`
}

func (*DocsPageListingCmd) Run

func (cmd *DocsPageListingCmd) Run(ctx context.Context) error

type DocsPagesCmd

type DocsPagesCmd struct {
	DocID string `arg:"" help:"Doc ID" required:""`
}

func (*DocsPagesCmd) Run

func (cmd *DocsPagesCmd) Run(ctx context.Context) error

type DocsSearchCmd

type DocsSearchCmd struct {
	Query string `name:"query" short:"q" help:"Search query"`
}

func (*DocsSearchCmd) Run

func (cmd *DocsSearchCmd) Run(ctx context.Context) error

type ExitError

type ExitError struct {
	Code int
	Err  error
}

ExitError wraps an error with an exit code.

func (*ExitError) Error

func (e *ExitError) Error() string

func (*ExitError) Unwrap

func (e *ExitError) Unwrap() error

type FieldsCmd

type FieldsCmd struct {
	List   FieldsListCmd   `cmd:"" help:"List custom fields"`
	Set    FieldsSetCmd    `cmd:"" help:"Set a custom field value"`
	Remove FieldsRemoveCmd `cmd:"" help:"Remove a custom field value"`
}

type FieldsListCmd

type FieldsListCmd struct {
	ListID   string `help:"List ID"`
	FolderID string `help:"Folder ID"`
	SpaceID  string `help:"Space ID"`
	TeamID   string `help:"Team/Workspace ID"`
}

func (*FieldsListCmd) Run

func (cmd *FieldsListCmd) Run(ctx context.Context) error

type FieldsRemoveCmd

type FieldsRemoveCmd struct {
	TaskID  string `arg:"" required:"" help:"Task ID"`
	FieldID string `required:"" help:"Custom field ID"`
}

func (*FieldsRemoveCmd) Run

func (cmd *FieldsRemoveCmd) Run(ctx context.Context) error

type FieldsSetCmd

type FieldsSetCmd struct {
	TaskID  string `arg:"" required:"" help:"Task ID"`
	FieldID string `required:"" help:"Custom field ID"`
	Value   string `arg:"" required:"" help:"Field value (format depends on field type)"`
}

func (*FieldsSetCmd) Run

func (cmd *FieldsSetCmd) Run(ctx context.Context) error

type FoldersCmd

type FoldersCmd struct {
	Get          FoldersGetCmd          `cmd:"" help:"Get folder details"`
	Create       FoldersCreateCmd       `cmd:"" help:"Create a new folder"`
	Update       FoldersUpdateCmd       `cmd:"" help:"Update a folder"`
	Delete       FoldersDeleteCmd       `cmd:"" help:"Delete a folder"`
	FromTemplate FoldersFromTemplateCmd `cmd:"" help:"Create folder from template"`
}

type FoldersCreateCmd

type FoldersCreateCmd struct {
	SpaceID string `arg:"" required:"" help:"Space ID"`
	Name    string `arg:"" required:"" help:"Folder name"`
}

func (*FoldersCreateCmd) Run

func (cmd *FoldersCreateCmd) Run(ctx context.Context) error

type FoldersDeleteCmd

type FoldersDeleteCmd struct {
	FolderID string `arg:"" required:"" help:"Folder ID"`
}

func (*FoldersDeleteCmd) Run

func (cmd *FoldersDeleteCmd) Run(ctx context.Context) error

type FoldersFromTemplateCmd

type FoldersFromTemplateCmd struct {
	SpaceID    string `arg:"" required:"" help:"Space ID"`
	TemplateID string `arg:"" required:"" help:"Template ID"`
	Name       string `help:"New folder name (optional, uses template name if not set)"`
}

func (*FoldersFromTemplateCmd) Run

type FoldersGetCmd

type FoldersGetCmd struct {
	FolderID string `arg:"" required:"" help:"Folder ID"`
}

func (*FoldersGetCmd) Run

func (cmd *FoldersGetCmd) Run(ctx context.Context) error

type FoldersUpdateCmd

type FoldersUpdateCmd struct {
	FolderID string `arg:"" required:"" help:"Folder ID"`
	Name     string `help:"New folder name"`
}

func (*FoldersUpdateCmd) Run

func (cmd *FoldersUpdateCmd) Run(ctx context.Context) error

type GoalsAddKeyResultCmd

type GoalsAddKeyResultCmd struct {
	GoalID     string `arg:"" required:"" help:"Goal ID"`
	Name       string `required:"" help:"Key result name"`
	Type       string `required:"" help:"Key result type (number, currency, boolean, percentage, automatic)"`
	StepsStart int    `help:"Start value for number/currency/percentage types"`
	StepsEnd   int    `help:"End value for number/currency/percentage types"`
	Unit       string `help:"Unit of measurement"`
	Owners     string `help:"Comma-separated list of owner user IDs"`
}

func (*GoalsAddKeyResultCmd) Run

func (cmd *GoalsAddKeyResultCmd) Run(ctx context.Context) error

type GoalsCmd

type GoalsCmd struct {
	List            GoalsListCmd            `cmd:"" help:"List goals"`
	Get             GoalsGetCmd             `cmd:"" help:"Get goal details"`
	Create          GoalsCreateCmd          `cmd:"" help:"Create a goal"`
	Update          GoalsUpdateCmd          `cmd:"" help:"Update a goal"`
	Delete          GoalsDeleteCmd          `cmd:"" help:"Delete a goal"`
	AddKeyResult    GoalsAddKeyResultCmd    `cmd:"" help:"Add key result to goal"`
	UpdateKeyResult GoalsUpdateKeyResultCmd `cmd:"" help:"Update key result progress"`
	DeleteKeyResult GoalsDeleteKeyResultCmd `cmd:"" help:"Delete a key result"`
}

type GoalsCreateCmd

type GoalsCreateCmd struct {
	TeamID      string `arg:"" required:"" help:"Workspace/Team ID"`
	Name        string `arg:"" required:"" help:"Goal name"`
	DueDate     int64  `help:"Due date in milliseconds"`
	Description string `help:"Goal description"`
	Owners      string `help:"Comma-separated list of owner user IDs"`
	Color       string `name:"goal-color" help:"Goal color (hex)"`
}

func (*GoalsCreateCmd) Run

func (cmd *GoalsCreateCmd) Run(ctx context.Context) error

type GoalsDeleteCmd

type GoalsDeleteCmd struct {
	GoalID string `arg:"" required:"" help:"Goal ID"`
}

func (*GoalsDeleteCmd) Run

func (cmd *GoalsDeleteCmd) Run(ctx context.Context) error

type GoalsDeleteKeyResultCmd

type GoalsDeleteKeyResultCmd struct {
	KeyResultID string `arg:"" required:"" help:"Key result ID"`
}

func (*GoalsDeleteKeyResultCmd) Run

type GoalsGetCmd

type GoalsGetCmd struct {
	GoalID string `arg:"" required:"" help:"Goal ID"`
}

func (*GoalsGetCmd) Run

func (cmd *GoalsGetCmd) Run(ctx context.Context) error

type GoalsListCmd

type GoalsListCmd struct {
	TeamID           string `arg:"" required:"" help:"Workspace/Team ID"`
	IncludeCompleted bool   `help:"Include completed goals"`
}

func (*GoalsListCmd) Run

func (cmd *GoalsListCmd) Run(ctx context.Context) error

type GoalsUpdateCmd

type GoalsUpdateCmd struct {
	GoalID       string `arg:"" required:"" help:"Goal ID"`
	Name         string `help:"New goal name"`
	Description  string `help:"New goal description"`
	DueDate      int64  `help:"New due date in milliseconds"`
	Color        string `name:"goal-color" help:"New goal color (hex)"`
	AddOwners    string `help:"Comma-separated list of owner IDs to add"`
	RemoveOwners string `help:"Comma-separated list of owner IDs to remove"`
}

func (*GoalsUpdateCmd) Run

func (cmd *GoalsUpdateCmd) Run(ctx context.Context) error

type GoalsUpdateKeyResultCmd

type GoalsUpdateKeyResultCmd struct {
	KeyResultID  string `arg:"" required:"" help:"Key result ID"`
	StepsCurrent int    `help:"Current progress value"`
	Note         string `help:"Note about progress"`
}

func (*GoalsUpdateKeyResultCmd) Run

type GroupsCmd

type GroupsCmd struct {
	List   GroupsListCmd   `cmd:"" help:"List user groups"`
	Create GroupsCreateCmd `cmd:"" help:"Create a user group"`
	Update GroupsUpdateCmd `cmd:"" help:"Update a user group"`
	Delete GroupsDeleteCmd `cmd:"" help:"Delete a user group"`
}

type GroupsCreateCmd

type GroupsCreateCmd struct {
	TeamID  string `arg:"" required:"" help:"Team (workspace) ID"`
	Name    string `arg:"" required:"" help:"Group name"`
	Members string `help:"Comma-separated user IDs to add"`
}

func (*GroupsCreateCmd) Run

func (cmd *GroupsCreateCmd) Run(ctx context.Context) error

type GroupsDeleteCmd

type GroupsDeleteCmd struct {
	GroupID string `arg:"" required:"" help:"Group ID"`
}

func (*GroupsDeleteCmd) Run

func (cmd *GroupsDeleteCmd) Run(ctx context.Context) error

type GroupsListCmd

type GroupsListCmd struct{}

func (*GroupsListCmd) Run

func (cmd *GroupsListCmd) Run(ctx context.Context) error

type GroupsUpdateCmd

type GroupsUpdateCmd struct {
	GroupID       string `arg:"" required:"" help:"Group ID"`
	Name          string `help:"New group name"`
	AddMembers    string `help:"Comma-separated user IDs to add"`
	RemoveMembers string `help:"Comma-separated user IDs to remove"`
}

func (*GroupsUpdateCmd) Run

func (cmd *GroupsUpdateCmd) Run(ctx context.Context) error

type GuestsAddToFolderCmd

type GuestsAddToFolderCmd struct {
	FolderID        string `arg:"" required:"" help:"Folder ID"`
	GuestID         int    `arg:"" required:"" help:"Guest ID"`
	PermissionLevel string `short:"p" required:"" help:"Permission level: read, comment, edit, create"`
}

func (*GuestsAddToFolderCmd) Run

func (cmd *GuestsAddToFolderCmd) Run(ctx context.Context) error

type GuestsAddToListCmd

type GuestsAddToListCmd struct {
	ListID          string `arg:"" required:"" help:"List ID"`
	GuestID         int    `arg:"" required:"" help:"Guest ID"`
	PermissionLevel string `short:"p" required:"" help:"Permission level: read, comment, edit, create"`
}

func (*GuestsAddToListCmd) Run

func (cmd *GuestsAddToListCmd) Run(ctx context.Context) error

type GuestsAddToTaskCmd

type GuestsAddToTaskCmd struct {
	TaskID          string `arg:"" required:"" help:"Task ID"`
	GuestID         int    `arg:"" required:"" help:"Guest ID"`
	PermissionLevel string `short:"p" required:"" help:"Permission level: read, comment, edit, create"`
}

func (*GuestsAddToTaskCmd) Run

func (cmd *GuestsAddToTaskCmd) Run(ctx context.Context) error

type GuestsCmd

type GuestsCmd struct {
	Get              GuestsGetCmd              `cmd:"" help:"Get a guest by ID"`
	Invite           GuestsInviteCmd           `cmd:"" help:"Invite a guest to the workspace"`
	Update           GuestsUpdateCmd           `cmd:"" help:"Update guest permissions"`
	Remove           GuestsRemoveCmd           `cmd:"" help:"Remove a guest from the workspace"`
	AddToTask        GuestsAddToTaskCmd        `cmd:"" help:"Add a guest to a task"`
	RemoveFromTask   GuestsRemoveFromTaskCmd   `cmd:"" help:"Remove a guest from a task"`
	AddToList        GuestsAddToListCmd        `cmd:"" help:"Add a guest to a list"`
	RemoveFromList   GuestsRemoveFromListCmd   `cmd:"" help:"Remove a guest from a list"`
	AddToFolder      GuestsAddToFolderCmd      `cmd:"" help:"Add a guest to a folder"`
	RemoveFromFolder GuestsRemoveFromFolderCmd `cmd:"" help:"Remove a guest from a folder"`
}

type GuestsGetCmd

type GuestsGetCmd struct {
	TeamID  string `arg:"" required:"" help:"Team (workspace) ID"`
	GuestID int    `arg:"" required:"" help:"Guest ID"`
}

func (*GuestsGetCmd) Run

func (cmd *GuestsGetCmd) Run(ctx context.Context) error

type GuestsInviteCmd

type GuestsInviteCmd struct {
	TeamID              string `arg:"" required:"" help:"Team (workspace) ID"`
	Email               string `arg:"" required:"" help:"Guest email address"`
	CanEditTags         bool   `help:"Allow guest to edit tags"`
	CanSeeTimeSpent     bool   `help:"Allow guest to see time spent"`
	CanSeeTimeEstimated bool   `help:"Allow guest to see time estimated"`
}

func (*GuestsInviteCmd) Run

func (cmd *GuestsInviteCmd) Run(ctx context.Context) error

type GuestsRemoveCmd

type GuestsRemoveCmd struct {
	TeamID  string `arg:"" required:"" help:"Team (workspace) ID"`
	GuestID int    `arg:"" required:"" help:"Guest ID"`
}

func (*GuestsRemoveCmd) Run

func (cmd *GuestsRemoveCmd) Run(ctx context.Context) error

type GuestsRemoveFromFolderCmd

type GuestsRemoveFromFolderCmd struct {
	FolderID string `arg:"" required:"" help:"Folder ID"`
	GuestID  int    `arg:"" required:"" help:"Guest ID"`
}

func (*GuestsRemoveFromFolderCmd) Run

type GuestsRemoveFromListCmd

type GuestsRemoveFromListCmd struct {
	ListID  string `arg:"" required:"" help:"List ID"`
	GuestID int    `arg:"" required:"" help:"Guest ID"`
}

func (*GuestsRemoveFromListCmd) Run

type GuestsRemoveFromTaskCmd

type GuestsRemoveFromTaskCmd struct {
	TaskID  string `arg:"" required:"" help:"Task ID"`
	GuestID int    `arg:"" required:"" help:"Guest ID"`
}

func (*GuestsRemoveFromTaskCmd) Run

type GuestsUpdateCmd

type GuestsUpdateCmd struct {
	TeamID              string `arg:"" required:"" help:"Team (workspace) ID"`
	GuestID             int    `arg:"" required:"" help:"Guest ID"`
	CanEditTags         *bool  `help:"Allow guest to edit tags (true/false)"`
	CanSeeTimeSpent     *bool  `help:"Allow guest to see time spent (true/false)"`
	CanSeeTimeEstimated *bool  `help:"Allow guest to see time estimated (true/false)"`
}

func (*GuestsUpdateCmd) Run

func (cmd *GuestsUpdateCmd) Run(ctx context.Context) error

type ListsAddTaskCmd

type ListsAddTaskCmd struct {
	ListID string `arg:"" required:"" help:"List ID"`
	TaskID string `arg:"" required:"" help:"Task ID"`
}

func (*ListsAddTaskCmd) Run

func (cmd *ListsAddTaskCmd) Run(ctx context.Context) error

type ListsCmd

type ListsCmd struct {
	List         ListsListCmd         `cmd:"" help:"List all lists in a space or folder"`
	Get          ListsGetCmd          `cmd:"" help:"Get list details"`
	Create       ListsCreateCmd       `cmd:"" help:"Create a new list"`
	Update       ListsUpdateCmd       `cmd:"" help:"Update a list"`
	Delete       ListsDeleteCmd       `cmd:"" help:"Delete a list"`
	FromTemplate ListsFromTemplateCmd `cmd:"" help:"Create list from template"`
	AddTask      ListsAddTaskCmd      `cmd:"" help:"Add task to list"`
	RemoveTask   ListsRemoveTaskCmd   `cmd:"" help:"Remove task from list"`
}

type ListsCreateCmd

type ListsCreateCmd struct {
	Name     string `arg:"" required:"" help:"List name"`
	Folder   string `help:"Folder ID to create list in (required unless --space is set)"`
	Space    string `help:"Space ID for folderless list (required unless --folder is set)"`
	Content  string `help:"List description"`
	DueDate  int64  `help:"Due date in milliseconds"`
	Priority int    `help:"Priority (1-4)"`
	Assignee int    `help:"Assignee user ID"`
}

func (*ListsCreateCmd) Run

func (cmd *ListsCreateCmd) Run(ctx context.Context) error

type ListsDeleteCmd

type ListsDeleteCmd struct {
	ListID string `arg:"" required:"" help:"List ID"`
}

func (*ListsDeleteCmd) Run

func (cmd *ListsDeleteCmd) Run(ctx context.Context) error

type ListsFromTemplateCmd

type ListsFromTemplateCmd struct {
	TemplateID string `arg:"" required:"" help:"Template ID"`
	Name       string `arg:"" required:"" help:"New list name"`
	Folder     string `help:"Folder ID to create list in (required unless --space is set)"`
	Space      string `help:"Space ID for folderless list (required unless --folder is set)"`
}

func (*ListsFromTemplateCmd) Run

func (cmd *ListsFromTemplateCmd) Run(ctx context.Context) error

type ListsGetCmd

type ListsGetCmd struct {
	ListID string `arg:"" required:"" help:"List ID"`
}

func (*ListsGetCmd) Run

func (cmd *ListsGetCmd) Run(ctx context.Context) error

type ListsListCmd

type ListsListCmd struct {
	Space  string `help:"Space ID to list from (shows folders + folderless lists)"`
	Folder string `help:"Folder ID to list from"`
}

func (*ListsListCmd) Run

func (cmd *ListsListCmd) Run(ctx context.Context) error

type ListsRemoveTaskCmd

type ListsRemoveTaskCmd struct {
	ListID string `arg:"" required:"" help:"List ID"`
	TaskID string `arg:"" required:"" help:"Task ID"`
}

func (*ListsRemoveTaskCmd) Run

func (cmd *ListsRemoveTaskCmd) Run(ctx context.Context) error

type ListsUpdateCmd

type ListsUpdateCmd struct {
	ListID        string `arg:"" required:"" help:"List ID"`
	Name          string `help:"New list name"`
	Content       string `help:"List description"`
	DueDate       int64  `help:"Due date in milliseconds"`
	Priority      int    `help:"Priority (1-4)"`
	Assignee      int    `help:"Assignee user ID"`
	UnsetAssignee bool   `help:"Remove assignee from list"`
}

func (*ListsUpdateCmd) Run

func (cmd *ListsUpdateCmd) Run(ctx context.Context) error

type MembersCmd

type MembersCmd struct {
	List        MembersListCmd        `cmd:"" help:"List all team members"`
	ListMembers MembersListMembersCmd `cmd:"" help:"List members with access to a list"`
	TaskMembers MembersTaskMembersCmd `cmd:"" help:"List members involved with a task"`
}

type MembersListCmd

type MembersListCmd struct{}

func (*MembersListCmd) Run

func (cmd *MembersListCmd) Run(ctx context.Context) error

type MembersListMembersCmd

type MembersListMembersCmd struct {
	List string `name:"list" help:"List ID" required:""`
}

func (*MembersListMembersCmd) Run

type MembersTaskMembersCmd

type MembersTaskMembersCmd struct {
	Task string `name:"task" help:"Task ID" required:""`
}

func (*MembersTaskMembersCmd) Run

type RelationshipsAddDepCmd

type RelationshipsAddDepCmd struct {
	TaskID       string `arg:"" required:"" help:"Task ID"`
	DependsOn    string `help:"Task ID that this task depends on (this task waits for other)"`
	DependencyOf string `help:"Task ID that depends on this task (this task blocks other)"`
}

func (*RelationshipsAddDepCmd) Run

type RelationshipsCmd

type RelationshipsCmd struct {
	AddDep    RelationshipsAddDepCmd    `cmd:"" help:"Add a task dependency"`
	RemoveDep RelationshipsRemoveDepCmd `cmd:"" help:"Remove a task dependency"`
	Link      RelationshipsLinkCmd      `cmd:"" help:"Link two tasks"`
	Unlink    RelationshipsUnlinkCmd    `cmd:"" help:"Unlink two tasks"`
}

type RelationshipsLinkCmd

type RelationshipsLinkCmd struct {
	TaskID       string `arg:"" required:"" help:"Task ID"`
	LinkedTaskID string `arg:"" required:"" help:"Task ID to link to"`
}

func (*RelationshipsLinkCmd) Run

func (cmd *RelationshipsLinkCmd) Run(ctx context.Context) error

type RelationshipsRemoveDepCmd

type RelationshipsRemoveDepCmd struct {
	TaskID       string `arg:"" required:"" help:"Task ID"`
	DependsOn    string `help:"Task ID to remove as a dependency (this task was waiting for other)"`
	DependencyOf string `help:"Task ID to remove as dependent (this task was blocking other)"`
}

func (*RelationshipsRemoveDepCmd) Run

type RelationshipsUnlinkCmd

type RelationshipsUnlinkCmd struct {
	TaskID       string `arg:"" required:"" help:"Task ID"`
	LinkedTaskID string `arg:"" required:"" help:"Task ID to unlink from"`
}

func (*RelationshipsUnlinkCmd) Run

type RolesCmd

type RolesCmd struct {
	List RolesListCmd `cmd:"" help:"List custom roles"`
}

type RolesListCmd

type RolesListCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
}

func (*RolesListCmd) Run

func (cmd *RolesListCmd) Run(ctx context.Context) error

type RootFlags

type RootFlags struct {
	Color     string `help:"Color output: auto|always|never" default:"${color}"`
	JSON      bool   `help:"Output JSON to stdout (best for scripting)" default:"${json}"`
	Plain     bool   `help:"Output stable, parseable text to stdout (TSV; no colors)" default:"${plain}"`
	Force     bool   `help:"Skip confirmations for destructive commands"`
	NoInput   bool   `help:"Never prompt; fail instead (useful for CI)"`
	Verbose   bool   `help:"Enable verbose logging"`
	Workspace string `help:"Workspace ID for v3 API calls (required for Chat, Docs, etc.)" default:"${workspace}"`
}

type SharedCmd

type SharedCmd struct {
	List SharedListCmd `cmd:"" help:"List shared hierarchy resources"`
}

type SharedListCmd

type SharedListCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
}

func (*SharedListCmd) Run

func (cmd *SharedListCmd) Run(ctx context.Context) error

type SpacesCmd

type SpacesCmd struct {
	List   SpacesListCmd   `cmd:"" help:"List all spaces in the team"`
	Get    SpacesGetCmd    `cmd:"" help:"Get space details"`
	Create SpacesCreateCmd `cmd:"" help:"Create a new space"`
	Update SpacesUpdateCmd `cmd:"" help:"Update a space"`
	Delete SpacesDeleteCmd `cmd:"" help:"Delete a space"`
}

type SpacesCreateCmd

type SpacesCreateCmd struct {
	TeamID            string `arg:"" required:"" help:"Team (workspace) ID"`
	Name              string `arg:"" required:"" help:"Space name"`
	Private           bool   `help:"Make space private"`
	Color             string `name:"space-color" help:"Space color (hex)"`
	MultipleAssignees bool   `help:"Enable multiple assignees"`
}

func (*SpacesCreateCmd) Run

func (cmd *SpacesCreateCmd) Run(ctx context.Context) error

type SpacesDeleteCmd

type SpacesDeleteCmd struct {
	SpaceID string `arg:"" required:"" help:"Space ID"`
}

func (*SpacesDeleteCmd) Run

func (cmd *SpacesDeleteCmd) Run(ctx context.Context) error

type SpacesGetCmd

type SpacesGetCmd struct {
	SpaceID string `arg:"" required:"" help:"Space ID"`
}

func (*SpacesGetCmd) Run

func (cmd *SpacesGetCmd) Run(ctx context.Context) error

type SpacesListCmd

type SpacesListCmd struct{}

func (*SpacesListCmd) Run

func (cmd *SpacesListCmd) Run(ctx context.Context) error

type SpacesUpdateCmd

type SpacesUpdateCmd struct {
	SpaceID           string `arg:"" required:"" help:"Space ID"`
	Name              string `help:"New space name"`
	Color             string `name:"space-color" help:"Space color (hex)"`
	Private           bool   `help:"Make space private"`
	Public            bool   `help:"Make space public"`
	MultipleAssignees bool   `help:"Enable multiple assignees"`
}

func (*SpacesUpdateCmd) Run

func (cmd *SpacesUpdateCmd) Run(ctx context.Context) error

type TagsAddCmd

type TagsAddCmd struct {
	TaskID string `required:"" help:"Task ID"`
	Name   string `arg:"" required:"" help:"Tag name"`
}

func (*TagsAddCmd) Run

func (cmd *TagsAddCmd) Run(ctx context.Context) error

type TagsCmd

type TagsCmd struct {
	List   TagsListCmd   `cmd:"" help:"List tags in a space"`
	Create TagsCreateCmd `cmd:"" help:"Create a tag in a space"`
	Update TagsUpdateCmd `cmd:"" help:"Update a tag in a space"`
	Delete TagsDeleteCmd `cmd:"" help:"Delete a tag from a space"`
	Add    TagsAddCmd    `cmd:"" help:"Add a tag to a task"`
	Remove TagsRemoveCmd `cmd:"" help:"Remove a tag from a task"`
}

type TagsCreateCmd

type TagsCreateCmd struct {
	SpaceID string `required:"" help:"Space ID"`
	Name    string `arg:"" required:"" help:"Tag name"`
	Bg      string `help:"Background color (hex, e.g., #f44336)"`
	Fg      string `help:"Foreground color (hex, e.g., #ffffff)"`
}

func (*TagsCreateCmd) Run

func (cmd *TagsCreateCmd) Run(ctx context.Context) error

type TagsDeleteCmd

type TagsDeleteCmd struct {
	SpaceID string `required:"" help:"Space ID"`
	Name    string `arg:"" required:"" help:"Tag name"`
}

func (*TagsDeleteCmd) Run

func (cmd *TagsDeleteCmd) Run(ctx context.Context) error

type TagsListCmd

type TagsListCmd struct {
	SpaceID string `required:"" help:"Space ID"`
}

func (*TagsListCmd) Run

func (cmd *TagsListCmd) Run(ctx context.Context) error

type TagsRemoveCmd

type TagsRemoveCmd struct {
	TaskID string `required:"" help:"Task ID"`
	Name   string `arg:"" required:"" help:"Tag name"`
}

func (*TagsRemoveCmd) Run

func (cmd *TagsRemoveCmd) Run(ctx context.Context) error

type TagsUpdateCmd

type TagsUpdateCmd struct {
	SpaceID string `required:"" help:"Space ID"`
	Name    string `arg:"" required:"" help:"Current tag name"`
	NewName string `help:"New tag name"`
	Bg      string `help:"Background color (hex, e.g., #f44336)"`
	Fg      string `help:"Foreground color (hex, e.g., #ffffff)"`
}

func (*TagsUpdateCmd) Run

func (cmd *TagsUpdateCmd) Run(ctx context.Context) error

type TaskTypesCmd

type TaskTypesCmd struct {
	List TaskTypesListCmd `cmd:"" help:"List custom task types"`
}

type TaskTypesListCmd

type TaskTypesListCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
}

func (*TaskTypesListCmd) Run

func (cmd *TaskTypesListCmd) Run(ctx context.Context) error

type TasksBulkTimeInStatusCmd

type TasksBulkTimeInStatusCmd struct {
	TaskIDs []string `arg:"" required:"" help:"Task IDs"`
}

TasksBulkTimeInStatusCmd gets time-in-status for multiple tasks.

func (*TasksBulkTimeInStatusCmd) Run

type TasksCmd

type TasksCmd struct {
	List             TasksListCmd             `cmd:"" help:"List tasks in a list"`
	Get              TasksGetCmd              `cmd:"" help:"Get a task by ID"`
	Create           TasksCreateCmd           `cmd:"" help:"Create a new task"`
	Update           TasksUpdateCmd           `cmd:"" help:"Update a task"`
	Delete           TasksDeleteCmd           `cmd:"" help:"Delete a task"`
	Search           TasksSearchCmd           `cmd:"" help:"Search tasks across workspace"`
	TimeInStatus     TasksTimeInStatusCmd     `cmd:"" help:"Get time-in-status for a task"`
	BulkTimeInStatus TasksBulkTimeInStatusCmd `cmd:"" help:"Get time-in-status for multiple tasks"`
	Merge            TasksMergeCmd            `cmd:"" help:"Merge tasks into one"`
	Move             TasksMoveCmd             `cmd:"" help:"Move a task to a different list"`
	FromTemplate     TasksFromTemplateCmd     `cmd:"" help:"Create a task from a template"`
}

type TasksCreateCmd

type TasksCreateCmd struct {
	ListID   string `arg:"" required:"" help:"List ID to create task in"`
	Name     string `arg:"" required:"" help:"Task name"`
	Assignee int    `help:"Assign to user ID"`
	Priority *int   `help:"Priority (1=urgent, 2=high, 3=normal, 4=low)"`
	Due      string `help:"Due date (unix timestamp in milliseconds)"`
}

func (*TasksCreateCmd) Run

func (cmd *TasksCreateCmd) Run(ctx context.Context) error

type TasksDeleteCmd

type TasksDeleteCmd struct {
	TaskID string `arg:"" required:"" help:"Task ID"`
}

func (*TasksDeleteCmd) Run

func (cmd *TasksDeleteCmd) Run(ctx context.Context) error

type TasksFromTemplateCmd

type TasksFromTemplateCmd struct {
	ListID     string `arg:"" required:"" help:"List ID to create task in"`
	TemplateID string `arg:"" required:"" help:"Template ID"`
	Name       string `help:"Override task name"`
}

TasksFromTemplateCmd creates a task from a template.

func (*TasksFromTemplateCmd) Run

func (cmd *TasksFromTemplateCmd) Run(ctx context.Context) error

type TasksGetCmd

type TasksGetCmd struct {
	TaskID string `arg:"" required:"" help:"Task ID"`
}

func (*TasksGetCmd) Run

func (cmd *TasksGetCmd) Run(ctx context.Context) error

type TasksListCmd

type TasksListCmd struct {
	List     string `required:"" help:"List ID to fetch tasks from"`
	Status   string `help:"Filter by status (e.g. open, closed)"`
	Assignee string `help:"Filter by assignee name or ID"`
}

func (*TasksListCmd) Run

func (cmd *TasksListCmd) Run(ctx context.Context) error

type TasksMergeCmd

type TasksMergeCmd struct {
	TargetTaskID  string   `arg:"" required:"" help:"Target task ID to merge into"`
	SourceTaskIDs []string `required:"" help:"Source task IDs to merge (comma-separated or repeated --source)"`
}

TasksMergeCmd merges tasks into one.

func (*TasksMergeCmd) Run

func (cmd *TasksMergeCmd) Run(ctx context.Context) error

type TasksMoveCmd

type TasksMoveCmd struct {
	TaskID string `arg:"" required:"" help:"Task ID to move"`
	ListID string `required:"" help:"Target list ID"`
}

TasksMoveCmd moves a task to a different list.

func (*TasksMoveCmd) Run

func (cmd *TasksMoveCmd) Run(ctx context.Context) error

type TasksSearchCmd

type TasksSearchCmd struct {
	TeamID        string   `required:"" help:"Team ID to search within"`
	Status        []string `help:"Filter by status (can be repeated)"`
	Assignee      []int    `help:"Filter by assignee user ID (can be repeated)"`
	Tag           []string `help:"Filter by tag (can be repeated)"`
	DueDateGt     int64    `help:"Due date greater than (unix ms)"`
	DueDateLt     int64    `help:"Due date less than (unix ms)"`
	IncludeClosed bool     `help:"Include closed tasks"`
	Page          int      `help:"Page number (0-indexed)"`
	OrderBy       string   `help:"Order by field (e.g. due_date, created)"`
}

TasksSearchCmd searches for tasks across a workspace.

func (*TasksSearchCmd) Run

func (cmd *TasksSearchCmd) Run(ctx context.Context) error

type TasksTimeInStatusCmd

type TasksTimeInStatusCmd struct {
	TaskID string `arg:"" required:"" help:"Task ID"`
}

TasksTimeInStatusCmd gets time-in-status for a single task.

func (*TasksTimeInStatusCmd) Run

func (cmd *TasksTimeInStatusCmd) Run(ctx context.Context) error

type TasksUpdateCmd

type TasksUpdateCmd struct {
	TaskID   string `arg:"" required:"" help:"Task ID"`
	Status   string `help:"New status"`
	Name     string `help:"New name"`
	Assignee int    `help:"Assign to user ID (adds assignee)"`
	Unassign int    `help:"Unassign user ID (removes assignee)"`
	Priority *int   `help:"New priority (1=urgent, 2=high, 3=normal, 4=low)"`
}

func (*TasksUpdateCmd) Run

func (cmd *TasksUpdateCmd) Run(ctx context.Context) error

type TemplatesCmd

type TemplatesCmd struct {
	List TemplatesListCmd `cmd:"" help:"List task templates"`
}

type TemplatesListCmd

type TemplatesListCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
	Page   int    `help:"Page number (0-indexed)" default:"0"`
}

func (*TemplatesListCmd) Run

func (cmd *TemplatesListCmd) Run(ctx context.Context) error

type TimeAddTagsCmd

type TimeAddTagsCmd struct {
	EntryIDs string `required:"" help:"Comma-separated time entry IDs"`
	Tags     string `required:"" help:"Comma-separated tag names"`
}

func (*TimeAddTagsCmd) Run

func (cmd *TimeAddTagsCmd) Run(ctx context.Context) error

type TimeCmd

type TimeCmd struct {
	Log        TimeLogCmd        `cmd:"" help:"Log time to a task"`
	List       TimeListCmd       `cmd:"" help:"List time entries for a task"`
	Get        TimeGetCmd        `cmd:"" help:"Get a single time entry"`
	Current    TimeCurrentCmd    `cmd:"" help:"Get the currently running timer"`
	Start      TimeStartCmd      `cmd:"" help:"Start a new timer"`
	Stop       TimeStopCmd       `cmd:"" help:"Stop the currently running timer"`
	Update     TimeUpdateCmd     `cmd:"" help:"Update a time entry"`
	Delete     TimeDeleteCmd     `cmd:"" help:"Delete a time entry"`
	History    TimeHistoryCmd    `cmd:"" help:"Get time entry change history"`
	Tags       TimeTagsCmd       `cmd:"" help:"List all time entry tags"`
	AddTags    TimeAddTagsCmd    `cmd:"" help:"Add tags to time entries"`
	RemoveTags TimeRemoveTagsCmd `cmd:"" help:"Remove tags from time entries"`
	RenameTag  TimeRenameTagCmd  `cmd:"" help:"Rename a time entry tag"`
}

type TimeCurrentCmd

type TimeCurrentCmd struct{}

func (*TimeCurrentCmd) Run

func (cmd *TimeCurrentCmd) Run(ctx context.Context) error

type TimeDeleteCmd

type TimeDeleteCmd struct {
	EntryID string `arg:"" required:"" help:"Time entry ID"`
}

func (*TimeDeleteCmd) Run

func (cmd *TimeDeleteCmd) Run(ctx context.Context) error

type TimeGetCmd

type TimeGetCmd struct {
	EntryID string `arg:"" required:"" help:"Time entry ID"`
}

func (*TimeGetCmd) Run

func (cmd *TimeGetCmd) Run(ctx context.Context) error

type TimeHistoryCmd

type TimeHistoryCmd struct {
	EntryID string `arg:"" required:"" help:"Time entry ID"`
}

func (*TimeHistoryCmd) Run

func (cmd *TimeHistoryCmd) Run(ctx context.Context) error

type TimeLegacyCmd

type TimeLegacyCmd struct {
	List   TimeLegacyListCmd   `cmd:"" help:"List tracked time for a task"`
	Track  TimeLegacyTrackCmd  `cmd:"" help:"Track time on a task"`
	Update TimeLegacyUpdateCmd `cmd:"" help:"Update tracked time"`
	Delete TimeLegacyDeleteCmd `cmd:"" help:"Delete tracked time"`
}

type TimeLegacyDeleteCmd

type TimeLegacyDeleteCmd struct {
	TaskID     string `arg:"" required:"" help:"Task ID"`
	IntervalID string `arg:"" required:"" help:"Interval ID"`
}

func (*TimeLegacyDeleteCmd) Run

func (cmd *TimeLegacyDeleteCmd) Run(ctx context.Context) error

type TimeLegacyListCmd

type TimeLegacyListCmd struct {
	TaskID        string `arg:"" required:"" help:"Task ID"`
	CustomTaskIDs bool   `help:"Treat task ID as custom task ID"`
	TeamID        string `help:"Team ID (required when using custom task IDs)"`
}

func (*TimeLegacyListCmd) Run

func (cmd *TimeLegacyListCmd) Run(ctx context.Context) error

type TimeLegacyTrackCmd

type TimeLegacyTrackCmd struct {
	TaskID string `arg:"" required:"" help:"Task ID"`
	Time   int64  `required:"" help:"Duration in milliseconds"`
	Start  int64  `help:"Start timestamp in milliseconds"`
	End    int64  `help:"End timestamp in milliseconds"`
}

func (*TimeLegacyTrackCmd) Run

func (cmd *TimeLegacyTrackCmd) Run(ctx context.Context) error

type TimeLegacyUpdateCmd

type TimeLegacyUpdateCmd struct {
	TaskID     string `arg:"" required:"" help:"Task ID"`
	IntervalID string `arg:"" required:"" help:"Interval ID"`
	Time       int64  `help:"Duration in milliseconds"`
	Start      int64  `help:"Start timestamp in milliseconds"`
	End        int64  `help:"End timestamp in milliseconds"`
}

func (*TimeLegacyUpdateCmd) Run

func (cmd *TimeLegacyUpdateCmd) Run(ctx context.Context) error

type TimeListCmd

type TimeListCmd struct {
	TaskID string `arg:"" required:"" help:"Task ID"`
}

func (*TimeListCmd) Run

func (cmd *TimeListCmd) Run(ctx context.Context) error

type TimeLogCmd

type TimeLogCmd struct {
	TaskID     string `arg:"" required:"" help:"Task ID"`
	DurationMs int64  `arg:"" required:"" help:"Duration in milliseconds"`
	Start      string `help:"Start time as Unix ms timestamp, or 'now' (default: now)" default:"now"`
}

func (*TimeLogCmd) Run

func (cmd *TimeLogCmd) Run(ctx context.Context) error

type TimeRemoveTagsCmd

type TimeRemoveTagsCmd struct {
	EntryIDs string `required:"" help:"Comma-separated time entry IDs"`
	Tags     string `required:"" help:"Comma-separated tag names"`
}

func (*TimeRemoveTagsCmd) Run

func (cmd *TimeRemoveTagsCmd) Run(ctx context.Context) error

type TimeRenameTagCmd

type TimeRenameTagCmd struct {
	OldName string `required:"" help:"Current tag name"`
	NewName string `required:"" help:"New tag name"`
}

func (*TimeRenameTagCmd) Run

func (cmd *TimeRenameTagCmd) Run(ctx context.Context) error

type TimeStartCmd

type TimeStartCmd struct {
	TaskID      string   `help:"Task ID to associate timer with"`
	Description string   `help:"Description for the timer"`
	Billable    bool     `help:"Mark timer as billable"`
	Tags        []string `help:"Tags to apply to the timer"`
}

func (*TimeStartCmd) Run

func (cmd *TimeStartCmd) Run(ctx context.Context) error

type TimeStopCmd

type TimeStopCmd struct{}

func (*TimeStopCmd) Run

func (cmd *TimeStopCmd) Run(ctx context.Context) error

type TimeTagsCmd

type TimeTagsCmd struct{}

func (*TimeTagsCmd) Run

func (cmd *TimeTagsCmd) Run(ctx context.Context) error

type TimeUpdateCmd

type TimeUpdateCmd struct {
	EntryID     string   `arg:"" required:"" help:"Time entry ID"`
	Description string   `help:"New description"`
	Duration    int64    `help:"New duration in milliseconds"`
	Start       int64    `help:"New start time in milliseconds"`
	End         int64    `help:"New end time in milliseconds"`
	Billable    *bool    `help:"Mark as billable (true/false)"`
	TagAction   string   `help:"Tag action: 'add' or 'remove'"`
	Tags        []string `help:"Tags to add or remove"`
}

func (*TimeUpdateCmd) Run

func (cmd *TimeUpdateCmd) Run(ctx context.Context) error

type UsersCmd

type UsersCmd struct {
	Get    UsersGetCmd    `cmd:"" help:"Get user details"`
	Invite UsersInviteCmd `cmd:"" help:"Invite user to workspace"`
	Update UsersUpdateCmd `cmd:"" help:"Update user role"`
	Remove UsersRemoveCmd `cmd:"" help:"Remove user from workspace"`
}

type UsersGetCmd

type UsersGetCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
	UserID int    `arg:"" required:"" help:"User ID"`
}

func (*UsersGetCmd) Run

func (cmd *UsersGetCmd) Run(ctx context.Context) error

type UsersInviteCmd

type UsersInviteCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
	Email  string `required:"" help:"Email address to invite"`
	Admin  bool   `help:"Grant admin role"`
}

func (*UsersInviteCmd) Run

func (cmd *UsersInviteCmd) Run(ctx context.Context) error

type UsersRemoveCmd

type UsersRemoveCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
	UserID int    `arg:"" required:"" help:"User ID"`
}

func (*UsersRemoveCmd) Run

func (cmd *UsersRemoveCmd) Run(ctx context.Context) error

type UsersUpdateCmd

type UsersUpdateCmd struct {
	TeamID   string `arg:"" required:"" help:"Team (workspace) ID"`
	UserID   int    `arg:"" required:"" help:"User ID"`
	Username string `help:"New username"`
	Admin    bool   `help:"Grant admin role (set to false to remove admin)"`
}

func (*UsersUpdateCmd) Run

func (cmd *UsersUpdateCmd) Run(ctx context.Context) error

type VersionCmd

type VersionCmd struct{}

func (*VersionCmd) Run

func (cmd *VersionCmd) Run(ctx context.Context) error

type ViewsCmd

type ViewsCmd struct {
	List   ViewsListCmd   `cmd:"" help:"List views"`
	Get    ViewsGetCmd    `cmd:"" help:"Get a view by ID"`
	Tasks  ViewsTasksCmd  `cmd:"" help:"Get tasks in a view"`
	Create ViewsCreateCmd `cmd:"" help:"Create a new view"`
	Update ViewsUpdateCmd `cmd:"" help:"Update a view"`
	Delete ViewsDeleteCmd `cmd:"" help:"Delete a view"`
}

type ViewsCreateCmd

type ViewsCreateCmd struct {
	Team   string `help:"Create view in a workspace/team"`
	Space  string `help:"Create view in a space"`
	Folder string `help:"Create view in a folder"`
	List   string `help:"Create view in a list"`
	Name   string `arg:"" required:"" help:"View name"`
	Type   string `required:"" help:"View type (list, board, calendar, gantt, activity, map, workload, table)"`
}

func (*ViewsCreateCmd) Run

func (cmd *ViewsCreateCmd) Run(ctx context.Context) error

type ViewsDeleteCmd

type ViewsDeleteCmd struct {
	ViewID string `arg:"" required:"" help:"View ID"`
}

func (*ViewsDeleteCmd) Run

func (cmd *ViewsDeleteCmd) Run(ctx context.Context) error

type ViewsGetCmd

type ViewsGetCmd struct {
	ViewID string `arg:"" required:"" help:"View ID"`
}

func (*ViewsGetCmd) Run

func (cmd *ViewsGetCmd) Run(ctx context.Context) error

type ViewsListCmd

type ViewsListCmd struct {
	Team   string `help:"List views in a workspace/team"`
	Space  string `help:"List views in a space"`
	Folder string `help:"List views in a folder"`
	List   string `help:"List views in a list"`
}

func (*ViewsListCmd) Run

func (cmd *ViewsListCmd) Run(ctx context.Context) error

type ViewsTasksCmd

type ViewsTasksCmd struct {
	ViewID string `arg:"" required:"" help:"View ID"`
	Page   int    `help:"Page number for pagination"`
}

func (*ViewsTasksCmd) Run

func (cmd *ViewsTasksCmd) Run(ctx context.Context) error

type ViewsUpdateCmd

type ViewsUpdateCmd struct {
	ViewID string `arg:"" required:"" help:"View ID"`
	Name   string `help:"New view name"`
}

func (*ViewsUpdateCmd) Run

func (cmd *ViewsUpdateCmd) Run(ctx context.Context) error

type WebhooksCmd

type WebhooksCmd struct {
	List   WebhooksListCmd   `cmd:"" help:"List webhooks"`
	Create WebhooksCreateCmd `cmd:"" help:"Create a webhook"`
	Update WebhooksUpdateCmd `cmd:"" help:"Update a webhook"`
	Delete WebhooksDeleteCmd `cmd:"" help:"Delete a webhook"`
}

type WebhooksCreateCmd

type WebhooksCreateCmd struct {
	TeamID   string `arg:"" required:"" help:"Workspace/Team ID"`
	Endpoint string `required:"" help:"Webhook endpoint URL"`
	Events   string `required:"" help:"Comma-separated list of events"`
	Space    string `help:"Scope to space ID"`
	Folder   string `help:"Scope to folder ID"`
	List     string `help:"Scope to list ID"`
	Task     string `help:"Scope to task ID"`
}

func (*WebhooksCreateCmd) Run

func (cmd *WebhooksCreateCmd) Run(ctx context.Context) error

type WebhooksDeleteCmd

type WebhooksDeleteCmd struct {
	WebhookID string `arg:"" required:"" help:"Webhook ID"`
}

func (*WebhooksDeleteCmd) Run

func (cmd *WebhooksDeleteCmd) Run(ctx context.Context) error

type WebhooksListCmd

type WebhooksListCmd struct {
	TeamID string `arg:"" required:"" help:"Workspace/Team ID"`
}

func (*WebhooksListCmd) Run

func (cmd *WebhooksListCmd) Run(ctx context.Context) error

type WebhooksUpdateCmd

type WebhooksUpdateCmd struct {
	WebhookID string `arg:"" required:"" help:"Webhook ID"`
	Endpoint  string `help:"New endpoint URL"`
	Events    string `help:"Comma-separated list of events"`
	Status    string `help:"Webhook status (active or inactive)"`
}

func (*WebhooksUpdateCmd) Run

func (cmd *WebhooksUpdateCmd) Run(ctx context.Context) error

type WorkspacesCmd

type WorkspacesCmd struct {
	List  WorkspacesListCmd  `cmd:"" help:"List workspaces (teams)"`
	Plan  WorkspacesPlanCmd  `cmd:"" help:"Get workspace plan"`
	Seats WorkspacesSeatsCmd `cmd:"" help:"Get workspace seat usage"`
}

type WorkspacesListCmd

type WorkspacesListCmd struct{}

func (*WorkspacesListCmd) Run

func (cmd *WorkspacesListCmd) Run(ctx context.Context) error

type WorkspacesPlanCmd

type WorkspacesPlanCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
}

func (*WorkspacesPlanCmd) Run

func (cmd *WorkspacesPlanCmd) Run(ctx context.Context) error

type WorkspacesSeatsCmd

type WorkspacesSeatsCmd struct {
	TeamID string `arg:"" required:"" help:"Team (workspace) ID"`
}

func (*WorkspacesSeatsCmd) Run

func (cmd *WorkspacesSeatsCmd) Run(ctx context.Context) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL