ci(play): production track input + launch kit + F-Droid metadata fix (#19)
* ci(play): add track/status inputs to publish workflow Lets the Play publish run target a public track (production/beta) and choose draft vs completed, instead of being hard-wired to internal. Defaults stay internal/completed so tag-push and release triggers are unchanged. Enables promoting the app to a publicly-downloadable track — the prerequisite for any real download growth. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(play): record user authorization for production go-live * docs(fdroid): correct metadata to cc.agentlabs.opencode + agentlabs.cc, flag post-rename tag gate The fdroiddata submission still referenced the old package ai.opencode.mobile and v0.3.1. Update package id, website, and document the real blocker: F-Droid mainline needs a release tag built AFTER the package rename (v0.4.1 APK is the old id) plus Play production live and a reproducible build. Signing fingerprint is unchanged across the rename. * docs(launch): ready-to-fire distribution kit (Show HN, Reddit, PH, X, dev.to) Copy-paste launch posts + ordered fire checklist so distribution starts the moment the public listing is live. Store URLs left as {{PLAY_URL}}/{{FDROID_URL}} placeholders; web hub agentlabs.cc/opencode is live now. --------- Co-authored-by: engineer <engineer@opencode.ai> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
91
distribution/launch/x-thread.md
Normal file
91
distribution/launch/x-thread.md
Normal file
@@ -0,0 +1,91 @@
|
||||
# X (Twitter) Launch Thread
|
||||
|
||||
Post as a thread. Tweet 1 is the hook — quote-tweet or reply chain for 2–7.
|
||||
|
||||
---
|
||||
|
||||
**Tweet 1 (hook)**
|
||||
```
|
||||
I built an Android app that connects to your self-hosted AI coding agent.
|
||||
|
||||
Token-by-token streaming. Inline diff viewer. Tool call approval from your phone.
|
||||
|
||||
OpenCode Mobile — MIT, free, no backend of mine.
|
||||
|
||||
🧵
|
||||
```
|
||||
(228 chars)
|
||||
|
||||
---
|
||||
|
||||
**Tweet 2 (the problem)**
|
||||
```
|
||||
The problem: opencode runs a long coding session on my server. I leave my desk.
|
||||
|
||||
SSH + terminal loses the session UX. Generic AI chat apps have no concept of file diffs or tool call approval.
|
||||
|
||||
I needed a real client, not a workaround.
|
||||
```
|
||||
(238 chars)
|
||||
|
||||
---
|
||||
|
||||
**Tweet 3 (how it works)**
|
||||
```
|
||||
How it works:
|
||||
|
||||
opencode exposes an HTTP + SSE API. The app speaks that — streaming output, session state, diffs, tool calls.
|
||||
|
||||
Your code stays on your server. Your AI provider keys stay on your server. The app is a thin client. No proxy, no middleman.
|
||||
```
|
||||
(252 chars)
|
||||
|
||||
---
|
||||
|
||||
**Tweet 4 (features)**
|
||||
```
|
||||
What you get:
|
||||
|
||||
→ Watch your AI agent generate code token by token
|
||||
→ See every file diff before it's written
|
||||
→ Approve or reject shell commands and file writes
|
||||
→ Manage multiple sessions
|
||||
→ Connect via Tailscale, Cloudflare Tunnel, ngrok, or local network
|
||||
```
|
||||
(255 chars)
|
||||
|
||||
---
|
||||
|
||||
**Tweet 5 (technical credibility)**
|
||||
```
|
||||
Works with any model opencode supports: Claude, GPT-4, Gemini, or local LLMs via any OpenAI-compatible endpoint.
|
||||
|
||||
Your keys. Your hardware. Your inference budget.
|
||||
```
|
||||
(163 chars)
|
||||
|
||||
---
|
||||
|
||||
**Tweet 6 (OSS / trust)**
|
||||
```
|
||||
MIT licensed. Source at github.com/dzianisv/opencode-mobile
|
||||
|
||||
No subscription. No ads. Sentry crash reporting is opt-in and off by default. Credentials live in Android Keystore.
|
||||
|
||||
F-Droid submission in progress.
|
||||
```
|
||||
(209 chars)
|
||||
|
||||
---
|
||||
|
||||
**Tweet 7 (CTA)**
|
||||
```
|
||||
Now on Android.
|
||||
|
||||
Play Store: {{PLAY_URL}}
|
||||
Source + docs: github.com/dzianisv/opencode-mobile
|
||||
Landing page: https://agentlabs.cc/opencode
|
||||
|
||||
If you run opencode, give it a try. Issues and PRs welcome.
|
||||
```
|
||||
(196 chars — adjust after filling {{PLAY_URL}})
|
||||
Reference in New Issue
Block a user