Files
opencode-mobile/distribution/fdroid-submission/metadata.yml
Den 14e858a402 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>
2026-06-01 15:32:19 -07:00

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