← Commit history
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" }\ No newline at end of file
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)."