Layers top to bottom: Surfaces reach the Agent & API/MCP gateway, which fronts edge functions and the data plane, which in turn drives execution lanes and the external providers they call.
| Component | Kind | Repo | Path | Run / build | Deploy target | Purpose |
|---|---|---|---|---|---|---|
| BAMF.ai web app | web app | bamfaiapp | src/ | npm run dev npm run build | Netlify (netlify.toml, public/_redirects) | The React/TypeScript/Vite/Supabase product: post generation, author management, scheduling, analytics, Video Studio. |
| BAMF.ai Supabase edge functions | edge functions | bamfaiapp | supabase/functions/ | supabase start supabase functions deploy <name> | Supabase (linked project ubetjzaarcuwiafglxtq) | Server-side logic: admin-auth, bamf-gateway-v1, client-mcp, product-mcp, unified-app-gateway, ad-boost, zernio scheduling, LLM proxies, and more. |
| BAMF Agent MCP gateway | mcp | bamfaiapp | supabase/functions/bamf-gateway-v1/, supabase/functions/client-mcp/, supabase/functions/product-mcp/ | supabase functions deploy bamf-gateway-v1 supabase functions deploy product-mcp | Supabase edge runtime, exposed publicly at mcp.bamf.ai | The official BAMF product MCP surface (tools/resources for agents); docs/mcp-tool-reference.json and src/generated/mcpToolReference.ts are the generated contract. |
| BAMF desktop (macOS via Tauri) | desktop | bamfaiapp | src-tauri/ (Cargo.toml, tauri.conf.json — identifier ai.bamf.desktop, productName "BAMF AI") | cargo tauri dev (from src-tauri/) cargo tauri build | Signed macOS app, self-distributed via desktop:publish script | The BAMF Browser / desktop shell: WKWebView cookie-seeding for LinkedIn session import, native automation envelope. |
| BAMF desktop (iOS) | mobile | bamfaiapp | src-tauri/gen/apple/ (bamf-desktop.xcodeproj, bamf-desktop_iOS/, project.yml, Podfile) | cargo tauri ios dev cargo tauri ios build | TestFlight / App Store Connect | iOS build of the Tauri app generated under src-tauri/gen/apple; Info.plist and entitlements live here. |
| BAMF desktop (Linux) | desktop | bamfaiapp | src-tauri/ (shared Cargo/tauri config; Linux target has no separate gen/ directory — it builds from the same src-tauri/ tree as macOS) | cargo tauri dev cargo tauri build --target x86_64-unknown-linux-gnu | Not yet distributed; build target only | Linux desktop target sharing the macOS Tauri source tree. |
| BAMF.ai Chrome extension | extension | bamfaiapp | bamfai-chrome/ | load unpacked in chrome://extensions npm run build:ext | Chrome Web Store (public/downloads/bamfai-chrome.zip mirrors the CWS build) | Visible-tab LinkedIn/Sales Navigator metadata attach, plus the owner-authorized local-only LinkedIn session import into the BAMF Browser. |
| BAMFStack skills | stack/skills | bamfaiapp | bamfstack/skills/ | n/a (skills consumed by agent harnesses) n/a | Synced into ~/.claude/skills and other agent-stack-sync targets | Distributable BAMF operator skills (bamf-api, bamf-draft, bamf-schedule, etc.) for agent-first product operation. |
| bamfai-examples (public reference repo) | cli | bamfai-examples | github.com/houstongolden/bamfai-examples | fetch examples.json then pull raw files by URL n/a | GitHub (public) | Starter code and published reference prompts coding agents pull directly instead of pasted boilerplate. |
| bamfsite (agency OS) | site/agency OS | bamfsite | src/ (root) | npm run dev npm run build | Netlify (netlify.toml) | Proprietary bamf.com / agency brain: client campaigns, contact graph, internal operations. |
| BAMF gateway / site-serve proxy | data plane | bamfsite | services/site-serve-proxy/, services/site-builder/ | node services/site-serve-proxy (per service README) n/a | bamfsite-owned infrastructure | Serves and builds BAMF-managed Git-connected client sites. |
| BAMF Connect | site/agency OS | bamfsite | extensions/bamf-chrome/ plus bamfsite server routes (Liaufa API integration) | npm run dev (bamfsite) npm run build (bamfsite) | connect.bamf.com | Client-facing CRM/outreach surface: DMs, comments, reactions, connection requests via the Liaufa API and Multilogin browser lane. |
| BAMF Agent desktop (bamfsite) | desktop | bamfsite | desktop/ (src-tauri/, scripts/manage-local-app.mjs) | npm run bamf-agent-desktop:run npm run bamf-agent-desktop:install | Local-machine launchd-managed app (bamf-agent-desktop:launchd:install) | Local BAMF agent runtime for BAMFOS admin operations, dock/launchd lifecycle management. |
| bamf-dev-dashboard | dashboard | bamf-dev-dashboard | app/, content/, lib/ | npm run dev (vinext dev) npm run build (vinext build, output: export) | bamf-dev-dashboard.bamf.so (BAMF-managed Vercel-backed Site runtime; GitHub is source owner) | This engineering-only operating surface: lanes/sessions, stack map, decisions log, AI provider inventory. |
| Provider | Role | Confirmed in |
|---|---|---|
| Supabase | primary data plane, auth, edge functions | bamfaiapp CLAUDE.md, supabase/functions/ |
| Netlify | static hosting for bamfaiapp and bamfsite | netlify.toml in both repos |
| Zernio / Late | headless OAuth + scheduling rail for IG/Threads/YT/TikTok and general multi-channel scheduling | bamfaiapp CLAUDE.md (zernio-schedule-video-post, zernio-schedule-post) |
| Liaufa / BAMF Connect | primary API lane for DMs, comments, reactions, connection requests | bamfaiapp CLAUDE.md hard boundary section referencing Liaufa API |
| Multilogin | persistent authenticated browser profiles for LinkedIn UI-only actions and recovery | bamf-connect-browser-operator and bamf-multilogin-x-operator skill descriptions |
| Apify | LinkedIn/profile scraping | bamfaiapp APIFY_DEPLOYMENT_STEPS.md, APIFY_LINKEDIN_SETUP.md, viral-clip-scraper edge function |
| OpenAI | post generation, Whisper transcription, image analysis | src/lib/posts/openai.ts, openai-audio-proxy |
| Anthropic | Claude post generation | src/lib/posts/anthropic.ts, supabase/functions/anthropic-proxy |
| OpenRouter | optional routed LLM traffic behind LLM_ROUTE_VIA_OPENROUTER | supabase/functions/openai-proxy, D6 decision |
| ElevenLabs | creator voice cloning for Video Studio | authors.elevenlabs_voice_id, elevenlabs-proxy edge function |
| Stripe | billing/subscriptions | bamfaiapp CLAUDE.md required env VITE_STRIPE_PUBLISHABLE_KEY |
Not included above because they could not be confirmed by grep: Gemini as a distinct provider key (only referenced indirectly via image-classification SQL scripts; no dedicated proxy function confirmed); Sendblue / Slack / WhatsApp as agent-channel providers beyond the bamf-os-sendblue-follow-up function name and bamf-tag / bamf-whatsapp-tag service directories in bamfsite.