← Commit history

Org self-serve onboarding: onboard wizard + adom-google-onboarding skill + illustrated README (0.6.0)

John Lauer ·9b39221f61 ·4mo ago ·parent faf9b4c
2 files changed +43−51
SKILL.md+11−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, 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.+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. For a brand-new ORG that needs its own Google OAuth client (non-Adom team getting started), use the companion `adom-google-onboarding` skill — it drives the user's real browser through Google Cloud Console and auto-configures everything. 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, onboard my org to google, set up google workspace for my company/team, configure google oauth for <org>, get my company on adom-google, create our google cloud oauth client. ---  # adom-google@@ -38,6 +38,16 @@ Gemini CLI, and `gcloud`. Conclusion: **call the REST APIs directly.** The code is structured so a `gws` backend *could* be slotted behind the same subcommands later; today the win is zero new runtime dependencies and a clean migration from adom-gmail. +## Onboarding a brand-new org (give a team its OWN Google client)++If a **non-Adom** org wants to get going on their own, they need their own Google OAuth client.+Don't make them slog through Google Cloud Console by hand — use the **`adom-google-onboarding`**+skill, which drives the user's real logged-in browser (adom-desktop `nbrowser_*`) through the+console, auto-fills the fields (especially the redirect URI), captures the new client, and wires+it in RELAY mode (their secret stays `0600` on their box; Adom only lends a shared callback URL).+Kick it off with `adom-google onboard --org <slug>` (or `--json` for the exact values). Adom+employees skip all this — they install `adom-google-adom` and just run `auth`.+ ## Install  `install.mjs` symlinks the CLI onto PATH automatically. Manual:
page.json+32−50
@@ -1,22 +1,22 @@ {+  "schema_version": 1,+  "type": "app",   "slug": "adom-google",+  "title": "adom-google",+  "brief": "Drive your whole Google Workspace from the terminal — Gmail, Drive, Sheets, Docs, Slides, Calendar, Tasks, Chat + any Google API.",   "version": "0.6.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,39 +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",-    "skills/adom-google-onboarding/SKILL.md",-    "README.md",-    "LICENSE",-    "MIGRATION.md",-    "provider.example.json",-    "docs/hero.png",-    "docs/enable-apis.png",-    "docs/chat-reads-email.png",-    "docs/onboard-1-plan.png",-    "docs/onboard-2-enable-apis.png",-    "docs/onboard-3-redirect-uri.png",-    "docs/onboard-4-authorized.png",-    "screenshots/hero.png",-    "install.sh",-    "uninstall.sh",-    "package.json"-  ],-  "visibility": "public",-  "org": "adom",-  "author": {-    "name": "John Lauer",-    "email": "[email protected]"-  }-}\ No newline at end of file+  "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"+}