shipmobile
v0.1.3
Published
Ship React Native/Expo apps to App Store & Play Store — CLI + MCP server
Maintainers
Readme
ShipMobile 🦞
The last mile for AI-built mobile apps.
Your agent can build the app. ShipMobile ships it.
📦 v0.1.0 is live on npm! —
npm install -g shipmobile— All 6 phases complete. CLI + MCP server ready. Read the docs →
What is ShipMobile?
Every day, thousands of people use AI tools — Cursor, Bolt, Lovable, Claude — to build mobile apps. The code gets written in minutes. Then they hit the wall: code signing, provisioning profiles, app store metadata, screenshot requirements, build pipelines, submission rules.
The entire shipping process is a nightmare that has nothing to do with building the product.
ShipMobile eliminates that wall. One CLI. One MCP server. From code to App Store.
Built for the Agentic Era
ShipMobile isn't just a CLI with an MCP bolted on. It's agent-native from the ground up. Every command returns structured, machine-readable output. Every error is typed and actionable. Every flow is designed so an AI agent can drive it end-to-end without human intervention.
Today, your agent writes the code but hands you the shipping. Tomorrow, your agent writes the code and ships it — while you sleep. That's the future we're building for.
Who this is for:
- 🎨 Vibe coders who prompted an app into existence but have no idea how provisioning profiles work
- 🤖 AI agents (Cursor, Claude, OpenClaw, Windsurf, Cline) that need to complete the deployment lifecycle
- 🛠️ Indie devs who've done this 100 times and still hate every second of it
$ shipmobile doctor
📱 ShipMobile — Project Health Check
─────────────────────────────────────
Running 24 checks...
✅ 20 passed
⚠️ 3 warnings
❌ 1 critical
❌ CRITICAL
App icon missing — need 1024x1024 PNG at ./assets/icon.png
→ Fix: add your app icon, then run `shipmobile assets`
Overall: 🟡 Fixable — address the critical issue above, then you're goodWhy ShipMobile?
| Problem | ShipMobile |
|---------|-----------|
| Code signing is confusing | shipmobile login handles it |
| "Is my app ready?" is unanswerable | shipmobile doctor runs 20+ health checks |
| Store rejections are a mystery | shipmobile audit catches issues before submission |
| Building takes 47 browser tabs | shipmobile build → shipmobile status in your terminal |
| "How do I get this on TestFlight?" | shipmobile preview generates QR codes |
| AI agents can't deploy apps | MCP server lets any agent ship to stores |
Features
🔐 Authentication (shipmobile login)
Connect your Apple Developer, Expo/EAS, and Google Play accounts in one guided flow. Credentials stored locally, encrypted at rest.
🔍 Project Setup (shipmobile init)
Auto-detects your project type (Expo managed, Expo bare, React Native CLI), scaffolds configuration, and sets sensible defaults.
🩺 Health Checks (shipmobile doctor)
20+ checks covering project structure, configuration, assets, account status, build readiness, and dependency compatibility. Catches problems before they become build failures.
📊 Static Analysis (shipmobile audit)
Deep analysis across five categories:
- Performance — Bundle size, heavy dependencies, unused imports, image optimization
- Memory — useEffect cleanup, uncleared timers, event listener leaks
- UX — Touch target sizes, font readability, safe areas, dark mode, accessibility
- Compliance — Permissions, privacy manifests, console.logs, version sanity
- Security — Hardcoded API keys, exposed secrets
Produces a 0-100 score with actionable fix suggestions. --fix auto-remediates where possible.
🖼️ Asset Management (shipmobile assets)
Validates and processes app icons (generates all required sizes from a single 1024×1024 source), splash screens, and screenshots. Tells you exactly what's missing and what dimensions you need.
📝 Metadata Generation (shipmobile prepare)
Scans your project to generate app store metadata — descriptions, keywords, category suggestions, and privacy policy templates. Review, edit, submit.
🔨 Build (shipmobile build)
Triggers EAS builds with sensible defaults. Pre-validates your project, selects platforms and profiles, and returns build IDs.
📡 Live Status (shipmobile status)
Real-time build progress in your terminal. Queue position, progress bars, estimated time, multi-platform side-by-side. No more alt-tabbing to dashboards.
📱 Preview (shipmobile preview)
Generates TestFlight and APK download links with QR codes rendered right in your terminal. Share with anyone instantly.
🚀 Submit (shipmobile submit)
Uploads your build + metadata to App Store Connect and Google Play Console. Pre-flight checks ensure everything is complete before submission.
🔄 Reset (shipmobile reset)
Clear all local ShipMobile configuration and start fresh. Removes the .shipmobile/ directory so you can re-initialize your project.
🤖 MCP Server (shipmobile mcp)
Full MCP (Model Context Protocol) integration. Every command is available as a structured tool for AI agents. Drop this into any MCP-compatible client and your agent can ship apps autonomously:
{
"mcpServers": {
"shipmobile": {
"command": "shipmobile",
"args": ["mcp"]
}
}
}Works with Cursor, Claude Desktop, Windsurf, Cline, OpenClaw, and any other MCP client. Your agent gets the same power as the CLI — structured JSON responses, typed errors, and full state awareness.
🧠 Agentic Intelligence — coming soon
We're building toward a world where ShipMobile doesn't just execute commands — it thinks:
- Context-aware suggestions — learns from your project history and past rejections
- LLM-powered audit fixes —
shipmobile fixfeeds audit findings to AI and generates patches - Memory across sessions — remembers your store preferences, past submissions, and common issues
- Proactive alerts — notifies you (or your agent) when certificates expire, new SDK versions drop, or store policies change
🔄 OTA Updates (shipmobile update)
Push over-the-air updates via EAS Update. Automatically detects whether changes are OTA-safe (JS/assets only) or require a full native build. Channel management (production, staging, preview) built in.
⏪ Rollback (shipmobile rollback)
Instantly revert to a previous OTA update. Lists recent update groups, lets you pick a target, and republishes. Because shipping fast means being able to un-ship fast too.
Installation
# Run directly with npx
npx shipmobile
# Or install globally
npm install -g shipmobile
# or
pnpm add -g shipmobileNote: ShipMobile requires Node.js 18+ and works with React Native / Expo projects. For MCP server usage, run
shipmobile-mcpornpx shipmobile mcp.
Quick Start
# 1. Authenticate
shipmobile login
# 2. Set up your project
shipmobile init
# 3. Check project health
shipmobile doctor
# 4. Audit for issues
shipmobile audit
# 5. Build
shipmobile build
# 6. Share preview
shipmobile preview
# 7. Ship it
shipmobile submit
# 8. Push an OTA update later
shipmobile update --message "Bug fix"
# 9. Something wrong? Roll it back
shipmobile rollbackDocumentation
Full docs with guides, API reference, and examples: shipmobile.mintlify.app
- Quickstart Guide
- All Commands
- MCP Server Setup
- Agent Workflow Guide
- First Deploy Walkthrough
- OTA Update Strategy
- Audit Rules Reference
- CI/CD Setup
- Contributing
Agent Workflow
ShipMobile is agent-first. This is what fully autonomous mobile deployment looks like:
You: "Build me a habit tracker and put it on TestFlight"
Agent writes React Native code...
Agent → shipmobile_init() → detects project, sets config
Agent → shipmobile_doctor() → finds missing icon → fixes it
Agent → shipmobile_audit() → score 82/100 → removes console.logs → 94/100
Agent → shipmobile_prepare() → generates metadata + privacy policy
Agent → shipmobile_build() → triggers EAS build
Agent → shipmobile_status() → polls until complete
Agent → shipmobile_preview() → generates TestFlight link
Agent: "Your app is on TestFlight! Scan this QR code to install.
Store listing is ready — say 'submit' when you want to go live."Zero human steps between "I have an idea" and "it's on TestFlight." That's the vision. The agent handles everything — code, config, assets, compliance, build, deploy. You just approve the final submission.
Why MCP Matters
MCP is the bridge between AI agents and real-world tools. Without it, agents can write code but can't do anything with it. ShipMobile's MCP server gives any agent — regardless of platform — the ability to:
- Authenticate with app stores
- Validate projects against 25+ health checks
- Run deep static analysis
- Trigger cloud builds
- Generate preview links
- Submit to stores
No custom integrations. No platform lock-in. Just tools that any agent can call.
Roadmap
ShipMobile is being built in phases. Here's where we're at:
| Phase | Status | What |
|-------|--------|------|
| 0 — Foundation | ✅ Done | Repo scaffold, architecture, CLI + MCP entry points |
| 1 — Auth & Setup | ✅ Done | login, init, doctor (23 health checks) |
| 2 — Audit Engine | ✅ Done | 25 static analysis rules, scoring 0-100, --fix auto-remediation |
| 3 — Assets & Metadata | ✅ Done | Icon processing, metadata generation, privacy policies |
| 4 — Build Loop | ✅ Done | Build, status, preview with real QR codes |
| 5 — Submit & Launch | ✅ Done | App Store Connect + Google Play submission, npm published |
| 6 — OTA Updates | ✅ Done | update with native change detection, rollback |
| 7 — Agentic Intelligence | 🔮 Next | LLM-powered fix, memory across sessions, proactive alerts |
| 8 — Ecosystem | 🔮 Vision | Flutter/Swift/Kotlin support, plugin marketplace, CI/CD generation |
Tech Stack
- TypeScript (strict mode) — type-safe from day one
- Commander.js — CLI framework
- chalk — terminal colors and styling
- @modelcontextprotocol/sdk — MCP server
- tsup — fast bundling
- Vitest — testing
- Babel — AST parsing for audit rules
- sharp — image processing
Contributing
We welcome contributions! ShipMobile is open source and built by the community.
See CONTRIBUTING.md for guidelines.
Good first contributions:
- Writing new audit rules (plug-in architecture makes this easy)
- Improving doctor checks
- Documentation and examples
- Bug reports and feature requests
Competitive Landscape
| Tool | Gap | |------|-----| | EAS CLI (Expo) | Powerful but complex. Not designed for beginners or agents. | | Fastlane | Ruby-based, steep learning curve, no AI integration. | | PreReview | Apple-only compliance checking. No build/deploy. Not launched. | | Codemagic / Bitrise | Build infrastructure, not shipping assistance. |
ShipMobile's edge: Agent-first (MCP), full lifecycle, vibe-coder UX, open source, beautiful CLI.
License
MIT — use it, fork it, ship with it.
🦞 Tip the Captain
If ShipMobile saves you from App Store hell, consider buying the crew a coffee.
ETH/Base: 0xDb7F7578a92aA5EA35e2e28A6F79Bc8bd1459535
Built with ⚡ by ACR Labs
Your agent can build the app. ShipMobile ships it.
