support@capgo.app. The user attaches the file and sends. Zero backend. That's the whole feature.Cap-go/automations bridge (the ownedOutboundCopy heuristic, the double-delivery race, CC/Reply-To threading, a backend proxy, Email Service limits…). When the user sends from their own client, it all evaporates:
support@capgo.app → the existing bridge ingests it natively, opens a Discord thread, and replies thread back to the user automatically./support, Email Service binding, rate limiting, CC/BCC, bridge changes.mailto: can't auto-attach, so the user does one "attach + send" — made trivial via save + clipboard + Finder reveal.
builder-support-<appId>-<ts>.log (readable) and .log.gz (compact), in ~/.capgo-credentials/support/;.log.gz path to the clipboard; on macOS reveals it in Finder (open -R);mailto:support@capgo.app with a pre-filled subject + short body;mailto:support@capgo.app
?subject=Capgo Builder support — <appId> (<platform>)
&body=<short greeting + 1-line problem + tiny diagnostics summary +
"Please attach the logs file at <path> (copied to your clipboard).">
Body kept short (mailto URLs ~1.8–2 KB limit); full logs live in the attached file. Opened via the existing open npm package.
cli/src)| Need | Reuse |
|---|---|
| Open mail client | open npm pkg (used in init/command.ts, bundle/builder-cta.ts, onboarding UIs) |
| Save file + tell user where | the .env export pattern in build/credentials-manage.ts |
| Copy path to clipboard | copyToClipboard() (pbcopy/xclip/wl-copy) in credentials-manage.ts |
| Write the bundle | extend writeOnboardingSupportBundle() in onboarding-support.ts |
| Gzip variant | node:zlib gzipSync |
| Verbose log (non-build failures) | extend the src/debug.ts / internal-log idea |
cli/src/support/internal-log.ts, append-as-you-go → ~/.capgo-credentials/support/internal-<appId>-<ts>.log (survives crashes).debug; API req/resp incl. raw Apple & Google API errors; shell commands w/ stdout/stderr; diagnostics.support/internal-log.ts — verbose logger + redaction; wired into builder/onboarding + API/shell sites.writeOnboardingSupportBundle → one combined bundle, emit both .log and .log.gz.support/contact-support.ts — write files → clipboard → macOS reveal → build mailto: URL → open() → print instructions (graceful fallbacks).init/command.ts (support-first; AI only with a build log)./build/support · worker /support · Cloudflare Email Service / send_email · automations-bridge changes · CC/BCC/Reply-To · server-side rate limiting · double-delivery-race handling · Discord threading code. All unnecessary — the user's own client sends the email and the existing bridge handles inbound natively.
sendEvent later, out of scope).mailto: subject/body + CLI instruction wording..log and .log.gz produced (current plan).Prior exploration (rejected as too complex): 2026-06-03-builder-contact-support-design.md