Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 42 additions & 25 deletions apps/docs/src/content/docs/docs/cli/cloud-build/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import MermaidGraph from '@/components/MermaidGraph.astro';
export const buildProcessFlowGraph = `flowchart LR
A[Your Machine] -->|1. Zip Project| B[Local Temp]
B -->|2. Upload| C[Capgo Cloud]
C -->|3. Build| D[Build Server]
C -->|3. Build| D[Mac Mini Silicon M4 Build Server]
D -->|4. Logs Stream| A
D -->|5. Cleanup| E[Auto Delete]`;

Expand All @@ -25,7 +25,7 @@ Before you begin, ensure you have:
- A Capacitor app that builds successfully locally
- Node.js 20 or higher installed
- A Capgo account with an active subscription
- Your app already registered in Capgo (run `npx @capgo/cli@latest app add` if not)
- Your app already registered in Capgo (run `bunx @capgo/cli@latest app add` if not)
- **Build credentials configured** (certificates, keystores) - see below

## Before Your First Build
Expand All @@ -48,7 +48,7 @@ Before you begin, ensure you have:

**For iOS:**
```bash
npx @capgo/cli build credentials save \
bunx @capgo/cli@latest build credentials save \
--platform ios \
--certificate ./cert.p12 \
--p12-password "password" \
Expand All @@ -61,7 +61,7 @@ Before you begin, ensure you have:

**For Android:**
```bash
npx @capgo/cli build credentials save \
bunx @capgo/cli@latest build credentials save \
--platform android \
--keystore ./release.keystore \
--keystore-alias "my-key" \
Expand All @@ -77,22 +77,22 @@ Before you begin, ensure you have:

```bash
# Build your web assets
npm run build
bun run build

# Sync with Capacitor
npx cap sync
bunx cap sync

# Test local build (optional but recommended)
npx cap open ios # For iOS
npx cap open android # For Android
bunx cap open ios # For iOS
bunx cap open android # For Android
```

3. **Authenticate with Capgo**

Set your Capgo API key (if not already configured):

```bash
npx @capgo/cli@latest login
bunx @capgo/cli@latest login
```

Or set the environment variable:
Expand All @@ -105,7 +105,7 @@ Before you begin, ensure you have:
Start with an Android debug build (fastest to test):

```bash
npx @capgo/cli@latest build com.example.app \
bunx @capgo/cli@latest build com.example.app \
--platform android \
--build-mode debug
```
Expand Down Expand Up @@ -145,14 +145,26 @@ When you run the build command, here's what happens:
4. **Log Streaming** - Real-time logs stream to your terminal via Server-Sent Events
5. **Automatic Cleanup** - Build artifacts are deleted (Android: instant, iOS: 24 hours)

### Build Infrastructure

Build execution runs on dedicated Mac Mini Silicon M4 machines:

- 10-core M4 CPU (4 performance cores, 6 efficiency cores)
- 10-core GPU
- 16-core Neural Engine
- 16GB of RAM
- macOS Tahoe 26.2

The build image supports Xcode 26.2, Android Studio 2025, and .NET 9/.NET 10 SDK workloads for native build pipelines.

## Your First Production Build

Once you've verified the process works, create a production build:

### Android

```bash
npx @capgo/cli@latest build com.example.app \
bunx @capgo/cli@latest build com.example.app \
--platform android \
--build-mode release
```
Expand All @@ -162,7 +174,7 @@ You'll need to configure signing credentials first. See [Android Build Configura
### iOS

```bash
npx @capgo/cli@latest build com.example.app \
bunx @capgo/cli@latest build com.example.app \
--platform ios \
--build-mode release
```
Expand Down Expand Up @@ -195,15 +207,15 @@ Capgo Build only uploads the **minimum files needed** to compile your native app
| `.env`, secrets | Never uploaded |

<Aside>
Your built web assets (JS, CSS, HTML) **are** uploaded - but as part of the native folder. When you run `npx cap sync`, your web build is copied into `ios/App/App/public/` or `android/app/src/main/assets/public/`. That's why running `cap sync` before building is required.
Your built web assets (JS, CSS, HTML) **are** uploaded - but as part of the native folder. When you run `bunx cap sync`, your web build is copied into `ios/App/App/public/` or `android/app/src/main/assets/public/`. That's why running `cap sync` before building is required.
</Aside>

### Your Responsibilities

Before running `npx @capgo/cli build`:
Before running `bunx @capgo/cli@latest build`:

1. **Build your web assets** - Run `npm run build` (or your framework's build command)
2. **Sync to native** - Run `npx cap sync` to copy web assets into the native project
1. **Build your web assets** - Run `bun run build` (or your framework's build command)
2. **Sync to native** - Run `bunx cap sync` to copy web assets into the native project
3. **Commit dependencies** - Ensure all native plugins are in `package.json`

### What Capgo Build Handles
Expand All @@ -219,8 +231,9 @@ Before running `npx @capgo/cli build`:

Build time is measured from start to completion:

- **Android**: Typically 3-5 minutes (1× billing multiplier)
- **iOS**: Typically 5-10 minutes (2× billing multiplier due to Mac hardware costs)
- **Android**: Typically 3-5 minutes
- **iOS**: Typically 5-10 minutes
- **Infrastructure**: Mac Mini Silicon M4 machines running macOS Tahoe 26.2

You only pay for actual build time used. No hidden fees.

Expand All @@ -231,13 +244,17 @@ You only pay for actual build time used. No hidden fees.
Add to your GitHub Actions workflow:

```yaml
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Build native app
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
run: |
npm run build
npx cap sync
npx @capgo/cli@latest build ${{ secrets.APP_ID }} \
bun run build
bunx cap sync
bunx @capgo/cli@latest build ${{ secrets.APP_ID }} \
Comment thread
riderx marked this conversation as resolved.
--platform both \
--build-mode release
```
Expand All @@ -248,8 +265,8 @@ Test builds locally before committing:

```bash
# Quick debug build for testing
npm run build && npx cap sync
npx @capgo/cli@latest build com.example.app \
bun run build && bunx cap sync
bunx @capgo/cli@latest build com.example.app \
--platform android \
--build-mode debug
```
Expand All @@ -260,12 +277,12 @@ Build for both platforms by running two commands:

```bash
# iOS build
npx @capgo/cli@latest build com.example.app \
bunx @capgo/cli@latest build com.example.app \
--platform ios \
--build-mode release

# Android build
npx @capgo/cli@latest build com.example.app \
bunx @capgo/cli@latest build com.example.app \
--platform android \
--build-mode release
```
Expand Down
30 changes: 22 additions & 8 deletions apps/docs/src/content/docs/docs/cli/cloud-build/index.mdx
Original file line number Diff line number Diff line change
@@ -1,26 +1,41 @@
---
title: Introduction to Capgo Build
description: Build iOS and Android apps in the cloud without local setup. No Mac required for iOS builds.
description: Build iOS and Android apps in the cloud without local setup. No local Mac required for iOS builds.
sidebar:
order: 0
label: Introduction
---

import { Card, CardGrid, Aside, LinkCard } from '@astrojs/starlight/components';

Capgo Build is a cloud-based native app compilation service for Capacitor apps. It lets you build iOS and Android apps without maintaining local development environments - no Xcode, no Android Studio, no Mac hardware required.
Capgo Build is a cloud-based native app compilation service for Capacitor apps. It lets you build iOS and Android apps without maintaining local development environments - no Xcode, no Android Studio, no Mac hardware required on your own machine.

## What Capgo Build Does

Capgo Build compiles the **native parts** of your Capacitor app in the cloud:

- **iOS builds** run on dedicated Apple Silicon (Mac Mini M4) machines
- **Android builds** run in isolated Docker containers
- **iOS builds** run on dedicated Mac Mini Silicon M4 machines
- **Android builds** run on the same Mac Mini Silicon M4 build fleet with Android Studio 2025 available
- **Automatic code signing** handles certificates, provisioning profiles, and keystores
- **Direct store submission** uploads signed apps to App Store Connect and Google Play

You trigger builds with a single CLI command that works from anywhere - your local machine, GitHub Actions, GitLab CI, or any CI/CD pipeline.

## Build Machines and Toolchain

Capgo Build runs native jobs on dedicated Mac Mini Silicon M4 machines:

| Component | Specification |
|----------|---------------|
| Machine | Mac Mini Silicon M4 |
| CPU | 10-core M4 CPU (4 performance cores, 6 efficiency cores) |
| GPU | 10-core GPU |
| Neural Engine | 16-core Neural Engine |
| Memory | 16GB of RAM |
| OS image | macOS Tahoe 26.2 |

The build image supports Xcode 26.2, Android Studio 2025, and .NET 9/.NET 10 SDK workloads for native build pipelines.

## When to Use Capgo Build vs Live Updates

Capgo offers two complementary features for updating your app. Here's when to use each:
Expand All @@ -45,8 +60,8 @@ Capgo offers two complementary features for updating your app. Here's when to us
## Why Use Capgo Build

<CardGrid>
<Card title="No Mac Required for iOS" icon="laptop">
Build and ship iOS apps without Mac hardware. Anyone on Windows, Linux, or any CI/CD system can trigger iOS builds and publish to TestFlight.
<Card title="No Local Mac Required for iOS" icon="laptop">
Build and ship iOS apps without owning Mac hardware. Anyone on Windows, Linux, or any CI/CD system can trigger iOS builds and publish to TestFlight.
</Card>

<Card title="Skip Local Environment Setup" icon="rocket">
Expand Down Expand Up @@ -97,8 +112,7 @@ Build time is the only cost:

- Build minutes are included in your Capgo plan
- Extra minutes available via credit system
- iOS builds run on Mac Mini M4 (2x cost multiplier due to hardware costs)
- Android builds run in Docker containers (1x cost)
- Builds run on Mac Mini Silicon M4 machines with the native toolchains already installed
- No storage fees

## Next Steps
Expand Down
39 changes: 29 additions & 10 deletions apps/shared/copy/messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1648,7 +1648,7 @@ const messages = {
"We don't store them. Pass certificates at build time via CLI flags or environment variables. Store them in your CI/CD secrets (GitHub, GitLab, etc.) - credentials only exist in memory during the build.",
native_build_faq3_q: 'How do you handle signing credentials?',
native_build_faq4_a:
'Build minutes are included in your plan. Need more? Buy credits. iOS builds run on Mac Mini M4, Android builds run in Docker containers (2x cheaper). No storage fees - ever.',
'Build minutes are included in your plan. Need more? Buy credits. Builds run on Mac Mini Silicon M4 machines with the native toolchains already installed. No storage fees - ever.',
native_build_faq4_q: 'How does pricing work?',
native_build_faq5_a: 'Average build time is 2-3 minutes depending on your project size and configuration. iOS and Android can build in parallel to save time.',
native_build_faq5_q: 'How long do builds take?',
Expand All @@ -1661,7 +1661,7 @@ const messages = {
native_build_feature_ci_cd: 'CI/CD Integration',
native_build_feature_ci_cd_desc: 'Works with GitHub Actions, GitLab CI, Jenkins, and any CI/CD pipeline.',
native_build_feature_cloud_builds: 'Cloud Builds',
native_build_feature_cloud_builds_desc: 'Build iOS and Android apps in the cloud. No local Xcode or Android Studio required.',
native_build_feature_cloud_builds_desc: 'Build iOS and Android apps on Mac Mini Silicon M4 infrastructure. No local Xcode or Android Studio required.',
native_build_feature_credentials: 'Bring Your Own Credentials',
native_build_feature_credentials_desc:
'Pass your certificates at build time - we never store them. Use your existing CI/CD secrets or local credentials. Maximum security compliance.',
Expand All @@ -1672,20 +1672,22 @@ const messages = {
native_build_features_subtitle: 'Build iOS and Android apps without local setup. Submit directly to stores.',
native_build_features_title: 'Cloud Native Builds',
native_build_get_started: 'Get Started',
native_build_hero_subtitle: "Your team can't afford expensive Mac hardware for every developer. Build iOS apps and publish to TestFlight from anywhere - no Mac required.",
native_build_hero_subtitle:
"Your team shouldn't need expensive Mac hardware for every developer. Build iOS apps and publish to TestFlight from anywhere - no local Mac required.",
native_build_hero_title: 'Stop Buying Mac Minis. Start Shipping.',
native_build_how_it_works_subtitle: 'From code push to App Store in minutes',
native_build_how_it_works_title: 'How It Works',
native_build_pricing_desc:
'Build minutes are included in your plan, or purchase extra via our credit system. iOS runs on Mac Mini M4, Android on Docker (2x cheaper). Average build time: 2-3 minutes.',
'Build minutes are included in your plan, or purchase extra via our credit system. Builds run on Mac Mini Silicon M4 machines with Xcode, Android Studio, and .NET workloads available. Average build time: 2-3 minutes.',
native_build_pricing_subtitle: 'No storage costs. No hidden fees. Just build minutes.',
native_build_pricing_title: 'Pay Only for Build Time',
native_build_security_feature1_desc:
'Your certificates and keystores exist only in runtime memory during the build. They are never written to disk or stored on our servers - purely runtime.',
native_build_security_feature1_title: 'Credentials Never Stored',
native_build_security_feature2_desc: 'We only upload the platform you request (iOS or Android) plus your built JS code. Nothing else. Your source code stays on your machine.',
native_build_security_feature2_title: 'Minimal Upload',
native_build_security_feature3_desc: 'iOS builds run on dedicated Mac Mini M4 machines. Android builds run in isolated Docker containers - making Android builds 2x cheaper.',
native_build_security_feature3_desc:
'Builds run on dedicated Mac Mini Silicon M4 machines with a 10-core CPU, 10-core GPU, 16-core Neural Engine, 16GB of RAM, and macOS Tahoe 26.2.',
native_build_security_feature3_title: 'Dedicated Build Infrastructure',
native_build_security_feature4_desc: 'Build logs only stream to your terminal in real-time. We never store your build logs on our servers.',
native_build_security_feature4_title: 'No Log Storage',
Expand Down Expand Up @@ -1747,7 +1749,7 @@ const messages = {
native_build_builder_faq_platforms_a: 'Capgo Builder supports iOS and Android builds for Capacitor apps, including store submission workflows and downloadable signed artifacts.',
native_build_builder_faq_platforms_q: 'What platforms are supported?',
native_build_builder_faq_pricing_a:
'Build minutes are included in paid Capgo plans, and extra minutes are available through prepaid credits. iOS uses Apple Silicon build capacity and Android uses containerized Linux builds.',
'Build minutes are included in paid Capgo plans, and extra minutes are available through prepaid credits. Builds run on Mac Mini Silicon M4 machines with native mobile toolchains already installed.',
native_build_builder_faq_pricing_q: 'How does pricing work?',
native_build_builder_faq_repo_a:
'No. The CLI uploads the build inputs from the machine or CI job where it runs. Private dependencies should already be installed before the build command starts.',
Expand All @@ -1762,7 +1764,7 @@ const messages = {
native_build_builder_feature_ci_title: 'Works in any CI',
native_build_builder_feature_logs_text: 'Stream every build step as it happens, so failures are visible where the command was started.',
native_build_builder_feature_logs_title: 'Live logs in your terminal',
native_build_builder_feature_no_setup_text: 'Build iOS on dedicated Apple Silicon and Android in isolated containers without installing Xcode or Android Studio everywhere.',
native_build_builder_feature_no_setup_text: 'Build on dedicated Mac Mini Silicon M4 machines without installing Xcode or Android Studio everywhere.',
native_build_builder_feature_no_setup_title: 'Native builds without the native setup',
native_build_builder_feature_signing_text: 'Certificates, provisioning profiles, and keystores are supplied at build time from local env vars or CI secrets.',
native_build_builder_feature_signing_title: 'Bring your own signing',
Expand All @@ -1773,6 +1775,23 @@ const messages = {
native_build_builder_features_title: 'No native build babysitting.',
native_build_builder_hero_subtitle:
'One command for signed iOS and Android builds, store submission, and live build logs without maintaining native toolchains on every machine.',
native_build_builder_infra_eyebrow: 'Build infrastructure',
native_build_builder_infra_spec_cpu_label: 'CPU',
native_build_builder_infra_spec_cpu_value: '10-core M4 CPU (4 performance cores, 6 efficiency cores)',
native_build_builder_infra_spec_gpu_label: 'GPU',
native_build_builder_infra_spec_gpu_value: '10-core GPU',
native_build_builder_infra_spec_memory_label: 'Memory',
native_build_builder_infra_spec_memory_value: '16GB of RAM',
native_build_builder_infra_spec_model_label: 'Machine',
native_build_builder_infra_spec_model_value: 'Mac Mini Silicon M4',
native_build_builder_infra_spec_neural_label: 'Neural Engine',
native_build_builder_infra_spec_neural_value: '16-core Neural Engine',
native_build_builder_infra_spec_os_label: 'OS image',
native_build_builder_infra_spec_os_value: 'macOS Tahoe 26.2',
native_build_builder_infra_text:
'Capgo Builder runs native build jobs on dedicated Apple Silicon machines with the mobile SDKs already installed, so teams get repeatable iOS and Android output from any local or CI trigger.',
native_build_builder_infra_title: 'Built on Mac Mini Silicon M4.',
native_build_builder_infra_toolchain: 'Toolchain support includes Xcode 26.2, Android Studio 2025, and .NET 9/.NET 10 SDK workloads for native build pipelines.',
native_build_builder_month_to_month: '{price}{suffix} month-to-month',
native_build_builder_monthly_active_users: 'monthly active users',
native_build_builder_no_credit_card_trial: 'No credit card required for the free trial.',
Expand Down Expand Up @@ -1814,7 +1833,7 @@ const messages = {
native_build_builder_stat_stores_value: 'Stores',
native_build_builder_storage: 'GiB storage',
native_build_builder_terminal_aria: 'Animated Capgo Builder terminal log',
native_build_builder_terminal_build: 'Building with Xcode on Apple Silicon',
native_build_builder_terminal_build: 'Building on Mac Mini Silicon M4',
native_build_builder_terminal_comment: '# Build and submit a signed iOS app',
native_build_builder_terminal_create: 'Creating build job',
native_build_builder_terminal_file: 'capgo-builder.log',
Expand Down Expand Up @@ -1860,7 +1879,7 @@ const messages = {
'If, for any reason, You are not completely satisfied with a purchase We invite You to review our policy on refunds and returns. This Return and Refund Policy has been created with the help of the',
now_available_on_mobile: 'Now available on mobile',
npm_run_lint_passes:
'<code>npm run lint</code> passes - this will check Rust and JavaScript code for common mistakes and errors using <code>Swiftlint</code> (for Swift) and <code>eslint</code> (for JavaScript and Java)',
'<code>bun run lint</code> passes - this will check Rust and JavaScript code for common mistakes and errors using <code>Swiftlint</code> (for Swift) and <code>eslint</code> (for JavaScript and Java)',
of_bandwidth: 'of Bandwidth',
of_storage: 'of Storage',
offensive_content: 'Offensive Content.',
Expand Down Expand Up @@ -3185,7 +3204,7 @@ const messages = {
solutions_schedule_demo: 'Schedule a Demo',
solutions_setup_minutes: '5-minute setup',
solutions_solo_after1: 'Push updates instantly, no review needed',
solutions_solo_after2: 'One command to deploy: npx @capgo/cli bundle upload',
solutions_solo_after2: 'One command to deploy: bunx @capgo/cli@latest bundle upload',
solutions_solo_after3: 'Start free, then $14/month as you grow',
solutions_solo_after4: 'One-click rollback if something goes wrong',
solutions_solo_after_title: 'With Capgo',
Expand Down
Loading
Loading