Documentation
¶
Index ¶
- func CheckAllowlist(rctx *RunContext, command string) error
- func EnsureAuth(rctx *RunContext, services []string) error
- func Execute() int
- func Preflight(rctx *RunContext, command string, services []string) (done bool, err error)
- type AgentCmd
- type AgentExitCodesCmd
- type AnalyticsAudiencesCmd
- type AnalyticsCmd
- type AnalyticsPropertiesCmd
- type AnalyticsRealtimeCmd
- type AnalyticsReportCmd
- type AuthCmd
- type AuthExportCmd
- type AuthImportCmd
- type AuthLoginCmd
- type AuthLogoutCmd
- type AuthStatusCmd
- type BQDatasetsCmd
- type BQDescribeCmd
- type BQQueryCmd
- type BQTablesCmd
- type BigQueryCmd
- type BugIntakeCmd
- type CLI
- type CalendarAgendaCmd
- type CalendarCmd
- type CalendarCreateCmd
- type CalendarDeleteCmd
- type CalendarFindSlotCmd
- type CalendarListCmd
- type CalendarUpdateCmd
- type ChatCmd
- type ChatMessagesCmd
- type ChatSendCmd
- type ChatSpacesCmd
- type CompletionBashCmd
- type CompletionCmd
- type CompletionFishCmd
- type CompletionZshCmd
- type ConfigCmd
- type ConfigGetCmd
- type ConfigListCmd
- type ConfigSetCmd
- type ContactsCmd
- type ContactsGetCmd
- type ContactsListCmd
- type ContactsSearchCmd
- type ContextBoostCmd
- type ContextCmd
- type ContextEmails
- type ContextEvents
- type ContextFiles
- type ContextResult
- type DocsAppendCmd
- type DocsCmd
- type DocsCreateCmd
- type DocsExportCmd
- type DocsFromSheetCmd
- type DocsGetCmd
- type DocsReplaceCmd
- type DocsSearchCmd
- type DocsTemplateCmd
- type DoctorCmd
- type DriveCmd
- type DriveDownloadCmd
- type DriveListCmd
- type DriveMkdirCmd
- type DriveSearchCmd
- type DriveShareCmd
- type DriveUploadCmd
- type EmailFromDocCmd
- type FormsCmd
- type FormsGetCmd
- type FormsResponseCmd
- type FormsResponsesCmd
- type GitHubCmd
- type GitHubCreateCmd
- type GitHubCreateIssueCmd
- type GitHubIssuesCmd
- type GitHubLoginCmd
- type GitHubLogoutCmd
- type GitHubNotifyCmd
- type GitHubPullCmd
- type GitHubPullsCmd
- type GitHubReposCmd
- type GitHubRunsCmd
- type GitHubStatusCmd
- type GmailArchiveCmd
- type GmailCmd
- type GmailDigestCmd
- type GmailDraftCmd
- type GmailForwardCmd
- type GmailGetCmd
- type GmailLabelCmd
- type GmailLabelsCmd
- type GmailListCmd
- type GmailReplyCmd
- type GmailSearchCmd
- type GmailSendCmd
- type MCPServerCmd
- type MeetingPrepCmd
- type NotionCmd
- type NotionCreateCmd
- type NotionDatabasesCmd
- type NotionLoginCmd
- type NotionPageCmd
- type NotionQueryCmd
- type NotionSearchCmd
- type NotionStatusCmd
- type ObsidianAppendCmd
- type ObsidianCmd
- type ObsidianCreateCmd
- type ObsidianDailyCmd
- type ObsidianFoldersCmd
- type ObsidianListCmd
- type ObsidianReadCmd
- type ObsidianRecentCmd
- type ObsidianSearchCmd
- type ObsidianSetupCmd
- type ObsidianTagsCmd
- type OnboardCmd
- type ParallelScheduleCmd
- type PipeCmd
- type ReviewNotifyCmd
- type RunContext
- type SchemaCmd
- type SearchConsoleCmd
- type SearchConsoleIndexStatusCmd
- type SearchConsoleInspectCmd
- type SearchConsoleQueryCmd
- type SearchConsoleSitemapsCmd
- type SearchConsoleSitesCmd
- type SearchResultGroup
- type SheetToEmailCmd
- type SheetsAppendCmd
- type SheetsClearCmd
- type SheetsCmd
- type SheetsCopyTabCmd
- type SheetsCreateCmd
- type SheetsDescribeCmd
- type SheetsDiffCmd
- type SheetsExportCmd
- type SheetsFilterCmd
- type SheetsImportCmd
- type SheetsInfoCmd
- type SheetsReadCmd
- type SheetsSearchCmd
- type SheetsSmartAppendCmd
- type SheetsStatsCmd
- type SheetsUpdateCmd
- type SkillCmd
- type SkillInspectCmd
- type SkillInstallCmd
- type SkillListCmd
- type SkillRemoveCmd
- type SkillValidateCmd
- type SlackChannelsCmd
- type SlackCmd
- type SlackLoginCmd
- type SlackMessagesCmd
- type SlackSearchCmd
- type SlackSendCmd
- type SlackStatusCmd
- type SlackUsersCmd
- type SlidesCmd
- type SlidesCreateCmd
- type SlidesDuplicateCmd
- type SlidesExportCmd
- type SlidesFromSheetCmd
- type SlidesGetCmd
- type SlidesListCmd
- type SpecHealthCmd
- type SprintBoardCmd
- type StandupCmd
- type TasksCmd
- type TasksCompleteCmd
- type TasksCreateCmd
- type TasksDeleteCmd
- type TasksListCmd
- type TasksListsCmd
- type TestMatrixCmd
- type TokenExport
- type UnifiedSearchCmd
- type UpdateCmd
- type VersionCmd
- type WeeklyDigestCmd
- type WorkflowCmd
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckAllowlist ¶
func CheckAllowlist(rctx *RunContext, command string) error
CheckAllowlist verifies a command is permitted by the allowlist.
func EnsureAuth ¶
func EnsureAuth(rctx *RunContext, services []string) error
EnsureAuth loads credentials and creates an API client.
func Preflight ¶ added in v0.9.1
func Preflight(rctx *RunContext, command string, services []string) (done bool, err error)
Preflight checks allowlist + auth + dry-run in one call. If dry-run is active, it prints a standard response and returns a sentinel error that the caller should return directly (not an actual error — the response is already printed).
Usage in Run():
if done, err := Preflight(rctx, "gmail.list", []string{"gmail"}); done {
return err
}
Types ¶
type AgentCmd ¶
type AgentCmd struct {
ExitCodes AgentExitCodesCmd `cmd:"exit-codes" help:"Print stable exit code reference"`
}
AgentCmd provides helpers for LLM agent integration.
type AgentExitCodesCmd ¶
type AgentExitCodesCmd struct{}
AgentExitCodesCmd prints all exit codes for agent automation.
func (*AgentExitCodesCmd) Run ¶
func (c *AgentExitCodesCmd) Run(rctx *RunContext) error
type AnalyticsAudiencesCmd ¶ added in v0.9.1
type AnalyticsAudiencesCmd struct {
Property string `help:"GA4 property ID (e.g. properties/123456)" short:"p"`
}
AnalyticsAudiencesCmd lists audiences for a specified GA4 property.
func (*AnalyticsAudiencesCmd) Run ¶ added in v0.9.1
func (c *AnalyticsAudiencesCmd) Run(rctx *RunContext) error
type AnalyticsCmd ¶ added in v0.9.1
type AnalyticsCmd struct {
Report AnalyticsReportCmd `cmd:"" help:"Run a GA4 report query"`
Realtime AnalyticsRealtimeCmd `cmd:"" help:"Get real-time analytics data"`
Properties AnalyticsPropertiesCmd `cmd:"" help:"List GA4 properties"`
Audiences AnalyticsAudiencesCmd `cmd:"" help:"List audiences for a property"`
}
AnalyticsCmd groups Google Analytics 4 operations.
type AnalyticsPropertiesCmd ¶ added in v0.9.1
type AnalyticsPropertiesCmd struct{}
AnalyticsPropertiesCmd lists all accessible GA4 properties.
func (*AnalyticsPropertiesCmd) Run ¶ added in v0.9.1
func (c *AnalyticsPropertiesCmd) Run(rctx *RunContext) error
type AnalyticsRealtimeCmd ¶ added in v0.9.1
type AnalyticsRealtimeCmd struct {
Property string `help:"GA4 property ID (e.g. properties/123456)" short:"p"`
Metrics []string `help:"Metrics to query (e.g. activeUsers)" required:""`
Dimensions []string `help:"Dimensions to group by (e.g. country)"`
Limit int64 `help:"Max rows to return" default:"100" short:"n"`
}
AnalyticsRealtimeCmd retrieves real-time GA4 data.
func (*AnalyticsRealtimeCmd) Run ¶ added in v0.9.1
func (c *AnalyticsRealtimeCmd) Run(rctx *RunContext) error
type AnalyticsReportCmd ¶ added in v0.9.1
type AnalyticsReportCmd struct {
Property string `help:"GA4 property ID (e.g. properties/123456)" short:"p"`
Metrics []string `help:"Metrics to query (e.g. sessions,activeUsers)" required:""`
Dimensions []string `help:"Dimensions to group by (e.g. date,country)"`
StartDate string `help:"Start date (YYYY-MM-DD or relative: today, yesterday, 7daysAgo)" name:"start-date" default:"7daysAgo"`
EndDate string `help:"End date (YYYY-MM-DD or relative)" name:"end-date" default:"today"`
Limit int64 `help:"Max rows to return" default:"100" short:"n"`
}
AnalyticsReportCmd runs a standard GA4 report.
func (*AnalyticsReportCmd) Run ¶ added in v0.9.1
func (c *AnalyticsReportCmd) Run(rctx *RunContext) error
type AuthCmd ¶
type AuthCmd struct {
Login AuthLoginCmd `cmd:"" help:"Sign in to Google account"`
Logout AuthLogoutCmd `cmd:"" help:"Remove saved credentials"`
Status AuthStatusCmd `cmd:"" help:"Check authentication status"`
Export AuthExportCmd `cmd:"" help:"Export token as JSON to stdout"`
Import AuthImportCmd `cmd:"" help:"Import token from JSON"`
}
AuthCmd manages authentication.
type AuthExportCmd ¶ added in v0.25.0
type AuthExportCmd struct{}
AuthExportCmd exports the stored OAuth2 token as JSON to stdout.
func (*AuthExportCmd) Run ¶ added in v0.25.0
func (c *AuthExportCmd) Run(rctx *RunContext) error
type AuthImportCmd ¶ added in v0.25.0
type AuthImportCmd struct {
JSON string `help:"Token JSON string" name:"json"`
}
AuthImportCmd imports a token from JSON.
func (*AuthImportCmd) Run ¶ added in v0.25.0
func (c *AuthImportCmd) Run(rctx *RunContext) error
type AuthLoginCmd ¶
type AuthLoginCmd struct {
CredentialsFile string `help:"Path to OAuth credentials JSON" name:"credentials" short:"c"`
Manual bool `help:"Use manual (headless) auth flow" name:"manual"`
Services []string `help:"Services to authorize" default:"gmail,calendar,drive,docs,sheets,tasks,people,chat,analytics,searchconsole"`
}
AuthLoginCmd performs OAuth2 login.
func (*AuthLoginCmd) Run ¶
func (c *AuthLoginCmd) Run(rctx *RunContext) error
type AuthLogoutCmd ¶
type AuthLogoutCmd struct{}
AuthLogoutCmd removes saved token.
func (*AuthLogoutCmd) Run ¶
func (c *AuthLogoutCmd) Run(rctx *RunContext) error
type AuthStatusCmd ¶
type AuthStatusCmd struct{}
AuthStatusCmd checks auth status.
func (*AuthStatusCmd) Run ¶
func (c *AuthStatusCmd) Run(rctx *RunContext) error
type BQDatasetsCmd ¶ added in v0.13.0
type BQDatasetsCmd struct {
Project string `help:"GCP project ID" short:"p"`
}
BQDatasetsCmd lists datasets in a project.
func (*BQDatasetsCmd) Run ¶ added in v0.13.0
func (c *BQDatasetsCmd) Run(rctx *RunContext) error
type BQDescribeCmd ¶ added in v0.13.0
type BQDescribeCmd struct {
Table string `arg:"" help:"Table ID to describe"`
Project string `help:"GCP project ID" short:"p"`
Dataset string `help:"Dataset ID" required:"" short:"d"`
}
BQDescribeCmd describes a table's schema.
func (*BQDescribeCmd) Run ¶ added in v0.13.0
func (c *BQDescribeCmd) Run(rctx *RunContext) error
type BQQueryCmd ¶ added in v0.13.0
type BQQueryCmd struct {
SQL string `arg:"" help:"SQL query to execute"`
Project string `help:"GCP project ID" short:"p"`
Limit int `help:"Max rows to return" default:"100" short:"n"`
}
BQQueryCmd runs a SQL query.
func (*BQQueryCmd) Run ¶ added in v0.13.0
func (c *BQQueryCmd) Run(rctx *RunContext) error
type BQTablesCmd ¶ added in v0.13.0
type BQTablesCmd struct {
Project string `help:"GCP project ID" short:"p"`
Dataset string `help:"Dataset ID" required:"" short:"d"`
}
BQTablesCmd lists tables in a dataset.
func (*BQTablesCmd) Run ¶ added in v0.13.0
func (c *BQTablesCmd) Run(rctx *RunContext) error
type BigQueryCmd ¶ added in v0.13.0
type BigQueryCmd struct {
Query BQQueryCmd `cmd:"" help:"Run a SQL query"`
Datasets BQDatasetsCmd `cmd:"" help:"List datasets"`
Tables BQTablesCmd `cmd:"" help:"List tables"`
Describe BQDescribeCmd `cmd:"" help:"Describe a table"`
}
BigQueryCmd groups BigQuery operations.
type BugIntakeCmd ¶ added in v0.9.1
type BugIntakeCmd struct {
BugID string `help:"Bug ID or keyword to search" name:"bug-id"`
After string `help:"Date filter (e.g. 2026/03/15)" name:"after"`
Execute bool `help:"Execute actions" name:"execute"`
}
BugIntakeCmd implements gwx workflow bug-intake.
func (*BugIntakeCmd) Run ¶ added in v0.9.1
func (c *BugIntakeCmd) Run(rctx *RunContext) error
type CLI ¶
type CLI struct {
// Global flags
Format string `help:"Output format: json, plain, table" short:"f" default:"json" enum:"json,plain,table"`
Account string `help:"Account email to use" short:"a" default:"default"`
Fields string `help:"Comma-separated fields to include in output (e.g. id,name,subject)" name:"fields"`
DryRun bool `help:"Validate without executing" name:"dry-run"`
NoInput bool `help:"Disable interactive prompts" name:"no-input"`
NoCache bool `help:"Disable caching" name:"no-cache" default:"false"`
// Shortcuts (desire paths)
Send GmailSendCmd `cmd:"" help:"Send an email (shortcut for gmail send)" hidden:""`
Ls DriveListCmd `cmd:"" help:"List Drive files (shortcut for drive list)" hidden:""`
Search GmailSearchCmd `cmd:"" help:"Search Gmail (shortcut for gmail search)" hidden:""`
Find UnifiedSearchCmd `cmd:"" help:"Search across Gmail + Drive + Contacts"`
Context ContextCmd `cmd:"" help:"Gather all context for a topic across services"`
// Service commands
Auth AuthCmd `cmd:"" help:"Authentication management"`
Onboard OnboardCmd `cmd:"" help:"Interactive setup wizard"`
Gmail GmailCmd `cmd:"" help:"Gmail operations"`
Calendar CalendarCmd `cmd:"" help:"Calendar operations"`
Drive DriveCmd `cmd:"" help:"Google Drive operations"`
Docs DocsCmd `cmd:"" help:"Google Docs operations"`
Sheets SheetsCmd `cmd:"" help:"Google Sheets operations"`
Tasks TasksCmd `cmd:"" help:"Google Tasks operations"`
Contacts ContactsCmd `cmd:"" help:"Contacts operations"`
Chat ChatCmd `cmd:"" help:"Google Chat operations"`
Analytics AnalyticsCmd `cmd:"" help:"Google Analytics 4 operations"`
SearchConsole SearchConsoleCmd `cmd:"searchconsole" help:"Google Search Console operations"`
Slides SlidesCmd `cmd:"" help:"Google Slides operations"`
Forms FormsCmd `cmd:"" help:"Google Forms operations"`
BigQuery BigQueryCmd `cmd:"bigquery" help:"BigQuery operations"`
GitHub GitHubCmd `cmd:"" help:"GitHub operations"`
Slack SlackCmd `cmd:"" help:"Slack operations"`
Notion NotionCmd `cmd:"" help:"Notion operations"`
Obsidian ObsidianCmd `cmd:"" help:"Obsidian vault operations"`
Config ConfigCmd `cmd:"" help:"Configuration management"`
// Workflow commands
Standup StandupCmd `cmd:"" help:"Daily standup report (aggregate Git + Gmail + Calendar + Tasks)"`
MeetingPrep MeetingPrepCmd `cmd:"meeting-prep" help:"Prepare context for an upcoming meeting"`
Workflow WorkflowCmd `cmd:"" help:"Workflow commands (test-matrix, sprint-board, etc.)"`
Pipe PipeCmd `cmd:"" help:"Chain gwx commands via JSON pipeline"`
Agent AgentCmd `cmd:"" help:"Agent automation helpers"`
Skill SkillCmd `cmd:"" help:"Skill DSL operations"`
Schema SchemaCmd `cmd:"" help:"Print full command schema (for agent introspection)"`
MCPServer MCPServerCmd `cmd:"mcp-server" help:"Start MCP server (stdio) for Claude integration"`
Completion CompletionCmd `cmd:"" help:"Generate shell completion scripts"`
Doctor DoctorCmd `cmd:"" help:"Diagnose configuration and connectivity"`
Version VersionCmd `cmd:"" help:"Print version"`
Update UpdateCmd `cmd:"" help:"Check for and install updates"`
}
CLI is the root command struct for gwx.
type CalendarAgendaCmd ¶
type CalendarAgendaCmd struct {
Days int `help:"Number of days to show (e.g. --days 7)" default:"1" short:"d"`
}
CalendarAgendaCmd shows today's (or N days) events.
func (*CalendarAgendaCmd) Run ¶
func (c *CalendarAgendaCmd) Run(rctx *RunContext) error
type CalendarCmd ¶
type CalendarCmd struct {
Agenda CalendarAgendaCmd `cmd:"" help:"Show upcoming events"`
List CalendarListCmd `cmd:"" help:"List events in a date range"`
Create CalendarCreateCmd `cmd:"" help:"Create an event"`
Update CalendarUpdateCmd `cmd:"" help:"Update an event"`
Delete CalendarDeleteCmd `cmd:"" help:"Delete an event"`
FindSlot CalendarFindSlotCmd `cmd:"find-slot" help:"Find free time slots"`
}
CalendarCmd groups Calendar operations.
type CalendarCreateCmd ¶
type CalendarCreateCmd struct {
Title string `help:"Event title" required:""`
Start string `help:"Start time (RFC3339 or YYYY-MM-DD)" required:""`
End string `help:"End time (RFC3339 or YYYY-MM-DD)" required:""`
Location string `help:"Location"`
Description string `help:"Description"`
Attendees []string `help:"Attendee emails"`
Timezone string `help:"Timezone (e.g. Asia/Taipei)" name:"tz"`
}
CalendarCreateCmd creates an event.
func (*CalendarCreateCmd) Run ¶
func (c *CalendarCreateCmd) Run(rctx *RunContext) error
type CalendarDeleteCmd ¶
type CalendarDeleteCmd struct {
EventID string `arg:"" help:"Event ID to delete"`
}
CalendarDeleteCmd deletes an event.
func (*CalendarDeleteCmd) Run ¶
func (c *CalendarDeleteCmd) Run(rctx *RunContext) error
type CalendarFindSlotCmd ¶
type CalendarFindSlotCmd struct {
Attendees []string `help:"Attendee emails to check" required:""`
Duration string `help:"Meeting duration (e.g. 30m, 1h)" default:"30m" short:"d"`
Days int `help:"Days ahead to search" default:"3"`
}
CalendarFindSlotCmd finds free time slots.
func (*CalendarFindSlotCmd) Run ¶
func (c *CalendarFindSlotCmd) Run(rctx *RunContext) error
type CalendarListCmd ¶
type CalendarListCmd struct {
From string `help:"Start date (RFC3339 or YYYY-MM-DD)" required:""`
To string `help:"End date (RFC3339 or YYYY-MM-DD)" required:""`
Limit int64 `help:"Max results" default:"25" short:"n"`
}
CalendarListCmd lists events in a date range.
func (*CalendarListCmd) Run ¶
func (c *CalendarListCmd) Run(rctx *RunContext) error
type CalendarUpdateCmd ¶
type CalendarUpdateCmd struct {
EventID string `arg:"" help:"Event ID to update"`
Title string `help:"New title"`
Start string `help:"New start time"`
End string `help:"New end time"`
Location string `help:"New location"`
Description string `help:"New description"`
Attendees []string `help:"New attendee list"`
Timezone string `help:"Timezone" name:"tz"`
}
CalendarUpdateCmd updates an event.
func (*CalendarUpdateCmd) Run ¶
func (c *CalendarUpdateCmd) Run(rctx *RunContext) error
type ChatCmd ¶
type ChatCmd struct {
Spaces ChatSpacesCmd `cmd:"" help:"List Chat spaces"`
Send ChatSendCmd `cmd:"" help:"Send a message to a space"`
Messages ChatMessagesCmd `cmd:"" help:"List messages in a space"`
}
ChatCmd groups Chat operations.
type ChatMessagesCmd ¶
type ChatMessagesCmd struct {
Space string `arg:"" help:"Space name (e.g. spaces/AAAA)"`
Limit int `help:"Max messages" default:"20" short:"n"`
}
ChatMessagesCmd lists messages.
func (*ChatMessagesCmd) Run ¶
func (c *ChatMessagesCmd) Run(rctx *RunContext) error
type ChatSendCmd ¶
type ChatSendCmd struct {
Space string `arg:"" help:"Space name (e.g. spaces/AAAA)"`
Text string `help:"Message text" required:"" short:"t"`
}
ChatSendCmd sends a message.
func (*ChatSendCmd) Run ¶
func (c *ChatSendCmd) Run(rctx *RunContext) error
type ChatSpacesCmd ¶
type ChatSpacesCmd struct {
Limit int `help:"Max spaces to return" default:"50" short:"n"`
}
ChatSpacesCmd lists spaces.
func (*ChatSpacesCmd) Run ¶
func (c *ChatSpacesCmd) Run(rctx *RunContext) error
type CompletionBashCmd ¶ added in v0.15.0
type CompletionBashCmd struct{}
CompletionBashCmd generates bash completion.
func (*CompletionBashCmd) Run ¶ added in v0.15.0
func (c *CompletionBashCmd) Run(rctx *RunContext) error
type CompletionCmd ¶ added in v0.15.0
type CompletionCmd struct {
Bash CompletionBashCmd `cmd:"" help:"Generate bash completion script"`
Zsh CompletionZshCmd `cmd:"" help:"Generate zsh completion script"`
Fish CompletionFishCmd `cmd:"" help:"Generate fish completion script"`
}
CompletionCmd generates shell completion scripts.
type CompletionFishCmd ¶ added in v0.15.0
type CompletionFishCmd struct{}
CompletionFishCmd generates fish completion.
func (*CompletionFishCmd) Run ¶ added in v0.15.0
func (c *CompletionFishCmd) Run(rctx *RunContext) error
type CompletionZshCmd ¶ added in v0.15.0
type CompletionZshCmd struct{}
CompletionZshCmd generates zsh completion.
func (*CompletionZshCmd) Run ¶ added in v0.15.0
func (c *CompletionZshCmd) Run(rctx *RunContext) error
type ConfigCmd ¶ added in v0.9.1
type ConfigCmd struct {
Set ConfigSetCmd `cmd:"" help:"Set a configuration value"`
Get ConfigGetCmd `cmd:"" help:"Get a configuration value"`
List ConfigListCmd `cmd:"" help:"List all configuration values"`
}
ConfigCmd groups configuration management operations.
type ConfigGetCmd ¶ added in v0.9.1
type ConfigGetCmd struct {
Key string `arg:"" help:"Configuration key to retrieve"`
}
ConfigGetCmd retrieves a single configuration key.
func (*ConfigGetCmd) Run ¶ added in v0.9.1
func (c *ConfigGetCmd) Run(rctx *RunContext) error
type ConfigListCmd ¶ added in v0.9.1
type ConfigListCmd struct{}
ConfigListCmd lists all configuration key-value pairs.
func (*ConfigListCmd) Run ¶ added in v0.9.1
func (c *ConfigListCmd) Run(rctx *RunContext) error
type ConfigSetCmd ¶ added in v0.9.1
type ConfigSetCmd struct {
Key string `arg:"" help:"Configuration key (e.g. analytics.default-property)"`
Value string `arg:"" help:"Configuration value"`
}
ConfigSetCmd sets a single configuration key.
func (*ConfigSetCmd) Run ¶ added in v0.9.1
func (c *ConfigSetCmd) Run(rctx *RunContext) error
type ContactsCmd ¶
type ContactsCmd struct {
List ContactsListCmd `cmd:"" help:"List contacts"`
Search ContactsSearchCmd `cmd:"" help:"Search contacts"`
Get ContactsGetCmd `cmd:"" help:"Get a contact"`
}
ContactsCmd groups Contacts operations.
type ContactsGetCmd ¶
type ContactsGetCmd struct {
ResourceName string `arg:"" help:"Contact resource name (e.g. people/c123)"`
}
ContactsGetCmd gets a contact.
func (*ContactsGetCmd) Run ¶
func (c *ContactsGetCmd) Run(rctx *RunContext) error
type ContactsListCmd ¶
type ContactsListCmd struct {
Limit int `help:"Max contacts to return" default:"50" short:"n"`
}
ContactsListCmd lists contacts.
func (*ContactsListCmd) Run ¶
func (c *ContactsListCmd) Run(rctx *RunContext) error
type ContactsSearchCmd ¶
type ContactsSearchCmd struct {
Query string `arg:"" help:"Search query (name or email)"`
Limit int `help:"Max results" default:"20" short:"n"`
}
ContactsSearchCmd searches contacts.
func (*ContactsSearchCmd) Run ¶
func (c *ContactsSearchCmd) Run(rctx *RunContext) error
type ContextBoostCmd ¶ added in v0.9.1
type ContextBoostCmd struct {
Topic string `arg:"" help:"Topic to gather context for"`
Days int `help:"Days of history" default:"14" short:"d"`
Limit int `help:"Max results per service" default:"10" short:"n"`
}
ContextBoostCmd implements gwx workflow context-boost.
func (*ContextBoostCmd) Run ¶ added in v0.9.1
func (c *ContextBoostCmd) Run(rctx *RunContext) error
type ContextCmd ¶ added in v0.3.0
type ContextCmd struct {
Topic string `arg:"" help:"Topic or keyword to gather context for"`
Days int `help:"How many days of calendar events to include" default:"7" short:"d"`
Limit int `help:"Max results per service" default:"5" short:"n"`
}
ContextCmd gathers all context related to a topic across Gmail, Drive, and Calendar.
func (*ContextCmd) Run ¶ added in v0.3.0
func (c *ContextCmd) Run(rctx *RunContext) error
type ContextEmails ¶ added in v0.3.0
type ContextEmails struct {
Count int `json:"count"`
Messages []api.MessageSummary `json:"messages"`
Error string `json:"error,omitempty"`
}
type ContextEvents ¶ added in v0.3.0
type ContextEvents struct {
Count int `json:"count"`
Events []api.EventSummary `json:"events"`
Error string `json:"error,omitempty"`
}
type ContextFiles ¶ added in v0.3.0
type ContextFiles struct {
Count int `json:"count"`
Files []api.FileSummary `json:"files"`
Error string `json:"error,omitempty"`
}
type ContextResult ¶ added in v0.3.0
type ContextResult struct {
Topic string `json:"topic"`
Emails *ContextEmails `json:"emails"`
Files *ContextFiles `json:"files"`
Events *ContextEvents `json:"events,omitempty"`
Summary string `json:"summary"`
}
ContextResult holds aggregated context from multiple services.
type DocsAppendCmd ¶
type DocsAppendCmd struct {
DocID string `arg:"" help:"Document ID"`
Text string `help:"Text to append" required:"" short:"t"`
}
DocsAppendCmd appends text to a document.
func (*DocsAppendCmd) Run ¶
func (c *DocsAppendCmd) Run(rctx *RunContext) error
type DocsCmd ¶
type DocsCmd struct {
Get DocsGetCmd `cmd:"" help:"Get document content"`
Create DocsCreateCmd `cmd:"" help:"Create a document"`
Append DocsAppendCmd `cmd:"" help:"Append text to a document"`
Search DocsSearchCmd `cmd:"" help:"Search text in a document"`
Replace DocsReplaceCmd `cmd:"" help:"Find and replace text"`
Template DocsTemplateCmd `cmd:"" help:"Create doc from template with {{var}} replacement"`
FromSheet DocsFromSheetCmd `cmd:"from-sheet" help:"Create doc from spreadsheet data"`
Export DocsExportCmd `cmd:"" help:"Export document to file"`
}
DocsCmd groups Docs operations.
type DocsCreateCmd ¶
type DocsCreateCmd struct {
Title string `help:"Document title" required:""`
Body string `help:"Initial body text" short:"b"`
}
DocsCreateCmd creates a document.
func (*DocsCreateCmd) Run ¶
func (c *DocsCreateCmd) Run(rctx *RunContext) error
type DocsExportCmd ¶
type DocsExportCmd struct {
DocID string `arg:"" help:"Document ID"`
ExportFmt string `help:"Export format: pdf, docx, txt, html" default:"pdf" enum:"pdf,docx,txt,html" name:"export-format"`
Output string `help:"Output file path" short:"o"`
}
DocsExportCmd exports a document. NOTE: services = ["docs", "drive"] — export writes to Drive, requires both scopes.
func (*DocsExportCmd) Run ¶
func (c *DocsExportCmd) Run(rctx *RunContext) error
type DocsFromSheetCmd ¶ added in v0.4.0
type DocsFromSheetCmd struct {
SpreadsheetID string `arg:"" help:"Source spreadsheet ID"`
Range string `arg:"" help:"Range to read (e.g. Sheet1!A1:D10)"`
Title string `help:"Document title" required:""`
}
DocsFromSheetCmd creates a doc from spreadsheet data. NOTE: services = ["docs", "sheets"] — reads Sheets then writes Docs, requires both scopes.
func (*DocsFromSheetCmd) Run ¶ added in v0.4.0
func (c *DocsFromSheetCmd) Run(rctx *RunContext) error
type DocsGetCmd ¶
type DocsGetCmd struct {
DocID string `arg:"" help:"Document ID"`
}
DocsGetCmd retrieves a document.
func (*DocsGetCmd) Run ¶
func (c *DocsGetCmd) Run(rctx *RunContext) error
type DocsReplaceCmd ¶ added in v0.4.0
type DocsReplaceCmd struct {
DocID string `arg:"" help:"Document ID"`
Find string `help:"Text to find" required:""`
Replace string `help:"Replacement text" required:"" name:"with"`
}
DocsReplaceCmd finds and replaces text.
func (*DocsReplaceCmd) Run ¶ added in v0.4.0
func (c *DocsReplaceCmd) Run(rctx *RunContext) error
type DocsSearchCmd ¶ added in v0.4.0
type DocsSearchCmd struct {
DocID string `arg:"" help:"Document ID"`
Query string `help:"Text to search for" required:"" short:"q"`
}
DocsSearchCmd searches text within a document.
func (*DocsSearchCmd) Run ¶ added in v0.4.0
func (c *DocsSearchCmd) Run(rctx *RunContext) error
type DocsTemplateCmd ¶ added in v0.7.0
type DocsTemplateCmd struct {
TemplateID string `arg:"" help:"Template document ID"`
Vars string `help:"JSON object of variables: {\"name\":\"Alice\",\"date\":\"2026-03-17\"}" required:"" short:"v"`
Title string `help:"New document title (default: template title + ' (from template)')"`
}
DocsTemplateCmd creates a doc from a template with {{var}} replacement. NOTE: manual Preflight — json.Unmarshal(vars) must happen before DryRun so that invalid --vars JSON is caught even in dry-run mode. Preflight would short-circuit at DryRun before the validation runs, causing silent bad input to pass.
func (*DocsTemplateCmd) Run ¶ added in v0.7.0
func (c *DocsTemplateCmd) Run(rctx *RunContext) error
type DoctorCmd ¶ added in v0.15.0
type DoctorCmd struct{}
DoctorCmd runs a health check on the gwx installation.
func (*DoctorCmd) Run ¶ added in v0.15.0
func (c *DoctorCmd) Run(rctx *RunContext) error
type DriveCmd ¶
type DriveCmd struct {
List DriveListCmd `cmd:"" help:"List files"`
Search DriveSearchCmd `cmd:"" help:"Search files"`
Upload DriveUploadCmd `cmd:"" help:"Upload a file"`
Download DriveDownloadCmd `cmd:"" help:"Download a file"`
Mkdir DriveMkdirCmd `cmd:"" help:"Create a folder"`
}
DriveCmd groups Drive operations.
type DriveDownloadCmd ¶
type DriveDownloadCmd struct {
FileID string `arg:"" help:"File ID to download"`
Output string `help:"Output path" short:"o"`
}
DriveDownloadCmd downloads a file.
func (*DriveDownloadCmd) Run ¶
func (c *DriveDownloadCmd) Run(rctx *RunContext) error
type DriveListCmd ¶
type DriveListCmd struct {
Folder string `help:"Folder ID to list" short:"d"`
Limit int64 `help:"Max files to return" default:"20" short:"n"`
}
DriveListCmd lists files.
func (*DriveListCmd) Run ¶
func (c *DriveListCmd) Run(rctx *RunContext) error
type DriveMkdirCmd ¶
type DriveMkdirCmd struct {
Name string `arg:"" help:"Folder name"`
Parent string `help:"Parent folder ID" short:"p"`
}
DriveMkdirCmd creates a folder.
func (*DriveMkdirCmd) Run ¶
func (c *DriveMkdirCmd) Run(rctx *RunContext) error
type DriveSearchCmd ¶
type DriveSearchCmd struct {
Query string `arg:"" help:"Drive search query (e.g. name contains 'report')"`
Limit int64 `help:"Max results" default:"20" short:"n"`
}
DriveSearchCmd searches files.
func (*DriveSearchCmd) Run ¶
func (c *DriveSearchCmd) Run(rctx *RunContext) error
type DriveShareCmd ¶
type DriveShareCmd struct {
}
DriveShareCmd shares a file.
func (*DriveShareCmd) Run ¶
func (c *DriveShareCmd) Run(rctx *RunContext) error
type DriveUploadCmd ¶
type DriveUploadCmd struct {
File string `arg:"" help:"Local file path to upload"`
Folder string `help:"Destination folder ID" short:"d"`
Name string `help:"Override file name"`
}
DriveUploadCmd uploads a file.
func (*DriveUploadCmd) Run ¶
func (c *DriveUploadCmd) Run(rctx *RunContext) error
type EmailFromDocCmd ¶ added in v0.9.1
type EmailFromDocCmd struct {
DocID string `help:"Google Doc ID" name:"doc-id" required:""`
Recipients string `help:"Comma-separated recipient emails" name:"recipients"`
Subject string `help:"Email subject override" name:"subject"`
Execute bool `help:"Execute actions" name:"execute"`
}
EmailFromDocCmd implements gwx workflow email-from-doc.
func (*EmailFromDocCmd) Run ¶ added in v0.9.1
func (c *EmailFromDocCmd) Run(rctx *RunContext) error
type FormsCmd ¶ added in v0.13.0
type FormsCmd struct {
Get FormsGetCmd `cmd:"" help:"Get form structure"`
Responses FormsResponsesCmd `cmd:"" help:"List form responses"`
Response FormsResponseCmd `cmd:"" help:"Get a single form response"`
}
FormsCmd groups Google Forms operations.
type FormsGetCmd ¶ added in v0.13.0
type FormsGetCmd struct {
FormID string `arg:"" help:"Form ID to retrieve"`
}
FormsGetCmd retrieves a form's structure.
func (*FormsGetCmd) Run ¶ added in v0.13.0
func (c *FormsGetCmd) Run(rctx *RunContext) error
type FormsResponseCmd ¶ added in v0.13.0
type FormsResponseCmd struct {
FormID string `arg:"" help:"Form ID"`
ResponseID string `arg:"" help:"Response ID"`
}
FormsResponseCmd gets a single form response.
func (*FormsResponseCmd) Run ¶ added in v0.13.0
func (c *FormsResponseCmd) Run(rctx *RunContext) error
type FormsResponsesCmd ¶ added in v0.13.0
type FormsResponsesCmd struct {
FormID string `arg:"" help:"Form ID"`
Limit int `help:"Max responses to return" default:"50" short:"n"`
}
FormsResponsesCmd lists form responses.
func (*FormsResponsesCmd) Run ¶ added in v0.13.0
func (c *FormsResponsesCmd) Run(rctx *RunContext) error
type GitHubCmd ¶ added in v0.13.0
type GitHubCmd struct {
Login GitHubLoginCmd `cmd:"" help:"Save GitHub personal access token"`
Logout GitHubLogoutCmd `cmd:"" help:"Remove saved GitHub token"`
Status GitHubStatusCmd `cmd:"" help:"Check GitHub auth status"`
Repos GitHubReposCmd `cmd:"" help:"List your repositories"`
Issues GitHubIssuesCmd `cmd:"" help:"List issues for a repository"`
Pulls GitHubPullsCmd `cmd:"" help:"List pull requests for a repository"`
Pull GitHubPullCmd `cmd:"" help:"Get a single pull request"`
Runs GitHubRunsCmd `cmd:"" help:"List workflow runs for a repository"`
Notify GitHubNotifyCmd `cmd:"" help:"List notifications"`
Create GitHubCreateCmd `cmd:"" help:"Create GitHub resources"`
}
GitHubCmd groups GitHub operations. GitHub commands use a personal access token stored separately from Google OAuth.
type GitHubCreateCmd ¶ added in v0.13.0
type GitHubCreateCmd struct {
Issue GitHubCreateIssueCmd `cmd:"" help:"Create an issue"`
}
GitHubCreateCmd groups creation commands.
type GitHubCreateIssueCmd ¶ added in v0.13.0
type GitHubCreateIssueCmd struct {
Repo string `arg:"" help:"Repository in 'owner/repo' format"`
Title string `help:"Issue title" required:"" short:"t"`
Body string `help:"Issue body" short:"b"`
Labels []string `help:"Labels to apply (comma-separated)" short:"l"`
}
GitHubCreateIssueCmd creates an issue.
func (*GitHubCreateIssueCmd) Run ¶ added in v0.13.0
func (c *GitHubCreateIssueCmd) Run(rctx *RunContext) error
type GitHubIssuesCmd ¶ added in v0.13.0
type GitHubIssuesCmd struct {
Repo string `arg:"" help:"Repository in 'owner/repo' format"`
State string `help:"Issue state: open, closed, all" default:"open" enum:"open,closed,all"`
Limit int `help:"Max issues to return" default:"30" short:"n"`
}
GitHubIssuesCmd lists issues for a repository.
func (*GitHubIssuesCmd) Run ¶ added in v0.13.0
func (c *GitHubIssuesCmd) Run(rctx *RunContext) error
type GitHubLoginCmd ¶ added in v0.13.0
type GitHubLoginCmd struct {
Token string `help:"GitHub personal access token (classic or fine-grained)" required:""`
}
GitHubLoginCmd saves a GitHub personal access token.
func (*GitHubLoginCmd) Run ¶ added in v0.13.0
func (c *GitHubLoginCmd) Run(rctx *RunContext) error
type GitHubLogoutCmd ¶ added in v0.13.0
type GitHubLogoutCmd struct{}
GitHubLogoutCmd removes the saved GitHub token.
func (*GitHubLogoutCmd) Run ¶ added in v0.13.0
func (c *GitHubLogoutCmd) Run(rctx *RunContext) error
type GitHubNotifyCmd ¶ added in v0.13.0
type GitHubNotifyCmd struct {
Limit int `help:"Max notifications to return" default:"30" short:"n"`
}
GitHubNotifyCmd lists notifications.
func (*GitHubNotifyCmd) Run ¶ added in v0.13.0
func (c *GitHubNotifyCmd) Run(rctx *RunContext) error
type GitHubPullCmd ¶ added in v0.13.0
type GitHubPullCmd struct {
Repo string `arg:"" help:"Repository in 'owner/repo' format"`
Number int `arg:"" help:"Pull request number"`
}
GitHubPullCmd gets a single pull request.
func (*GitHubPullCmd) Run ¶ added in v0.13.0
func (c *GitHubPullCmd) Run(rctx *RunContext) error
type GitHubPullsCmd ¶ added in v0.13.0
type GitHubPullsCmd struct {
Repo string `arg:"" help:"Repository in 'owner/repo' format"`
State string `help:"PR state: open, closed, all" default:"open" enum:"open,closed,all"`
Limit int `help:"Max PRs to return" default:"30" short:"n"`
}
GitHubPullsCmd lists pull requests.
func (*GitHubPullsCmd) Run ¶ added in v0.13.0
func (c *GitHubPullsCmd) Run(rctx *RunContext) error
type GitHubReposCmd ¶ added in v0.13.0
type GitHubReposCmd struct {
Limit int `help:"Max repositories to return" default:"30" short:"n"`
}
GitHubReposCmd lists repositories.
func (*GitHubReposCmd) Run ¶ added in v0.13.0
func (c *GitHubReposCmd) Run(rctx *RunContext) error
type GitHubRunsCmd ¶ added in v0.13.0
type GitHubRunsCmd struct {
Repo string `arg:"" help:"Repository in 'owner/repo' format"`
Limit int `help:"Max runs to return" default:"10" short:"n"`
}
GitHubRunsCmd lists workflow runs.
func (*GitHubRunsCmd) Run ¶ added in v0.13.0
func (c *GitHubRunsCmd) Run(rctx *RunContext) error
type GitHubStatusCmd ¶ added in v0.13.0
type GitHubStatusCmd struct{}
GitHubStatusCmd checks GitHub authentication status.
func (*GitHubStatusCmd) Run ¶ added in v0.13.0
func (c *GitHubStatusCmd) Run(rctx *RunContext) error
type GmailArchiveCmd ¶ added in v0.3.0
type GmailArchiveCmd struct {
Query string `arg:"" help:"Gmail search query for messages to archive"`
Limit int64 `help:"Max messages to archive" default:"50" short:"n"`
ReadOnly bool `help:"Only mark as read, don't remove from inbox" name:"read-only"`
}
GmailArchiveCmd batch archives messages.
func (*GmailArchiveCmd) Run ¶ added in v0.3.0
func (c *GmailArchiveCmd) Run(rctx *RunContext) error
type GmailCmd ¶
type GmailCmd struct {
List GmailListCmd `cmd:"" help:"List messages"`
Get GmailGetCmd `cmd:"" help:"Get a single message"`
Search GmailSearchCmd `cmd:"" help:"Search messages"`
Labels GmailLabelsCmd `cmd:"" help:"List labels"`
Send GmailSendCmd `cmd:"" help:"Send an email"`
Draft GmailDraftCmd `cmd:"" help:"Create a draft"`
Reply GmailReplyCmd `cmd:"" help:"Reply to a message"`
Digest GmailDigestCmd `cmd:"" help:"Smart digest of recent messages"`
Archive GmailArchiveCmd `cmd:"" help:"Batch archive messages"`
Label GmailLabelCmd `cmd:"" help:"Batch add/remove labels on messages"`
Forward GmailForwardCmd `cmd:"" help:"Forward a message to new recipients"`
}
GmailCmd groups Gmail operations.
type GmailDigestCmd ¶ added in v0.3.0
type GmailDigestCmd struct {
Limit int64 `help:"Max messages to analyze" default:"30" short:"n"`
Unread bool `help:"Only unread messages" short:"u"`
}
GmailDigestCmd produces a smart digest.
func (*GmailDigestCmd) Run ¶ added in v0.3.0
func (c *GmailDigestCmd) Run(rctx *RunContext) error
type GmailDraftCmd ¶
type GmailDraftCmd struct {
To []string `help:"Recipients" required:"" short:"t"`
CC []string `help:"CC recipients" short:"c"`
Subject string `help:"Email subject" required:"" short:"s"`
Body string `help:"Email body text" required:"" short:"b"`
Attach []string `help:"File paths to attach" short:"A"`
}
GmailDraftCmd creates a draft.
func (*GmailDraftCmd) Run ¶
func (c *GmailDraftCmd) Run(rctx *RunContext) error
type GmailForwardCmd ¶ added in v0.9.1
type GmailForwardCmd struct {
MessageID string `arg:"" help:"Message ID to forward"`
To []string `help:"Forward recipients (e.g. --to a@b.com,c@d.com)" required:"" short:"t"`
}
GmailForwardCmd forwards a message.
func (*GmailForwardCmd) Run ¶ added in v0.9.1
func (c *GmailForwardCmd) Run(rctx *RunContext) error
type GmailGetCmd ¶
type GmailGetCmd struct {
MessageID string `arg:"" help:"Message ID to retrieve"`
}
GmailGetCmd gets a single message.
func (*GmailGetCmd) Run ¶
func (c *GmailGetCmd) Run(rctx *RunContext) error
type GmailLabelCmd ¶ added in v0.9.1
type GmailLabelCmd struct {
Query string `arg:"" help:"Gmail search query (e.g. 'subject:CI from:github')"`
Add []string `help:"Labels to add (e.g. --add CI,Important)" name:"add"`
Remove []string `help:"Labels to remove (e.g. --remove INBOX)" name:"remove"`
Limit int64 `help:"Max messages to modify" default:"50" short:"n"`
}
GmailLabelCmd batch modifies labels on messages.
func (*GmailLabelCmd) Run ¶ added in v0.9.1
func (c *GmailLabelCmd) Run(rctx *RunContext) error
type GmailLabelsCmd ¶
type GmailLabelsCmd struct{}
GmailLabelsCmd lists labels.
func (*GmailLabelsCmd) Run ¶
func (c *GmailLabelsCmd) Run(rctx *RunContext) error
type GmailListCmd ¶
type GmailListCmd struct {
Limit int64 `help:"Max messages to return (e.g. --limit 5)" default:"10" short:"n"`
Label string `help:"Filter by label (e.g. --label INBOX)" short:"l"`
Unread bool `help:"Only show unread messages" short:"u"`
}
GmailListCmd lists Gmail messages.
func (*GmailListCmd) Run ¶
func (c *GmailListCmd) Run(rctx *RunContext) error
type GmailReplyCmd ¶
type GmailReplyCmd struct {
MessageID string `arg:"" help:"Message ID to reply to"`
Body string `help:"Reply body text" required:"" short:"b"`
ReplyAll bool `help:"Reply to all recipients" name:"reply-all"`
}
GmailReplyCmd replies to a message.
func (*GmailReplyCmd) Run ¶
func (c *GmailReplyCmd) Run(rctx *RunContext) error
type GmailSearchCmd ¶
type GmailSearchCmd struct {
Query string `arg:"" help:"Gmail search query (e.g. 'from:boss subject:urgent')"`
Limit int64 `help:"Max results" default:"10" short:"n"`
}
GmailSearchCmd searches messages.
func (*GmailSearchCmd) Run ¶
func (c *GmailSearchCmd) Run(rctx *RunContext) error
type GmailSendCmd ¶
type GmailSendCmd struct {
To []string `help:"Recipients, comma-separated (e.g. --to a@b.com,c@d.com)" required:"" short:"t"`
CC []string `help:"CC recipients" short:"c"`
BCC []string `help:"BCC recipients"`
Subject string `help:"Email subject (e.g. --subject 'Hello')" required:"" short:"s"`
Body string `help:"Email body text (e.g. --body 'Hi there')" required:"" short:"b"`
Attach []string `help:"File paths to attach" short:"A"`
}
GmailSendCmd sends an email.
func (*GmailSendCmd) Run ¶
func (c *GmailSendCmd) Run(rctx *RunContext) error
type MCPServerCmd ¶ added in v0.2.0
type MCPServerCmd struct{}
MCPServerCmd starts the MCP server over stdio.
func (*MCPServerCmd) Run ¶ added in v0.2.0
func (c *MCPServerCmd) Run(rctx *RunContext) error
type MeetingPrepCmd ¶ added in v0.9.1
type MeetingPrepCmd struct {
Meeting string `arg:"" help:"Meeting title or keyword to match"`
Days int `help:"Days ahead to search" default:"1" short:"d"`
Execute bool `help:"Execute actions" name:"execute"`
}
MeetingPrepCmd implements gwx meeting-prep.
func (*MeetingPrepCmd) Run ¶ added in v0.9.1
func (c *MeetingPrepCmd) Run(rctx *RunContext) error
type NotionCmd ¶ added in v0.13.0
type NotionCmd struct {
Login NotionLoginCmd `cmd:"" help:"Save Notion integration token"`
Status NotionStatusCmd `cmd:"" help:"Check Notion auth status"`
Search NotionSearchCmd `cmd:"" help:"Search pages"`
Page NotionPageCmd `cmd:"" help:"Get a page"`
Create NotionCreateCmd `cmd:"" help:"Create a page in a database"`
Databases NotionDatabasesCmd `cmd:"" help:"List databases"`
Query NotionQueryCmd `cmd:"" help:"Query a database"`
}
NotionCmd groups Notion operations.
type NotionCreateCmd ¶ added in v0.13.0
type NotionCreateCmd struct {
ParentID string `help:"Parent database ID" required:"" name:"parent"`
Title string `help:"Page title" required:"" short:"t"`
Properties string `help:"Extra properties as JSON object" name:"props" default:""`
}
NotionCreateCmd creates a page in a Notion database.
func (*NotionCreateCmd) Run ¶ added in v0.13.0
func (c *NotionCreateCmd) Run(rctx *RunContext) error
type NotionDatabasesCmd ¶ added in v0.13.0
type NotionDatabasesCmd struct {
Limit int `help:"Max databases to return" default:"20" short:"n"`
}
NotionDatabasesCmd lists databases visible to the integration.
func (*NotionDatabasesCmd) Run ¶ added in v0.13.0
func (c *NotionDatabasesCmd) Run(rctx *RunContext) error
type NotionLoginCmd ¶ added in v0.13.0
type NotionLoginCmd struct {
Token string `arg:"" help:"Notion integration token (ntn_...)"`
}
NotionLoginCmd saves a Notion integration token.
func (*NotionLoginCmd) Run ¶ added in v0.13.0
func (c *NotionLoginCmd) Run(rctx *RunContext) error
type NotionPageCmd ¶ added in v0.13.0
type NotionPageCmd struct {
PageID string `arg:"" help:"Page ID"`
}
NotionPageCmd retrieves a Notion page.
func (*NotionPageCmd) Run ¶ added in v0.13.0
func (c *NotionPageCmd) Run(rctx *RunContext) error
type NotionQueryCmd ¶ added in v0.13.0
type NotionQueryCmd struct {
DatabaseID string `arg:"" help:"Database ID to query"`
Filter string `help:"Filter as JSON object" default:""`
Limit int `help:"Max results" default:"20" short:"n"`
}
NotionQueryCmd queries a Notion database.
func (*NotionQueryCmd) Run ¶ added in v0.13.0
func (c *NotionQueryCmd) Run(rctx *RunContext) error
type NotionSearchCmd ¶ added in v0.13.0
type NotionSearchCmd struct {
Query string `arg:"" help:"Search query" default:""`
Limit int `help:"Max results" default:"20" short:"n"`
}
NotionSearchCmd searches Notion pages.
func (*NotionSearchCmd) Run ¶ added in v0.13.0
func (c *NotionSearchCmd) Run(rctx *RunContext) error
type NotionStatusCmd ¶ added in v0.13.0
type NotionStatusCmd struct{}
NotionStatusCmd checks Notion auth status.
func (*NotionStatusCmd) Run ¶ added in v0.13.0
func (c *NotionStatusCmd) Run(rctx *RunContext) error
type ObsidianAppendCmd ¶ added in v0.22.0
type ObsidianAppendCmd struct {
NotePath string `arg:"" help:"Note path relative to vault root"`
Text string `help:"Text to append" required:"" short:"t"`
}
ObsidianAppendCmd appends text to an existing note.
func (*ObsidianAppendCmd) Run ¶ added in v0.22.0
func (c *ObsidianAppendCmd) Run(rctx *RunContext) error
type ObsidianCmd ¶ added in v0.22.0
type ObsidianCmd struct {
Setup ObsidianSetupCmd `cmd:"" help:"Set vault path"`
List ObsidianListCmd `cmd:"" help:"List notes"`
Search ObsidianSearchCmd `cmd:"" help:"Search note content"`
Read ObsidianReadCmd `cmd:"" help:"Read a note"`
Create ObsidianCreateCmd `cmd:"" help:"Create a note"`
Append ObsidianAppendCmd `cmd:"" help:"Append to a note"`
Daily ObsidianDailyCmd `cmd:"" help:"Create/append daily note"`
Tags ObsidianTagsCmd `cmd:"" help:"List all tags"`
Recent ObsidianRecentCmd `cmd:"" help:"List recently modified notes"`
Folders ObsidianFoldersCmd `cmd:"" help:"List vault folders"`
}
ObsidianCmd groups Obsidian vault operations. Obsidian uses local filesystem — no API auth needed.
type ObsidianCreateCmd ¶ added in v0.22.0
type ObsidianCreateCmd struct {
NotePath string `arg:"" help:"Note path relative to vault root"`
Content string `help:"Note content (or pipe via stdin)" short:"c"`
}
ObsidianCreateCmd creates a new note.
func (*ObsidianCreateCmd) Run ¶ added in v0.22.0
func (c *ObsidianCreateCmd) Run(rctx *RunContext) error
type ObsidianDailyCmd ¶ added in v0.22.0
type ObsidianDailyCmd struct {
Text string `help:"Text for daily note (or pipe via stdin)" short:"t"`
}
ObsidianDailyCmd creates or appends to today's daily note.
func (*ObsidianDailyCmd) Run ¶ added in v0.22.0
func (c *ObsidianDailyCmd) Run(rctx *RunContext) error
type ObsidianFoldersCmd ¶ added in v0.22.0
type ObsidianFoldersCmd struct{}
ObsidianFoldersCmd lists all folders in the vault.
func (*ObsidianFoldersCmd) Run ¶ added in v0.22.0
func (c *ObsidianFoldersCmd) Run(rctx *RunContext) error
type ObsidianListCmd ¶ added in v0.22.0
type ObsidianListCmd struct {
Folder string `help:"Filter by folder (relative to vault root)" short:"d"`
Limit int `help:"Max notes to return" default:"20" short:"n"`
}
ObsidianListCmd lists notes in the vault.
func (*ObsidianListCmd) Run ¶ added in v0.22.0
func (c *ObsidianListCmd) Run(rctx *RunContext) error
type ObsidianReadCmd ¶ added in v0.22.0
type ObsidianReadCmd struct {
NotePath string `arg:"" help:"Note path relative to vault root"`
}
ObsidianReadCmd reads a single note.
func (*ObsidianReadCmd) Run ¶ added in v0.22.0
func (c *ObsidianReadCmd) Run(rctx *RunContext) error
type ObsidianRecentCmd ¶ added in v0.22.0
type ObsidianRecentCmd struct {
Limit int `help:"Max notes to return" default:"10" short:"n"`
}
ObsidianRecentCmd lists recently modified notes.
func (*ObsidianRecentCmd) Run ¶ added in v0.22.0
func (c *ObsidianRecentCmd) Run(rctx *RunContext) error
type ObsidianSearchCmd ¶ added in v0.22.0
type ObsidianSearchCmd struct {
Query string `arg:"" help:"Search query"`
Limit int `help:"Max results" default:"10" short:"n"`
}
ObsidianSearchCmd searches note content.
func (*ObsidianSearchCmd) Run ¶ added in v0.22.0
func (c *ObsidianSearchCmd) Run(rctx *RunContext) error
type ObsidianSetupCmd ¶ added in v0.22.0
type ObsidianSetupCmd struct {
VaultPath string `arg:"" help:"Absolute path to Obsidian vault directory"`
}
ObsidianSetupCmd saves the vault path to config.
func (*ObsidianSetupCmd) Run ¶ added in v0.22.0
func (c *ObsidianSetupCmd) Run(rctx *RunContext) error
type ObsidianTagsCmd ¶ added in v0.22.0
type ObsidianTagsCmd struct{}
ObsidianTagsCmd lists all tags in the vault.
func (*ObsidianTagsCmd) Run ¶ added in v0.22.0
func (c *ObsidianTagsCmd) Run(rctx *RunContext) error
type OnboardCmd ¶
type OnboardCmd struct {
JSON string `help:"OAuth credentials JSON string (highest priority)" name:"json"`
Services string `help:"Comma-separated services to authorize (default: all)" name:"services"`
AuthMethod string `help:"Auth method: browser, manual, or remote (default: remote for non-interactive)" name:"auth-method"`
}
OnboardCmd runs the setup wizard with support for --json flag and stdin pipe.
Credential sources (highest to lowest priority):
- --json flag
- stdin pipe (non-TTY)
- GWX_OAUTH_JSON environment variable
- GWX_OAUTH_FILE environment variable
- Interactive prompt (TTY only)
func (*OnboardCmd) Run ¶
func (c *OnboardCmd) Run(rctx *RunContext) error
type ParallelScheduleCmd ¶ added in v0.9.1
type ParallelScheduleCmd struct {
Title string `help:"Meeting title" name:"title" required:""`
Attendees string `help:"Comma-separated attendee emails" name:"attendees" required:""`
Duration string `help:"Meeting duration (e.g. 30m, 1h)" name:"duration" required:""`
DaysAhead int `help:"Days ahead to search for slots" name:"days-ahead" default:"7"`
Execute bool `help:"Execute actions" name:"execute"`
}
ParallelScheduleCmd implements gwx workflow parallel-schedule.
func (*ParallelScheduleCmd) Run ¶ added in v0.9.1
func (c *ParallelScheduleCmd) Run(rctx *RunContext) error
type PipeCmd ¶ added in v0.9.1
type PipeCmd struct {
Pipeline string `arg:"" help:"Chain gwx commands via JSON pipeline"`
}
PipeCmd chains gwx commands using JSON stdin/stdout piping.
func (*PipeCmd) Run ¶ added in v0.9.1
func (c *PipeCmd) Run(rctx *RunContext) error
type ReviewNotifyCmd ¶ added in v0.9.1
type ReviewNotifyCmd struct {
SpecFolder string `help:"Spec folder path" name:"spec-folder" required:""`
Reviewers string `help:"Comma-separated reviewer emails" name:"reviewers" required:""`
Channel string `help:"Notification channel (email or chat:spaces/XXX)" name:"channel"`
Execute bool `help:"Execute actions" name:"execute"`
}
ReviewNotifyCmd implements gwx workflow review-notify.
func (*ReviewNotifyCmd) Run ¶ added in v0.9.1
func (c *ReviewNotifyCmd) Run(rctx *RunContext) error
type RunContext ¶
type RunContext struct {
Context context.Context
Printer *output.Printer
Auth *auth.Manager
APIClient *api.Client
Account string
DryRun bool
NoInput bool
NoCache bool
Allowlist *config.Allowlist
}
RunContext holds shared state for command execution.
type SchemaCmd ¶
type SchemaCmd struct{}
SchemaCmd outputs the full command schema for agent introspection.
func (*SchemaCmd) Run ¶
func (c *SchemaCmd) Run(rctx *RunContext) error
type SearchConsoleCmd ¶ added in v0.9.1
type SearchConsoleCmd struct {
Query SearchConsoleQueryCmd `cmd:"" help:"Query search analytics data"`
Sites SearchConsoleSitesCmd `cmd:"" help:"List verified sites"`
Inspect SearchConsoleInspectCmd `cmd:"" help:"Inspect a URL's index status"`
Sitemaps SearchConsoleSitemapsCmd `cmd:"" help:"List sitemaps for a site"`
IndexStatus SearchConsoleIndexStatusCmd `cmd:"index-status" help:"Get index coverage status"`
}
SearchConsoleCmd groups Search Console operations.
type SearchConsoleIndexStatusCmd ¶ added in v0.9.1
type SearchConsoleIndexStatusCmd struct {
Site string `help:"Site URL" short:"s"`
StartDate string `help:"Start date (YYYY-MM-DD); defaults to 28 days ago" name:"start-date"`
EndDate string `help:"End date (YYYY-MM-DD); defaults to today" name:"end-date"`
}
SearchConsoleIndexStatusCmd gets index coverage status for a site.
func (*SearchConsoleIndexStatusCmd) Run ¶ added in v0.9.1
func (c *SearchConsoleIndexStatusCmd) Run(rctx *RunContext) error
type SearchConsoleInspectCmd ¶ added in v0.9.1
type SearchConsoleInspectCmd struct {
Site string `help:"Site URL" short:"s" required:""`
URL string `arg:"" help:"URL to inspect"`
}
SearchConsoleInspectCmd inspects a URL's index status.
func (*SearchConsoleInspectCmd) Run ¶ added in v0.9.1
func (c *SearchConsoleInspectCmd) Run(rctx *RunContext) error
type SearchConsoleQueryCmd ¶ added in v0.9.1
type SearchConsoleQueryCmd struct {
Site string `help:"Site URL (e.g. https://example.com)" short:"s"`
StartDate string `help:"Start date (YYYY-MM-DD)" name:"start-date" required:""`
EndDate string `help:"End date (YYYY-MM-DD)" name:"end-date" default:""`
Dimensions []string `help:"Dimensions (query, page, country, device, date)"`
QueryFilter string `help:"Filter by query text" name:"query-filter"`
Limit int `help:"Max rows to return" default:"100" short:"n"`
}
SearchConsoleQueryCmd queries search analytics data.
func (*SearchConsoleQueryCmd) Run ¶ added in v0.9.1
func (c *SearchConsoleQueryCmd) Run(rctx *RunContext) error
type SearchConsoleSitemapsCmd ¶ added in v0.9.1
type SearchConsoleSitemapsCmd struct {
Site string `help:"Site URL" short:"s"`
}
SearchConsoleSitemapsCmd lists sitemaps for a site.
func (*SearchConsoleSitemapsCmd) Run ¶ added in v0.9.1
func (c *SearchConsoleSitemapsCmd) Run(rctx *RunContext) error
type SearchConsoleSitesCmd ¶ added in v0.9.1
type SearchConsoleSitesCmd struct{}
SearchConsoleSitesCmd lists all verified Search Console sites.
func (*SearchConsoleSitesCmd) Run ¶ added in v0.9.1
func (c *SearchConsoleSitesCmd) Run(rctx *RunContext) error
type SearchResultGroup ¶ added in v0.3.0
type SearchResultGroup struct {
Service string `json:"service"`
Count int `json:"count"`
Results interface{} `json:"results"`
Error string `json:"error,omitempty"`
}
SearchResultGroup holds results from one service.
type SheetToEmailCmd ¶ added in v0.9.1
type SheetToEmailCmd struct {
SheetID string `help:"Sheet ID" name:"sheet-id" required:""`
Range string `help:"Sheet range (e.g. Sheet1!A:F)" name:"range" required:""`
EmailCol int `help:"Column index for email address (0-based)" name:"email-col" required:""`
SubjectCol int `help:"Column index for subject" name:"subject-col" required:""`
BodyCol int `help:"Column index for body" name:"body-col" required:""`
Execute bool `help:"Execute actions" name:"execute"`
}
SheetToEmailCmd implements gwx workflow sheet-to-email.
func (*SheetToEmailCmd) Run ¶ added in v0.9.1
func (c *SheetToEmailCmd) Run(rctx *RunContext) error
type SheetsAppendCmd ¶
type SheetsAppendCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `arg:"" help:"Range (e.g. Sheet1!A:C)"`
Values string `help:"JSON array of rows: [[\"a\",1],[\"b\",2]]" required:"" short:"v"`
}
SheetsAppendCmd appends rows.
func (*SheetsAppendCmd) Run ¶
func (c *SheetsAppendCmd) Run(rctx *RunContext) error
type SheetsClearCmd ¶ added in v0.4.0
type SheetsClearCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `arg:"" help:"Range to clear (e.g. Sheet1!A2:D)"`
}
SheetsClearCmd clears a range.
func (*SheetsClearCmd) Run ¶ added in v0.4.0
func (c *SheetsClearCmd) Run(rctx *RunContext) error
type SheetsCmd ¶
type SheetsCmd struct {
Read SheetsReadCmd `cmd:"" help:"Read a range from a spreadsheet"`
Info SheetsInfoCmd `cmd:"" help:"Get spreadsheet metadata and sheet tabs"`
Describe SheetsDescribeCmd `cmd:"" help:"Analyze column structure and fill rules"`
Stats SheetsStatsCmd `cmd:"" help:"Column statistics and value counts"`
Search SheetsSearchCmd `cmd:"" help:"Search for text in a spreadsheet"`
Filter SheetsFilterCmd `cmd:"" help:"Filter rows by column value"`
Diff SheetsDiffCmd `cmd:"" help:"Compare two tabs/ranges"`
Append SheetsAppendCmd `cmd:"" help:"Append rows to a spreadsheet"`
SmartAppend SheetsSmartAppendCmd `cmd:"smart-append" help:"Validate + append with structure awareness"`
Update SheetsUpdateCmd `cmd:"" help:"Update cells in a spreadsheet"`
Clear SheetsClearCmd `cmd:"" help:"Clear a range"`
CopyTab SheetsCopyTabCmd `cmd:"copy-tab" help:"Copy tab structure to a new tab"`
Export SheetsExportCmd `cmd:"" help:"Export range to CSV or JSON"`
Import SheetsImportCmd `cmd:"" help:"Import CSV or JSON file into a sheet"`
Create SheetsCreateCmd `cmd:"" help:"Create a new spreadsheet"`
}
SheetsCmd groups Sheets operations.
type SheetsCopyTabCmd ¶ added in v0.6.0
type SheetsCopyTabCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Source string `help:"Source tab name" required:""`
Name string `help:"New tab name" required:""`
}
SheetsCopyTabCmd copies a tab structure.
func (*SheetsCopyTabCmd) Run ¶ added in v0.6.0
func (c *SheetsCopyTabCmd) Run(rctx *RunContext) error
type SheetsCreateCmd ¶
type SheetsCreateCmd struct {
Title string `help:"Spreadsheet title" required:""`
}
SheetsCreateCmd creates a spreadsheet.
func (*SheetsCreateCmd) Run ¶
func (c *SheetsCreateCmd) Run(rctx *RunContext) error
type SheetsDescribeCmd ¶ added in v0.5.0
type SheetsDescribeCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `help:"Sheet range (auto-detects first sheet if empty)" short:"r"`
Samples int `help:"Number of data rows to analyze" default:"20" short:"n"`
}
SheetsDescribeCmd analyzes column structure and fill rules.
func (*SheetsDescribeCmd) Run ¶ added in v0.5.0
func (c *SheetsDescribeCmd) Run(rctx *RunContext) error
type SheetsDiffCmd ¶ added in v0.6.0
type SheetsDiffCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
RangeA string `help:"First range (e.g. '第1周规划及完成情况')" required:"" name:"from"`
RangeB string `help:"Second range (e.g. '第2周规划及完成情况')" required:"" name:"to"`
}
SheetsDiffCmd compares two ranges.
func (*SheetsDiffCmd) Run ¶ added in v0.6.0
func (c *SheetsDiffCmd) Run(rctx *RunContext) error
type SheetsExportCmd ¶ added in v0.6.0
type SheetsExportCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `arg:"" help:"Range to export"`
ExportFmt string `help:"Format: csv or json" default:"csv" name:"export-format"`
Output string `help:"Output file (default: stdout)" short:"o"`
}
SheetsExportCmd exports a range to CSV or JSON.
func (*SheetsExportCmd) Run ¶ added in v0.6.0
func (c *SheetsExportCmd) Run(rctx *RunContext) error
type SheetsFilterCmd ¶ added in v0.4.0
type SheetsFilterCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `arg:"" help:"Range (e.g. Sheet1!A:D)"`
Column int `help:"Column index to filter (0-based)" required:"" short:"c"`
Value string `help:"Value to match" required:"" short:"v"`
}
SheetsFilterCmd filters rows by column value.
func (*SheetsFilterCmd) Run ¶ added in v0.4.0
func (c *SheetsFilterCmd) Run(rctx *RunContext) error
type SheetsImportCmd ¶ added in v0.7.0
type SheetsImportCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `arg:"" help:"Range to import into (e.g. Sheet1!A1)"`
File string `help:"File path to import" required:"" short:"i"`
ImportFmt string `help:"Format: csv or json" default:"csv" name:"import-format"`
}
SheetsImportCmd imports a CSV or JSON file into a sheet.
func (*SheetsImportCmd) Run ¶ added in v0.7.0
func (c *SheetsImportCmd) Run(rctx *RunContext) error
type SheetsInfoCmd ¶ added in v0.4.0
type SheetsInfoCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
}
SheetsInfoCmd gets spreadsheet metadata.
func (*SheetsInfoCmd) Run ¶ added in v0.4.0
func (c *SheetsInfoCmd) Run(rctx *RunContext) error
type SheetsReadCmd ¶
type SheetsReadCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `arg:"" help:"Range (e.g. Sheet1!A1:C10)"`
}
SheetsReadCmd reads a range.
func (*SheetsReadCmd) Run ¶
func (c *SheetsReadCmd) Run(rctx *RunContext) error
type SheetsSearchCmd ¶ added in v0.4.0
type SheetsSearchCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Query string `help:"Text to search for" required:"" short:"q"`
Range string `help:"Range to search (default: first sheet)" short:"r"`
}
SheetsSearchCmd searches for text in a spreadsheet.
func (*SheetsSearchCmd) Run ¶ added in v0.4.0
func (c *SheetsSearchCmd) Run(rctx *RunContext) error
type SheetsSmartAppendCmd ¶ added in v0.5.0
type SheetsSmartAppendCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `arg:"" help:"Range to append to (e.g. Sheet1!A:F)"`
Values string `help:"JSON array of rows" required:"" short:"v"`
}
SheetsSmartAppendCmd validates data against schema then appends.
func (*SheetsSmartAppendCmd) Run ¶ added in v0.5.0
func (c *SheetsSmartAppendCmd) Run(rctx *RunContext) error
type SheetsStatsCmd ¶ added in v0.6.0
type SheetsStatsCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `help:"Range (auto-detects first sheet if empty)" short:"r"`
}
SheetsStatsCmd shows column statistics.
func (*SheetsStatsCmd) Run ¶ added in v0.6.0
func (c *SheetsStatsCmd) Run(rctx *RunContext) error
type SheetsUpdateCmd ¶
type SheetsUpdateCmd struct {
SpreadsheetID string `arg:"" help:"Spreadsheet ID"`
Range string `arg:"" help:"Range (e.g. Sheet1!A1:C3)"`
Values string `help:"JSON array of rows" required:"" short:"v"`
}
SheetsUpdateCmd updates cells.
func (*SheetsUpdateCmd) Run ¶
func (c *SheetsUpdateCmd) Run(rctx *RunContext) error
type SkillCmd ¶ added in v0.11.0
type SkillCmd struct {
List SkillListCmd `cmd:"" help:"List all loaded skills"`
Inspect SkillInspectCmd `cmd:"" help:"Show details of a skill"`
Validate SkillValidateCmd `cmd:"" help:"Validate a skill YAML file"`
Install SkillInstallCmd `cmd:"" help:"Install a skill from file or URL"`
Remove SkillRemoveCmd `cmd:"" help:"Remove an installed skill"`
}
SkillCmd groups skill DSL operations.
type SkillInspectCmd ¶ added in v0.11.0
type SkillInspectCmd struct {
Name string `arg:"" help:"Skill name to inspect"`
}
SkillInspectCmd shows full details of a single skill.
func (*SkillInspectCmd) Run ¶ added in v0.11.0
func (c *SkillInspectCmd) Run(rctx *RunContext) error
type SkillInstallCmd ¶ added in v0.11.0
type SkillInstallCmd struct {
Source string `arg:"" help:"File path or URL to install from"`
}
SkillInstallCmd installs a skill from a local file or a remote URL.
func (*SkillInstallCmd) Run ¶ added in v0.11.0
func (c *SkillInstallCmd) Run(rctx *RunContext) error
type SkillListCmd ¶ added in v0.11.0
type SkillListCmd struct{}
SkillListCmd lists all discovered skills.
func (*SkillListCmd) Run ¶ added in v0.11.0
func (c *SkillListCmd) Run(rctx *RunContext) error
type SkillRemoveCmd ¶ added in v0.11.0
type SkillRemoveCmd struct {
Name string `arg:"" help:"Skill name to remove"`
}
SkillRemoveCmd removes an installed skill by name.
func (*SkillRemoveCmd) Run ¶ added in v0.11.0
func (c *SkillRemoveCmd) Run(rctx *RunContext) error
type SkillValidateCmd ¶ added in v0.11.0
type SkillValidateCmd struct {
File string `arg:"" help:"Path to skill YAML file"`
}
SkillValidateCmd validates a YAML skill file without running it.
func (*SkillValidateCmd) Run ¶ added in v0.11.0
func (c *SkillValidateCmd) Run(rctx *RunContext) error
type SlackChannelsCmd ¶ added in v0.13.0
type SlackChannelsCmd struct {
Limit int `help:"Max channels to return" default:"100" short:"n"`
}
SlackChannelsCmd lists Slack channels.
func (*SlackChannelsCmd) Run ¶ added in v0.13.0
func (c *SlackChannelsCmd) Run(rctx *RunContext) error
type SlackCmd ¶ added in v0.13.0
type SlackCmd struct {
Login SlackLoginCmd `cmd:"" help:"Save Slack bot token"`
Status SlackStatusCmd `cmd:"" help:"Check Slack auth status"`
Channels SlackChannelsCmd `cmd:"" help:"List channels"`
Send SlackSendCmd `cmd:"" help:"Send a message"`
Messages SlackMessagesCmd `cmd:"" help:"List channel messages"`
Search SlackSearchCmd `cmd:"" help:"Search messages"`
Users SlackUsersCmd `cmd:"" help:"List users"`
}
SlackCmd groups Slack operations.
type SlackLoginCmd ¶ added in v0.13.0
type SlackLoginCmd struct {
Token string `arg:"" help:"Slack bot token (xoxb-...)"`
}
SlackLoginCmd saves a Slack bot token.
func (*SlackLoginCmd) Run ¶ added in v0.13.0
func (c *SlackLoginCmd) Run(rctx *RunContext) error
type SlackMessagesCmd ¶ added in v0.13.0
type SlackMessagesCmd struct {
Channel string `arg:"" help:"Channel ID"`
Limit int `help:"Max messages to return" default:"20" short:"n"`
}
SlackMessagesCmd lists channel messages.
func (*SlackMessagesCmd) Run ¶ added in v0.13.0
func (c *SlackMessagesCmd) Run(rctx *RunContext) error
type SlackSearchCmd ¶ added in v0.13.0
type SlackSearchCmd struct {
Query string `arg:"" help:"Search query"`
Limit int `help:"Max results" default:"20" short:"n"`
}
SlackSearchCmd searches Slack messages.
func (*SlackSearchCmd) Run ¶ added in v0.13.0
func (c *SlackSearchCmd) Run(rctx *RunContext) error
type SlackSendCmd ¶ added in v0.13.0
type SlackSendCmd struct {
Channel string `help:"Channel ID or name (e.g. C01234567 or #general)" required:"" short:"c"`
Text string `arg:"" help:"Message text"`
}
SlackSendCmd sends a Slack message.
func (*SlackSendCmd) Run ¶ added in v0.13.0
func (c *SlackSendCmd) Run(rctx *RunContext) error
type SlackStatusCmd ¶ added in v0.13.0
type SlackStatusCmd struct{}
SlackStatusCmd checks Slack auth status.
func (*SlackStatusCmd) Run ¶ added in v0.13.0
func (c *SlackStatusCmd) Run(rctx *RunContext) error
type SlackUsersCmd ¶ added in v0.13.0
type SlackUsersCmd struct {
Limit int `help:"Max users to return" default:"100" short:"n"`
}
SlackUsersCmd lists workspace users.
func (*SlackUsersCmd) Run ¶ added in v0.13.0
func (c *SlackUsersCmd) Run(rctx *RunContext) error
type SlidesCmd ¶ added in v0.10.0
type SlidesCmd struct {
Get SlidesGetCmd `cmd:"" help:"Get presentation structure"`
List SlidesListCmd `cmd:"" help:"List presentations in Drive"`
Create SlidesCreateCmd `cmd:"" help:"Create a new presentation"`
Duplicate SlidesDuplicateCmd `cmd:"" help:"Duplicate a presentation"`
Export SlidesExportCmd `cmd:"" help:"Export presentation to PDF or PPTX"`
FromSheet SlidesFromSheetCmd `cmd:"from-sheet" help:"Generate presentation from Sheet data + template"`
}
SlidesCmd groups Google Slides operations.
type SlidesCreateCmd ¶ added in v0.10.0
type SlidesCreateCmd struct {
Title string `help:"Presentation title" required:""`
}
SlidesCreateCmd creates a new presentation.
func (*SlidesCreateCmd) Run ¶ added in v0.10.0
func (c *SlidesCreateCmd) Run(rctx *RunContext) error
type SlidesDuplicateCmd ¶ added in v0.10.0
type SlidesDuplicateCmd struct {
PresentationID string `arg:"" help:"Presentation ID to duplicate"`
Title string `help:"Title for the copy" required:""`
}
SlidesDuplicateCmd duplicates a presentation.
func (*SlidesDuplicateCmd) Run ¶ added in v0.10.0
func (c *SlidesDuplicateCmd) Run(rctx *RunContext) error
type SlidesExportCmd ¶ added in v0.10.0
type SlidesExportCmd struct {
PresentationID string `arg:"" help:"Presentation ID to export"`
Format string `help:"Export format: pdf or pptx" default:"pdf" enum:"pdf,pptx" name:"export-format"`
Output string `help:"Output file path" short:"o"`
}
SlidesExportCmd exports a presentation.
func (*SlidesExportCmd) Run ¶ added in v0.10.0
func (c *SlidesExportCmd) Run(rctx *RunContext) error
type SlidesFromSheetCmd ¶ added in v0.10.0
type SlidesFromSheetCmd struct {
TemplateID string `help:"Template presentation ID (with {{placeholders}})" required:"" name:"template"`
SheetID string `help:"Source Sheet ID" required:"" name:"sheet-id"`
Range string `help:"Sheet range (e.g. Sheet1!A:D)" default:"Sheet1" name:"range"`
}
SlidesFromSheetCmd generates a presentation from Sheet data.
func (*SlidesFromSheetCmd) Run ¶ added in v0.10.0
func (c *SlidesFromSheetCmd) Run(rctx *RunContext) error
type SlidesGetCmd ¶ added in v0.10.0
type SlidesGetCmd struct {
PresentationID string `arg:"" help:"Presentation ID"`
}
SlidesGetCmd gets a presentation's structure.
func (*SlidesGetCmd) Run ¶ added in v0.10.0
func (c *SlidesGetCmd) Run(rctx *RunContext) error
type SlidesListCmd ¶ added in v0.10.0
type SlidesListCmd struct {
Limit int64 `help:"Max results (e.g. --limit 10)" default:"20" short:"n"`
}
SlidesListCmd lists presentations.
func (*SlidesListCmd) Run ¶ added in v0.10.0
func (c *SlidesListCmd) Run(rctx *RunContext) error
type SpecHealthCmd ¶ added in v0.9.1
type SpecHealthCmd struct {
Action string `arg:"" help:"Action: init, record, stats" enum:"init,record,stats"`
Feature string `help:"Feature name (for init)" name:"feature"`
SheetID string `help:"Sheet ID (for record/stats)" name:"sheet-id"`
SpecFolder string `help:"Spec folder path (for record)" name:"spec-folder"`
}
SpecHealthCmd implements gwx workflow spec-health.
func (*SpecHealthCmd) Run ¶ added in v0.9.1
func (c *SpecHealthCmd) Run(rctx *RunContext) error
type SprintBoardCmd ¶ added in v0.9.1
type SprintBoardCmd struct {
Action string `arg:"" help:"Action: init, ticket, stats, archive" enum:"init,ticket,stats,archive"`
Feature string `help:"Feature name (for init)" name:"feature"`
SheetID string `help:"Sheet ID" name:"sheet-id"`
Title string `help:"Ticket title (for ticket)" name:"title"`
Assignee string `help:"Assignee (for ticket)" name:"assignee"`
Priority string `help:"Priority P0-P3 (for ticket)" name:"priority" default:"P2"`
Sprint string `help:"Sprint name (for archive)" name:"sprint"`
}
SprintBoardCmd implements gwx workflow sprint-board.
func (*SprintBoardCmd) Run ¶ added in v0.9.1
func (c *SprintBoardCmd) Run(rctx *RunContext) error
type StandupCmd ¶ added in v0.9.1
type StandupCmd struct {
Days int `help:"Days of git history" default:"1" short:"d"`
Execute bool `help:"Execute actions (e.g. push to chat/email)" name:"execute"`
Push string `help:"Push target (chat:spaces/XXX or email:addr@example.com)" name:"push"`
}
StandupCmd implements gwx standup.
func (*StandupCmd) Run ¶ added in v0.9.1
func (c *StandupCmd) Run(rctx *RunContext) error
type TasksCmd ¶
type TasksCmd struct {
List TasksListCmd `cmd:"" help:"List tasks"`
Lists TasksListsCmd `cmd:"" help:"List task lists"`
Create TasksCreateCmd `cmd:"" help:"Create a task"`
Complete TasksCompleteCmd `cmd:"" help:"Mark a task as completed"`
Delete TasksDeleteCmd `cmd:"" help:"Delete a task"`
}
TasksCmd groups Tasks operations.
type TasksCompleteCmd ¶
type TasksCompleteCmd struct {
TaskID string `arg:"" help:"Task ID to complete"`
ListID string `help:"Task list ID" name:"list"`
}
TasksCompleteCmd completes a task.
func (*TasksCompleteCmd) Run ¶
func (c *TasksCompleteCmd) Run(rctx *RunContext) error
type TasksCreateCmd ¶
type TasksCreateCmd struct {
Title string `help:"Task title" required:""`
Notes string `help:"Task notes" short:"n"`
Due string `help:"Due date (YYYY-MM-DD)" short:"d"`
ListID string `help:"Task list ID" name:"list"`
}
TasksCreateCmd creates a task.
func (*TasksCreateCmd) Run ¶
func (c *TasksCreateCmd) Run(rctx *RunContext) error
type TasksDeleteCmd ¶
type TasksDeleteCmd struct {
TaskID string `arg:"" help:"Task ID to delete"`
ListID string `help:"Task list ID" name:"list"`
}
TasksDeleteCmd deletes a task.
func (*TasksDeleteCmd) Run ¶
func (c *TasksDeleteCmd) Run(rctx *RunContext) error
type TasksListCmd ¶
type TasksListCmd struct {
ListID string `help:"Task list ID (default: primary)" name:"list"`
ShowCompleted bool `help:"Include completed tasks" name:"show-completed"`
}
TasksListCmd lists tasks.
func (*TasksListCmd) Run ¶
func (c *TasksListCmd) Run(rctx *RunContext) error
type TasksListsCmd ¶
type TasksListsCmd struct{}
TasksListsCmd lists task lists.
func (*TasksListsCmd) Run ¶
func (c *TasksListsCmd) Run(rctx *RunContext) error
type TestMatrixCmd ¶ added in v0.9.1
type TestMatrixCmd struct {
Action string `arg:"" help:"Action: init, sync, stats" enum:"init,sync,stats"`
Feature string `help:"Feature name (for init)" name:"feature"`
SheetID string `help:"Sheet ID (for sync/stats)" name:"sheet-id"`
File string `help:"Test results file (for sync)" name:"file"`
}
TestMatrixCmd implements gwx workflow test-matrix.
func (*TestMatrixCmd) Run ¶ added in v0.9.1
func (c *TestMatrixCmd) Run(rctx *RunContext) error
type TokenExport ¶ added in v0.25.0
type TokenExport struct {
Version int `json:"version"`
Account string `json:"account"`
ExportedAt time.Time `json:"exported_at"`
Token *oauth2.Token `json:"token"`
}
TokenExport is the envelope for exported tokens.
type UnifiedSearchCmd ¶ added in v0.3.0
type UnifiedSearchCmd struct {
Query string `arg:"" help:"Search query"`
Services []string `help:"Services to search (gmail,drive,contacts)" default:"gmail,drive" short:"s"`
Limit int `help:"Max results per service" default:"5" short:"n"`
}
UnifiedSearchCmd searches across Gmail, Drive, and Contacts simultaneously.
func (*UnifiedSearchCmd) Run ¶ added in v0.3.0
func (c *UnifiedSearchCmd) Run(rctx *RunContext) error
type UpdateCmd ¶ added in v0.20.0
type UpdateCmd struct {
Check bool `help:"Only check for updates, don't install" name:"check"`
}
UpdateCmd checks for and installs updates from GitHub Releases.
func (*UpdateCmd) Run ¶ added in v0.20.0
func (c *UpdateCmd) Run(rctx *RunContext) error
Run executes the update command.
type VersionCmd ¶
type VersionCmd struct{}
VersionCmd prints the version.
func (*VersionCmd) Run ¶
func (c *VersionCmd) Run(rctx *RunContext) error
type WeeklyDigestCmd ¶ added in v0.9.1
type WeeklyDigestCmd struct {
Weeks int `help:"Number of weeks to cover" default:"1" short:"w"`
Execute bool `help:"Execute actions" name:"execute"`
}
WeeklyDigestCmd implements gwx workflow weekly-digest.
func (*WeeklyDigestCmd) Run ¶ added in v0.9.1
func (c *WeeklyDigestCmd) Run(rctx *RunContext) error
type WorkflowCmd ¶ added in v0.9.1
type WorkflowCmd struct {
WeeklyDigest WeeklyDigestCmd `cmd:"weekly-digest" help:"Weekly activity digest"`
ContextBoost ContextBoostCmd `cmd:"context-boost" help:"Deep context gathering for a topic"`
BugIntake BugIntakeCmd `cmd:"bug-intake" help:"Gather context for a bug report"`
TestMatrix TestMatrixCmd `cmd:"test-matrix" help:"Manage test results in Sheets"`
SpecHealth SpecHealthCmd `cmd:"spec-health" help:"Track spec status in Sheets"`
SprintBoard SprintBoardCmd `cmd:"sprint-board" help:"Sprint board in Sheets"`
ReviewNotify ReviewNotifyCmd `cmd:"review-notify" help:"Notify reviewers about a spec"`
EmailFromDoc EmailFromDocCmd `cmd:"email-from-doc" help:"Send email from a Google Doc"`
SheetToEmail SheetToEmailCmd `cmd:"sheet-to-email" help:"Send personalized emails from Sheet data"`
ParallelSchedule ParallelScheduleCmd `cmd:"parallel-schedule" help:"Schedule parallel 1-on-1 reviews"`
Digest WeeklyDigestCmd `cmd:"digest" help:"Alias for weekly-digest" hidden:""`
}
WorkflowCmd is the command group for gwx workflow subcommands.
Source Files
¶
- agent.go
- analytics.go
- auth.go
- auth_transfer.go
- bigquery.go
- calendar.go
- chat.go
- completion.go
- config.go
- contacts.go
- context.go
- docs.go
- doctor.go
- drive.go
- errors.go
- forms.go
- github.go
- gmail.go
- input.go
- mcpserver.go
- meeting_prep.go
- notion.go
- obsidian.go
- onboard.go
- pipe.go
- root.go
- schema.go
- searchconsole.go
- sheets.go
- skill.go
- slack.go
- slides.go
- standup.go
- tasks.go
- update.go
- usearch.go
- version.go
- workflow.go
- workflow_actions.go
- workflow_context.go
- workflow_digest.go
- workflow_sheets.go