* 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>
109 lines
4.4 KiB
YAML
109 lines
4.4 KiB
YAML
# F-Droid metadata for cc.agentlabs.opencode
|
|
# Target file path in fdroiddata: metadata/cc.agentlabs.opencode.yml
|
|
#
|
|
# BLOCKER (do NOT file the fdroiddata MR until all true):
|
|
# 1. A release tag built AFTER the ai.opencode.mobile -> cc.agentlabs.opencode
|
|
# rename exists, with a cc.agentlabs.opencode APK attached, signed by the
|
|
# release key. v0.4.1 and earlier APKs are the OLD package id and cannot be
|
|
# used. Cut a new tag (e.g. v0.4.2+) post-rename, then set the Builds entry
|
|
# below (versionName / versionCode / commit) to that tag.
|
|
# 2. First Google Play production release is live (required by F-Droid policy).
|
|
# 3. Reproducible build verified locally (see REPRODUCIBLE-BUILD-NOTES.md). Expo
|
|
# RN builds are not reproducible by default; expect reviewer back-and-forth.
|
|
#
|
|
# Signing key SHA-256 (AllowedAPKSigningKeys, lowercase no colons) is confirmed in
|
|
# distribution/SIGNING-KEY-FINGERPRINTS.md and is unchanged across the rename.
|
|
|
|
Categories:
|
|
- Development
|
|
|
|
License: MIT
|
|
|
|
AuthorName: VIBE TECHNOLOGIES, LLC
|
|
AuthorEmail: support@vibebrowser.app
|
|
|
|
WebSite: https://agentlabs.cc/opencode
|
|
SourceCode: https://github.com/dzianisv/opencode-mobile
|
|
IssueTracker: https://github.com/dzianisv/opencode-mobile/issues
|
|
Changelog: https://github.com/dzianisv/opencode-mobile/releases
|
|
|
|
Summary: Drive your self-hosted AI coding agent from your phone
|
|
|
|
Description: |-
|
|
OpenCode Mobile is a free, open-source (MIT) client for the opencode AI coding
|
|
agent (sst/opencode). Connect to your self-hosted opencode server and drive
|
|
AI-powered coding sessions from your phone — no proprietary backend, no mandatory
|
|
accounts, no tracking by default.
|
|
|
|
'''Key features'''
|
|
|
|
* Multiple connection types — local network, secure tunnels (Cloudflare, ngrok),
|
|
or any self-hosted opencode instance
|
|
* Biometric unlock — fingerprint / PIN to keep your sessions private
|
|
* Real-time streaming chat — watch your AI agent think and respond live
|
|
* File diff viewer — see exactly what code changes the agent proposes
|
|
* Multi-session management — start, resume, and switch between coding sessions
|
|
* Tool call approval — review and approve agent actions before they run
|
|
|
|
'''Self-hosted first'''
|
|
|
|
The app requires your own opencode server. Your AI traffic goes directly to your
|
|
backend (Claude, GPT, Gemini, local models — your choice). No middleman required.
|
|
|
|
An optional hosted backend ("opencode Cloud") is planned as a future paid service,
|
|
but the client is always free and fully functional without it.
|
|
|
|
'''Crash reporting'''
|
|
|
|
Sentry crash reporting is opt-in with default OFF. Code, prompts, and AI responses
|
|
never leave your own server.
|
|
|
|
'''Anti-features'''
|
|
|
|
NonFreeNet: the opencode server you connect to may connect to proprietary AI
|
|
services (OpenAI, Anthropic, Google). The app itself contains no proprietary
|
|
network code.
|
|
|
|
AntiFeatures:
|
|
NonFreeNet:
|
|
en-US: >-
|
|
The app connects to a user-self-hosted opencode server which may in turn
|
|
connect to proprietary AI services (OpenAI API, Anthropic API, Google Gemini).
|
|
The app itself is fully open source and does not require any specific provider.
|
|
|
|
RepoType: git
|
|
Repo: https://github.com/dzianisv/opencode-mobile
|
|
|
|
Builds:
|
|
- versionName: '0.3.1'
|
|
versionCode: 2
|
|
commit: v0.3.1
|
|
subdir: android
|
|
sudo:
|
|
- apt-get update
|
|
- apt-get install -y nodejs npm
|
|
init:
|
|
- npm install --prefix .. --legacy-peer-deps
|
|
- npx --prefix .. expo prebuild --platform android --non-interactive
|
|
gradle:
|
|
- release
|
|
ndk: 26.1.10909125
|
|
# Node 20+ required for Expo SDK 52+
|
|
# prebuild regenerates android/ from app.json + package.json
|
|
# The signed AAB/APK is then compared against AllowedAPKSigningKeys
|
|
prebuild:
|
|
- cd .. && npm install --legacy-peer-deps
|
|
- cd .. && npx expo prebuild --platform android --non-interactive
|
|
|
|
# AllowedAPKSigningKeys pins our release signing key.
|
|
# F-Droid will serve our pre-signed APK rather than re-signing with their key.
|
|
# This requires reproducible builds (identical output across machines).
|
|
AllowedAPKSigningKeys: 0c259d94e0ffea5d6319614b229d4b6bdc22de1f56e38e76948398d2df6aa099
|
|
|
|
AutoUpdateMode: Version v%v
|
|
UpdateCheckMode: Tags
|
|
UpdateCheckData: https://raw.githubusercontent.com/dzianisv/opencode-mobile/main/app.json|"version":\s*"([^"]+)"|.|.
|
|
|
|
CurrentVersion: '0.3.1'
|
|
CurrentVersionCode: 2
|