app
Adom Google
Public Made by Adomby adom
Drive your whole Google Workspace from the terminal, run by your AI. Read Gmail, write Google Docs, build Google Sheets and Google Slides, search Google Drive, manage Google Calendar and Google Tasks, and post to Google Chat, plus any Google API and a zero-setup personal Gmail.
← Commit history
Publish 0.8.20
4 files changed
+11−12
SKILL.md+3−3@@ -42,7 +42,7 @@ later; today the win is zero new runtime dependencies and a clean migration from 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+skill, which drives the user's real logged-in browser (the bridge's `nbrowser_*` verbs) 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@@ -78,7 +78,7 @@ user clicks **Allow** once. > drop it into an unquoted shell/open command the shell truncates it at the first `&`, Google > receives only `client_id`, and shows *"Error 400: invalid_request, missing response_type"* > (this bit real users). Safe: hand the URL to a browser tool with the URL **inside JSON**-> (`adom-desktop nbrowser_open_window '{"sessionId":"gauth","url":"<URL>"}'`), or single-quote the+> (`adom-bridge-cli nbrowser_open_window '{"sessionId":"gauth","url":"<URL>"}'`), or single-quote the > whole URL. The `adom-google auth` output prints the ready-to-paste safe command for you. > 🖐 **Consent is the sanctioned exception to background-only browsing.** abe/`nbrowser_*` opens@@ -88,7 +88,7 @@ user clicks **Allow** once. > window, on one condition: **announce it first, never raise silently.** > > ```bash-> adom-desktop notify_user '{"title":"Google sign-in needed","body":"Opening the consent page in your browser now - click Allow."}'+> adom-bridge-cli notify_user '{"title":"Google sign-in needed","body":"Opening the consent page in your browser now - click Allow."}' > # then bring that window forward > ``` >
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-google",- "version": "0.8.19",+ "version": "0.8.20", "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. Connect a personal @gmail (or another org's Google account) with ZERO setup via Adom's hosted Connector (`adom-google connect-personal`), or bring your own token-broker gateway (`provider set`): Adom staff use the private adom-google-adom provider. One-click OAuth, no client secret on your machine.",
page.json+4−5@@ -4,7 +4,7 @@ "slug": "adom-google", "title": "Adom Google", "brief": "Drive your whole Google Workspace from the terminal, run by your AI. Read Gmail, write Google Docs, build Google Sheets and Google Slides, search Google Drive, manage Google Calendar and Google Tasks, and post to Google Chat, plus any Google API and a zero-setup personal Gmail.",- "version": "0.8.3",+ "version": "0.8.20", "visibility": "public", "install": { "binary_name": "adom-google"@@ -94,7 +94,7 @@ "skills": [], "hero_path": "screenshots/hero-google-v5.png", "hero_type": "image",- "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).",+ "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. Connect a personal @gmail (or another org's Google account) with ZERO setup via Adom's hosted Connector (`adom-google connect-personal`), or bring your own token-broker gateway (`provider set`): Adom staff use the private adom-google-adom provider. One-click OAuth, no client secret on your machine.", "keywords": [ "adom-google", "google-workspace",@@ -118,8 +118,6 @@ "uninstall": "./uninstall.sh" }, "files": [- "bin/adom-google",- "bin/adom-gmail", "SKILL.md", "skills/adom-google-onboarding/SKILL.md", "README.md",@@ -128,7 +126,8 @@ "provider.example.json", "install.sh", "uninstall.sh",- "package.json"+ "package.json",+ "VERSION" ], "org": "adom" }
skills/adom-google-onboarding/SKILL.md+3−3@@ -1,6 +1,6 @@ --- name: adom-google-onboarding-description: "Hand-hold a brand-new ORG through standing up its OWN Google Workspace OAuth client so adom-google works for their whole team — read mail, post Google Chat on their behalf, build Slides/Sheets/Docs, search Drive. You drive the user's REAL logged-in browser (adom-desktop nbrowser_* extension; pup native-mode fallback) to Google Cloud Console, AUTO-FILL the fields (especially the error-prone redirect URI), capture the new client_id + client_secret, and wire it in RELAY mode (their secret stays 0600 on their box; Adom only lends its shared callback URL — it never sees the secret). Use when a NON-Adom org wants to get going themselves. Triggers — onboard my org/company to adom-google, set up google workspace for my team, configure google oauth for my company, get my company on adom-google, self-serve google setup, we want to use adom-google at our org, set up the google cloud project, create our oauth client. (For an Adom EMPLOYEE, skip all this — they install adom-google-adom and just run auth. This skill is for everyone else.)"+description: "Hand-hold a brand-new ORG through standing up its OWN Google Workspace OAuth client so adom-google works for their whole team — read mail, post Google Chat on their behalf, build Slides/Sheets/Docs, search Drive. You drive the user's REAL logged-in browser (the bridge's nbrowser_* extension verbs; pup native-mode fallback) to Google Cloud Console, AUTO-FILL the fields (especially the error-prone redirect URI), capture the new client_id + client_secret, and wire it in RELAY mode (their secret stays 0600 on their box; Adom only lends its shared callback URL — it never sees the secret). Use when a NON-Adom org wants to get going themselves. Triggers — onboard my org/company to adom-google, set up google workspace for my team, configure google oauth for my company, get my company on adom-google, self-serve google setup, we want to use adom-google at our org, set up the google cloud project, create our oauth client. (For an Adom EMPLOYEE, skip all this — they install adom-google-adom and just run auth. This skill is for everyone else.)" --- # adom-google — Org Onboarding (drive the browser, auto-configure Google)@@ -39,12 +39,12 @@ it IS their everyday Chrome/Edge with their Workspace login + device enrollment Chrome-for-Testing has no logins; pup *native-mode* is the fallback if the extension is unavailable. ```bash-adom-desktop --target AdomLapper nbrowser_status # connected? which browser?+adom-bridge-cli --target AdomLapper nbrowser_status # connected? which browser? ``` If "not connected": the target profile has no open Chrome window — ask the user to open Chrome (any window) in the profile that's signed into their Workspace, then `nbrowser_rescan`. Fallback to pup:-`adom-desktop browser_open_window '{"sessionId":"gcp","nativeBrowser":"chrome","nativeProfile":"Default","url":"https://console.cloud.google.com"}'`.+`adom-bridge-cli browser_open_window '{"sessionId":"gcp","nativeBrowser":"chrome","nativeProfile":"Default","url":"https://console.cloud.google.com"}'`. > ⛔ **MANDATORY PREFLIGHT — profiles first, then YOUR OWN window. Never the user's tabs.** > 1. `nbrowser_profiles` (read-only) → every connected `browser:email` profile across Chrome AND Edge.