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.6.1
6 files changed
+84−26
install.sh+32−15@@ -1,31 +1,48 @@ #!/usr/bin/env bash # adom-google installer — the open-source Google Workspace CLI. Runs in the container via-# `adompkg install`. Ships with NO OAuth provider: the binary + skill are symlinked onto PATH-# via the adompkg sh-helpers (lint-sanctioned convention). Configure a provider after install-# (`adom-google provider set ...`) — or, Adom staff, install the private `adom-google-adom`.+# `adom-wiki pkg install adom/adom-google`. Ships with NO OAuth provider.+#+# We install by COPYING real files (NO symlinks): the binaries land in ~/.local/bin and the+# skills land in ~/.claude/skills as real directories. Copies are self-contained — they keep+# working if the module dir moves or is pruned, and the agent reads a real file (no symlink+# chains, no dangling links). Re-run the installer (pkg update) to pick up a new version. set -euo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" cd "$HERE" -if ! command -v adompkg >/dev/null 2>&1; then- echo "[adom-google] FATAL: adompkg not on PATH — install via 'adompkg install adom-google'." >&2- exit 1-fi-# shellcheck disable=SC1090-source "$(adompkg sh-helpers)"+BIN_DIR="$HOME/.local/bin"+SKILLS_DIR="$HOME/.claude/skills"+mkdir -p "$BIN_DIR" "$SKILLS_DIR" -chmod +x bin/adom-google bin/adom-gmail-adompkg-link-bin adom-google # ~/.local/bin/adom-google -> $PWD/bin/adom-google-adompkg-link-bin adom-gmail # deprecation shim -> adom-google-adompkg-link-skill adom-google # ~/.claude/skills/adom-google -> $PWD/skills/adom-google-adompkg-link-skill adom-google-onboarding # the guided org-onboarding skill (drives the browser)+install_bin() { # install_bin <name> → copy bin/<name> to ~/.local/bin/<name>+ local name="$1"+ rm -rf "$BIN_DIR/$name" # clear any prior file OR symlink from an old install+ install -m 0755 "bin/$name" "$BIN_DIR/$name"+ echo " bin → $BIN_DIR/$name"+}++install_skill() { # install_skill <slug> → copy skills/<slug>/ to ~/.claude/skills/<slug>/+ local slug="$1"+ [ -f "skills/$slug/SKILL.md" ] || { echo "[adom-google] WARN: skills/$slug/SKILL.md missing" >&2; return; }+ rm -rf "$SKILLS_DIR/$slug" # clear any prior dir OR symlink from an old install+ mkdir -p "$SKILLS_DIR/$slug"+ cp -R "skills/$slug/." "$SKILLS_DIR/$slug/"+ echo " skill → $SKILLS_DIR/$slug/"+}++echo "[adom-google] installing (copies, not symlinks)…"+install_bin adom-google+install_bin adom-gmail # deprecation shim → forwards to adom-google+install_skill adom-google+install_skill adom-google-onboarding # guided org-onboarding skill (drives the browser) case ":$PATH:" in *":$HOME/.local/bin:"*) ;; *) echo "[adom-google] NOTE: $HOME/.local/bin is not on PATH — add it to your shell rc." ;; esac+ echo "✅ adom-google installed. It ships with NO OAuth provider — set one up:" echo " • new org (self-serve): adom-google onboard (the AI drives your browser through Google setup)" echo " • self-host (manual): adom-google provider set --gateway https://your-gateway --client-id <id>"-echo " • Adom staff: adompkg install adom-google-adom (drops the Adom provider)"+echo " • Adom staff: adom-wiki pkg install adom/adom-google-adom (drops the Adom provider)" echo " Then: 'adom-google setup' (asks safe vs full) and 'adom-google auth'."
package.json+4−1@@ -1,6 +1,6 @@ { "slug": "adom-google",- "version": "0.6.0",+ "version": "0.6.1", "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).",@@ -29,6 +29,9 @@ "install": { "binary_name": "adom-google" },+ "hero": {+ "path": "docs/hero.png"+ }, "dependencies": {}, "scripts": { "install": "./install.sh",
page.json+44−6@@ -4,13 +4,10 @@ "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",+ "version": "0.6.1", "visibility": "public", "install": {- "binary_name": "adom-google",- "install_dir": "",- "install_hint": "",- "version_cmd": ""+ "binary_name": "adom-google" }, "author": { "id": "6738b00a4dc87b8adbb0a5a3",@@ -42,5 +39,46 @@ "updated_at": "2026-06-25T12:45:19.086Z", "skills": [], "hero_path": "docs/hero.png",- "hero_type": "image"+ "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).",+ "keywords": [+ "adom-google",+ "google-workspace",+ "oauth",+ "gmail",+ "google-sheets",+ "google-docs",+ "google-slides",+ "google-calendar",+ "google-chat",+ "cli",+ "ai-agent"+ ],+ "dependencies": {},+ "scripts": {+ "install": "./install.sh",+ "uninstall": "./uninstall.sh"+ },+ "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"+ ],+ "org": "adom" }
skills/adom-google-onboarding/SKILL.md+1−1@@ -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 <company>, get my company on adom-google, self-serve google setup, "we want to use adom-google at <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 (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.)" --- # adom-google — Org Onboarding (drive the browser, auto-configure Google)
skills/adom-google/SKILL.md+1−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. 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.+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
uninstall.sh+2−2@@ -1,5 +1,5 @@ #!/usr/bin/env bash set -euo pipefail-rm -f "$HOME/.local/bin/adom-google" "$HOME/.local/bin/adom-gmail"-rm -f "$HOME/.claude/skills/adom-google" # remove the skill symlink+rm -f "$HOME/.local/bin/adom-google" "$HOME/.local/bin/adom-gmail"+rm -rf "$HOME/.claude/skills/adom-google" "$HOME/.claude/skills/adom-google-onboarding" echo "adom-google uninstalled (your ~/.config/adom-google token + provider are left intact)."