← Commit history

v0.5.0 — add first-class 'chat' verb (spaces/dm/send/read), posts as the user (no webhook prefix)

John Lauer ·0131a80da2 ·4mo ago ·parent a07a42d
2 files changed +45−45
SKILL.md+14−1
@@ -1,6 +1,6 @@ --- name: adom-google-description: Programmatic read+write access to a user's WHOLE Google Workspace — Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat — plus a generic `api` passthrough to hit ANY Google API. CLI + OAuth only (no browser automation). Public/open-source; used daily by the Adom team. Auth is the account-specific part: Adom employees use it out of the box; other orgs either self-host their own OAuth gateway or email [email protected] for a managed OAuth container (~$5/mo). On FIRST-RUN SETUP you MUST ask the user to pick safe mode (no delete) vs full mode (incl. delete) before authorizing. Use when setting up/installing adom-google, authorizing Google, reading Gmail attachments/.ics, creating/listing/searching Contacts, editing Sheets/Docs/Slides, Drive files, Calendar events, posting to Google Chat, or any Google Workspace automation. Trigger words — adom-google, install adom-google, set up adom-google, configure adom-google, google workspace cli, edit google sheet/doc/slides, drive upload, calendar event, post to google chat, gmail attachment, google contacts, people api, safe mode vs full mode, google oauth gateway broker, google api passthrough, self-host oauth, managed oauth container.+description: Programmatic read+write access to a user's WHOLE Google Workspace — Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat — plus a generic `api` passthrough to hit ANY Google API. CLI + OAuth only (no browser automation). Public/open-source; used daily by the Adom team. Auth is the account-specific part: Adom employees use it out of the box; other orgs either self-host their own OAuth gateway or email [email protected] for a managed OAuth container (~$5/mo). On FIRST-RUN SETUP you MUST ask the user to pick safe mode (no delete) vs full mode (incl. delete) before authorizing. Use when setting up/installing adom-google, authorizing Google, reading Gmail attachments/.ics, creating/listing/searching Contacts, editing Sheets/Docs/Slides, Drive files, Calendar events, posting to Google Chat, or any Google Workspace automation. Trigger words — adom-google, install adom-google, set up adom-google, configure adom-google, google workspace cli, edit google sheet/doc/slides, drive upload, calendar event, post to google chat, post to chat as me, message colby, send a chat, dm <person>, gmail attachment, google contacts, people api, safe mode vs full mode, google oauth gateway broker, google api passthrough, self-host oauth, managed oauth container. ---  # adom-google@@ -152,9 +152,22 @@ adom-google contacts create --name "First Last" [--org O] [--title T] \ adom-google contacts list [--limit N] [--json] adom-google contacts search <query> [-v] [--json] +# Google Chat — posts as the SIGNED-IN USER (their own identity, NO attribution prefix).+# This is distinct from `adom-gchat`, which posts via an org webhook with "(on behalf of …)".+adom-google chat spaces [--json]                          # list your spaces (id · type · name)+adom-google chat dm <email> [--json]                      # resolve the 1:1 DM space with a person+adom-google chat send --to <space-id|email> "<text>"      # post; email auto-resolves the DM+#   "<text>" may be '-' (stdin) or '@file'; add --thread <key> to reply in a thread+adom-google chat read --from <space-id|email> [--limit N] [--json]   # recent messages+ adom-google status     # mode (safe/full) + what's authorized (never prints secrets) ``` +**`chat` vs `adom-gchat`:** use `adom-google chat send` to post as **yourself** (your Google+identity, clean — no prefix). Use `adom-gchat` only when you want an **org webhook** post+attributed as the bot ("Kel (on behalf of john)"). The `chat.messages` + `chat.spaces.readonly`+scopes are in both safe and full mode, so this works out of the box once authorized.+ We use Google Contacts to store **service identities** (portal/account metadata for an API vendor), e.g. the JPMorgan Payments developer portal. Keep secrets (client secrets, portal passwords) in a password manager — **never** in a contact's notes.
page.json+31−44
@@ -1,22 +1,22 @@ {+  "schema_version": 1,+  "type": "app",   "slug": "adom-google",+  "title": "adom-google",+  "brief": "Drive your whole Google Workspace from the terminal \u2014 Gmail, Drive, Sheets, Docs, Slides, Calendar, Tasks, Chat + any Google API.",   "version": "0.5.0",-  "type": "app",-  "license": "MIT",-  "description": "Drive your whole Google Workspace from the terminal — Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat, plus a generic `api` passthrough to hit ANY Google API. Open source, ships with NO OAuth provider baked in: point it at your own token-broker gateway (`provider set`), buy a managed one, or — Adom staff — install the private adom-google-adom provider. One-click OAuth, no client secret on your machine. First run asks safe mode (no delete) vs full mode (incl. delete).",-  "keywords": [-    "adom-google",-    "google-workspace",-    "oauth",-    "gmail",-    "google-sheets",-    "google-docs",-    "google-slides",-    "google-calendar",-    "google-chat",-    "cli",-    "ai-agent"-  ],+  "visibility": "public",+  "install": {+    "binary_name": "adom-google",+    "install_dir": "",+    "install_hint": "",+    "version_cmd": ""+  },+  "author": {+    "id": "6738b00a4dc87b8adbb0a5a3",+    "name": "John Lauer",+    "email": "[email protected]"+  },   "tags": [     "google-workspace",     "oauth",@@ -26,34 +26,21 @@     "open-source",     "mit"   ],-  "install": {-    "binary_name": "adom-google"+  "license": "MIT",+  "hero": {+    "path": "docs/hero.png",+    "type": "image"   },-  "dependencies": {},-  "scripts": {-    "install": "./install.sh",-    "uninstall": "./uninstall.sh"+  "sample_prompts": [],+  "discovery_triggers": [],+  "discovery_pitch": null,+  "metadata": {+    "hero_path": "docs/hero.png",+    "hero_type": "image"   },-  "files": [-    "bin/adom-google",-    "bin/adom-gmail",-    "skills/adom-google/SKILL.md",-    "README.md",-    "LICENSE",-    "MIGRATION.md",-    "provider.example.json",-    "docs/hero.png",-    "docs/enable-apis.png",-    "docs/chat-reads-email.png",-    "screenshots/hero.png",-    "install.sh",-    "uninstall.sh",-    "package.json"-  ],-  "visibility": "public",-  "org": "adom",-  "author": {-    "name": "John Lauer",-    "email": "[email protected]"-  }+  "created_at": "2026-06-16T22:28:58.933Z",+  "updated_at": "2026-06-17T00:57:47.322Z",+  "skills": [],+  "hero_path": "docs/hero.png",+  "hero_type": "image" }\ No newline at end of file