Skip to content

docs: iOS Capgo Build guide#438

Merged
riderx merged 12 commits intomainfrom
docs/ios-capgo-build-guide
Jan 21, 2026
Merged

docs: iOS Capgo Build guide#438
riderx merged 12 commits intomainfrom
docs/ios-capgo-build-guide

Conversation

@WcaleNieWolny
Copy link
Contributor

@WcaleNieWolny WcaleNieWolny commented Jan 19, 2026

Motivation

Martin asked me to improve Capgo Native build - this included the documentation, so I am making this PR.
I have already improved the Native Build by adding Capacitor 8 support to it, testing it, fixing bugs. Adding the docs is the next logical step

Business impact

Low/medium - without good documentation no one will understand Capgo Native build, and therefor no one will use it, making it useless to growing Capgo. By adding GREAT ✨ docs, we make it easy to understand (or "easier" than it would be without them). This should make it, so people use Capgo Native build, which will have a positive impact on Capgo

Summary by CodeRabbit

  • Documentation
    • Updated iOS cloud build documentation with a more detailed, local-first workflow including step-by-step guidance for manual builds, certificates, and provisioning profiles.
    • Reorganized and consolidated documentation structure for cloud services and native builds setup.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 19, 2026

📝 Walkthrough

Walkthrough

The PR removes the cloud-centric native builds documentation structure and rewrites the iOS CLI documentation, shifting from a cloud-first to a local-first, credential-driven approach with expanded step-by-step guidance and Capgo CLI integration.

Changes

Cohort / File(s) Change Summary
iOS CLI Documentation Rewrite
src/content/docs/docs/cli/cloud-build/ios.mdx
Comprehensive restructuring: renamed "Before You Build" to "What you will learn," expanded prerequisites (Capgo account, Mac/Xcode, Apple Developer access), introduced manual TestFlight build workflow, added extensive certificate and provisioning profile setup steps, extended App Store Connect guidance (TestFlight, export compliance, API keys), mapped CLI parameters for iOS builds with example command, removed CI/CD (GitHub Actions) content. Total: +399/-273 lines.
Cloud Documentation Structure Removal
src/content/docs/docs/cloud/index.mdx
src/content/docs/docs/cloud/native-builds/index.mdx
src/content/docs/docs/cloud/native-builds/certificates/index.mdx
src/content/docs/docs/cloud/native-builds/certificates/ios.mdx
src/content/docs/docs/cloud/native-builds/certificates/android.mdx
Deleted five documentation pages: Cloud Services overview, Native Builds landing, Certificates Setup index, and platform-specific certificate setup guides (iOS: 358 lines, Android: 416 lines). Eliminates entire cloud-centric documentation hierarchy and credential management guides.

Poem

🐰 Cloud docs hop away to history's glen,
While local builds now lead the fen,
iOS paths with CLI magic shine bright,
Credentials held close, the documentation's right,
Step-by-step guidance, no more mystery's blight!

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: iOS Capgo Build guide' is partially related to the changeset. It focuses on iOS documentation updates, which is accurate, but the PR involves substantial structural reorganization including removal of multiple documentation files and redirection of the documentation framework, not just adding a build guide.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

…rtificate setup

- Introduced several new .webp images for Xcode deployment processes, including settings, certificates, and account management.
- Updated the iOS build documentation to include detailed steps for setting up the deployment certificate and managing Apple accounts.
- Introduced multiple new image assets for Apple Developer and App Store Connect processes, including team ID, key management, and certificate setup.
- Expanded the iOS build documentation with detailed steps for configuring Capgo Native Build, including parameters for Apple credentials and certificate management.
…mentation

- Introduced multiple new .webp image assets related to Apple Developer profiles, certificate management, and Keychain Access processes.
- Enhanced the iOS build documentation with detailed steps for exporting certificates and provisioning profiles, ensuring clarity for users configuring Capgo Native Build.
- Introduced a new GIF asset demonstrating the credentials save process for iOS builds.
- Expanded the iOS documentation with detailed instructions on configuring Capgo Native Build credentials, including command usage and expected output.
@WcaleNieWolny WcaleNieWolny marked this pull request as ready for review January 21, 2026 04:58
- Corrected the spelling of "section" in the instructions for finding the TestFlight section in App Store Connect.
The video element had a broken aria-label attribute split across multiple
lines with a blank line in the middle, causing Astro's Steps component
to fail parsing due to detecting multiple child elements (<ol>, <p>).

Generated with AI
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In `@src/content/docs/docs/cli/cloud-build/ios.mdx`:
- Around line 124-129: Update the product-name capitalization and typos
throughout the iOS build guide by replacing instances of "Appstore Connect" with
"App Store Connect", "Congratulations" capitalized correctly where applicable,
"TestFlight" for the testing product, "If your app" phrasing, "Google"
capitalized, and change the sentence to "Reload the page if it doesn’t work for
you" and the phrase "this is the last thing…" to proper
punctuation/capitalization; search for and fix these exact strings (e.g.,
"Appstore Connect", "Congratulations", "TestFlight", "If your app", "Google",
"Reload the page if it doesn’t work for you", "this is the last thing…") across
the document (notably the blocks around the mentioned ranges) to ensure
consistent capitalization and correct typos.
- Around line 19-42: Update the copy in the prerequisites list and intro to fix
spelling and capitalization: change "setup" to "set up" (both where you say
"Before we can start thinking about building" and "Before we can begin, you must
have the deployment certificate installed on your local machine"), change
"linux/windows" to "Linux/Windows", replace "it's yet documented" with "not yet
documented", correct "Applle" to "Apple", capitalize "App Store", and change
"bellow" to "below"; apply these edits in the shown paragraphs and the bullet
list so the text reads cleanly and consistently.
- Around line 347-356: The aria-label string on the <video> element is broken
across multiple lines causing MDX/JSX parse errors; fix by collapsing the entire
aria-label value into one continuous string placed on the same line as the
attribute (i.e., update the <video ... aria-label="Demonstration of opening
Keychain Access on macOS" ...> attribute) so the attribute value is not split
across lines and the JSX parses correctly.
- Around line 459-468: The shell command block uses line-continuation
backslashes that are followed by inline comments, which breaks the continuation;
update the npx `@capgo/cli` build credentials save multi-line command so every
backslash is the last character on its line by removing the inline comments
after flags like --apple-team-id, --apple-key, --apple-key-id,
--apple-issuer-id, --certificate, --provisioning-profile, and
--apple-profile-name, or move those explanatory comments to separate lines above
or below the command so the command lines contain only the flag and its value.

…ceholder guidance

- Reformatted the command for saving credentials to improve readability.
- Added a note section to guide users on replacing placeholder values with their actual credentials for the iOS build process.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@src/content/docs/docs/cli/cloud-build/ios.mdx`:
- Around line 46-66: Update the wording/capitalization in the iOS steps to match
Xcode's UI: change "XCode" to "Xcode", update "Settings" to the exact menu label
used in Xcode (e.g., "Settings…" including the ellipsis if present), change
"Apple Accounts" to "Accounts", make "Manage Certificates" match the UI (e.g.,
"Manage Certificates…" if Xcode shows an ellipsis), and ensure references like
"deployment certificate" use the same capitalization/term Xcode displays (e.g.,
"Deployment Certificate" if that’s the label); adjust the text around the steps
that reference these labels (the lines containing "XCode", "Settings", "Apple
Accounts", "Manage Certificates", and "deployment certificate") accordingly.
♻️ Duplicate comments (2)
src/content/docs/docs/cli/cloud-build/ios.mdx (2)

19-42: Fix remaining prerequisites/introduction typos and capitalization.

These are the same copy issues previously flagged (set up / Linux/Windows / not yet documented / Apple / App Store / below).

🛠️ Proposed fix
- - A Mac computer with Xcode installed (it's possible to setup the build on a linux/windows machine, but it's yet documented)
- - Valid Apple Developer account ($99/year) (You must have admin or owner rights on the Applle Developer account)
+ - A Mac computer with Xcode installed (it's possible to set up the build on a Linux/Windows machine, but it's not yet documented)
+ - Valid Apple Developer account ($99/year) (You must have admin or owner rights on the Apple Developer account)
@@
-- You will create the appstore record if you haven't done it yet
+- You will create the App Store record if you haven't done it yet
@@
-This is quite a bit complex, but I will explain it bellow.
+This is quite a bit complex, but I will explain it below.

75-165: Standardize TestFlight/App Store Connect names and fix typos.

These are the same capitalization/typos noted earlier (TestFlight/App Store Connect, “Congratulations”, “If your app…”, “Google”, “if it doesn’t work”, “this is the last thing…”).

🛠️ Proposed fix
-### Manual build to Testflight
+### Manual build to TestFlight
@@
-  1. Go to the [Appstore Connect](https://appstoreconnect.apple.com/) page
+  1. Go to the [App Store Connect](https://appstoreconnect.apple.com/) page
@@
-Congratilations 🎉
-You have added yourself to testflight. Now, there is just one more thing 
+Congratulations 🎉
+You have added yourself to TestFlight. Now, there is just one more thing 
@@
-If you app does use any non-standard encryption, I suggest reading the [Apple documentation]...
+If your app does use any non-standard encryption, I suggest reading the [Apple documentation]...
@@
-I will skip the details of how to install the TestFlight app on your device. If you are not sure how to install an app, google has some great guides on how to do it.
+I will skip the details of how to install the TestFlight app on your device. If you are not sure how to install an app, Google has some great guides on how to do it.
@@
-For me the link sometimes doesn't work. Reload the page it doesn't work for you.
+For me the link sometimes doesn't work. Reload the page if it doesn't work for you.
@@
-Now, you are ready to export the provisioning profile. I promise, this this the last thing you will need to get from Apple.
+Now, you are ready to export the provisioning profile. I promise, this is the last thing you will need to get from Apple.

Also applies to: 212-216, 288-292, 389-392

@sonarqubecloud
Copy link

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@src/content/docs/docs/cli/cloud-build/ios.mdx`:
- Around line 374-377: Update the guidance in the iOS export instructions so the
primary recommendation is to set a password on the `.p12` file and only
optionally allow skipping it; change the wording that currently says "Skip the
password (recommended for simplicity)" to recommend setting a password, and move
"skip the password" to an explicit exception or second bullet. Keep the note
about supporting password-protected `.p12` files and the `--p12-password` option
(references: the `.p12` wording and `--p12-password`) and ensure the sentence
ordering and tone reflect that password-protected exports are the recommended
secure default.
- Around line 413-422: The "Step 7" heading line "Select the correct
distribution certificate" is not indented consistently and likely breaks the
<Steps> list rendering; fix by indenting that line (and its following paragraph
and images) to match the other step blocks so it remains inside the <Steps>
list—locate the block containing the literal "Select the correct distribution
certificate" and align its leading whitespace with the surrounding step entries
in the <Steps> component.
♻️ Duplicate comments (1)
src/content/docs/docs/cli/cloud-build/ios.mdx (1)

19-38: Minor copy edits still needed (“set up”, “Linux/Windows”).

These exact fixes were previously flagged but are still present here (Line 21, Line 37). Please align grammar/capitalization.

✏️ Proposed fix
- - A Mac computer with Xcode installed (it's possible to setup the build on a linux/windows machine, but it's not yet documented)
+ - A Mac computer with Xcode installed (it's possible to set up the build on a Linux/Windows machine, but it's not yet documented)
@@
-- You will setup the distribution certificate on your local machine
+- You will set up the distribution certificate on your local machine

Comment on lines +374 to +377
6. When asked for the password, you can either:
- Skip the password (recommended for simplicity): Click `OK` without entering a password
- Set a password: If you prefer to protect your certificate with a password, you can set one here. Password-protected `.p12` files are fully supported by the Capgo CLI - just provide the password using the `--p12-password` option when running configuration command.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Avoid recommending unprotected .p12 exports.

Line 375 currently recommends skipping the password. That’s a security posture regression (especially when files are stored or transferred). Please flip the recommendation to encourage a password and keep “skip” as an explicit exception.

🔐 Proposed fix
-      - Skip the password (recommended for simplicity): Click `OK` without entering a password
-      - Set a password: If you prefer to protect your certificate with a password, you can set one here. Password-protected `.p12` files are fully supported by the Capgo CLI - just provide the password using the `--p12-password` option when running configuration command.
+      - Set a password (recommended): This protects the `.p12` if it’s stored or transferred. Password-protected `.p12` files are fully supported by the Capgo CLI—use `--p12-password` when configuring.
+      - Skip the password (only if you can store the file securely): Click `OK` without entering a password.
🤖 Prompt for AI Agents
In `@src/content/docs/docs/cli/cloud-build/ios.mdx` around lines 374 - 377, Update
the guidance in the iOS export instructions so the primary recommendation is to
set a password on the `.p12` file and only optionally allow skipping it; change
the wording that currently says "Skip the password (recommended for simplicity)"
to recommend setting a password, and move "skip the password" to an explicit
exception or second bullet. Keep the note about supporting password-protected
`.p12` files and the `--p12-password` option (references: the `.p12` wording and
`--p12-password`) and ensure the sentence ordering and tone reflect that
password-protected exports are the recommended secure default.

Comment on lines +413 to +422
![Apple Developer select app](/native-build-assets/apple-developer-select-app.webp)
7. Select the correct distribution certificate

**"Provisioning profile doesn't include signing certificate"**
- Regenerate your provisioning profile including the certificate
- Re-download and re-encode the profile
Select the certificate you exported in the previous step and click on the `Continue` button

**"App Store Connect authentication failed"**
- Verify APPLE_KEY_ID, APPLE_ISSUER_ID, and APPLE_KEY_CONTENT
- Ensure the API key has not been revoked
- Check that the key has "Developer" role or higher
![Apple Developer select distribution certificate](/native-build-assets/apple-developer-select-deployment-certificate.webp)

**"Build timeout after 10 minutes"**
- Check if your app has large native dependencies
- Consider optimizing your Podfile
- Contact support if builds consistently timeout
If you are unsure which certificate to select, come back to Keychain Access and find the certificate you exported. Then look at the expiration date.
![Apple Developer select distribution certificate expiration date](/native-build-assets/apple-developer-select-deployment-certificate-expiration-date.webp)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Step 7 indentation likely breaks <Steps> rendering.

Line 414 is not indented like the other steps, so it may render outside the list. Align indentation for consistent formatting.

🧹 Proposed fix
-7. Select the correct distribution certificate
-
-       Select the certificate you exported in the previous step and click on the `Continue` button
-
-       ![Apple Developer select distribution certificate](/native-build-assets/apple-developer-select-deployment-certificate.webp)
-
-       If you are unsure which certificate to select, come back to Keychain Access and find the certificate you exported. Then look at the expiration date.
-       
-       ![Apple Developer select distribution certificate expiration date](/native-build-assets/apple-developer-select-deployment-certificate-expiration-date.webp)
+  7. Select the correct distribution certificate
+
+      Select the certificate you exported in the previous step and click on the `Continue` button
+
+      ![Apple Developer select distribution certificate](/native-build-assets/apple-developer-select-deployment-certificate.webp)
+
+      If you are unsure which certificate to select, come back to Keychain Access and find the certificate you exported. Then look at the expiration date.
+      
+      ![Apple Developer select distribution certificate expiration date](/native-build-assets/apple-developer-select-deployment-certificate-expiration-date.webp)
🤖 Prompt for AI Agents
In `@src/content/docs/docs/cli/cloud-build/ios.mdx` around lines 413 - 422, The
"Step 7" heading line "Select the correct distribution certificate" is not
indented consistently and likely breaks the <Steps> list rendering; fix by
indenting that line (and its following paragraph and images) to match the other
step blocks so it remains inside the <Steps> list—locate the block containing
the literal "Select the correct distribution certificate" and align its leading
whitespace with the surrounding step entries in the <Steps> component.

@riderx riderx merged commit 021f623 into main Jan 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants