id = "gogcli" name = "gogcli" homepage = "https://github.com/openclaw/gogcli" description = "One command-line client for Gmail, Calendar, Drive, Docs, Sheets, and the wider Google Workspace surface." executables = ["gog"] [dotfiles] # https://github.com/openclaw/gogcli/blob/main/README.md documents config.json # at ~/Library/Application Support/gogcli on macOS, ~/.config/gogcli on Linux, # and %AppData%\\gogcli on Windows. These are the platform-native/XDG forms. paths = [ "[appData]/gogcli/config.json", "[configHome]/gogcli/config.json", "%APPDATA%/gogcli/config.json", ] # The same README warns that OAuth client credentials must not be committed; # the documented credentials*.json files are therefore never synced as text. secret = [ "[appData]/gogcli/credentials*.json", "[configHome]/gogcli/credentials*.json", "%APPDATA%/gogcli/credentials*.json", ] # When the encrypted file backend is selected, its per-account keyring is also # credential material. Its directory is named by docs/paths.md as data, but # the current docs do not give a stable platform spelling for that data root; # it is intentionally left out rather than guessed. [commands] format = 1 label = "Google Workspace CLI" description = "Global gog options for scripted, read-only use. Subcommands (gmail, calendar, drive ...) are covered by the Gmail search node." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "readme" kind = "manual" url = "https://github.com/openclaw/gogcli/blob/main/README.md" revision = "2026-10-27" evidence = """ gog --readonly gmail search 'is:unread newer_than:7d' --max 10 --json `--json` emits structured output and `--plain` emits stable TSV. Prompts, progress, and warnings go to stderr. `--no-input`, `--readonly`, `--account` still selects the account label. """ [[commands.field]] id = "account" label = "Account" type = "string" option = ["--account"] sources = ["readme"] [[commands.field]] id = "readonly" label = "Read-only" type = "boolean" option = ["--readonly"] sources = ["readme"] [[commands.field]] id = "no_input" label = "No prompts" type = "boolean" option = ["--no-input"] sources = ["readme"] [[commands.field]] id = "json" label = "JSON output" type = "boolean" option = ["--json"] sources = ["readme"] [[commands.field]] id = "plain" label = "TSV output" type = "boolean" option = ["--plain"] sources = ["readme"] [[commands.group]] id = "basic" label = "Basic" fields = ["account", "readonly", "no_input", "json", "plain"] [[commands.subcommand]] path = ["gmail", "search"] label = "Search Gmail" [[commands.subcommand.source]] id = "readme" kind = "manual" url = "https://github.com/openclaw/gogcli/blob/main/README.md" revision = "2026-10-27" evidence = """ gog --readonly gmail search 'is:unread newer_than:7d' --max 10 --json gog gmail search 'newer_than:7d' --max 10 """ [[commands.subcommand.field]] id = "query" label = "Gmail query" type = "string" position = 0 min = 1 sources = ["readme"] [[commands.subcommand.field]] id = "max" label = "Max results" type = "integer" option = ["--max"] sources = ["readme"] [[commands.subcommand.task]] id = "search" label = "Search messages" fields = ["query", "max"] required = ["query"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["query", "max"]