capacitor trained
Read this before the guide selected by the router. The guides provide depth; this page resolves their conflicts with the live project and operator instructions.
mental model
web build -> cap sync -> native build/run -> observed app is the Capacitor workflow. Locate the owner of the request: web UI, Capacitor bridge/plugin, iOS or Android project, or release service. A web build or sync proves only its own step; native behavior needs simulator or device evidence.
examples
From an app root, inspect its package manager and Capacitor package versions before choosing an upgrade guide or command:
node -e 'const p=require("./package.json"); const deps={...p.dependencies,...p.devDependencies}; console.log(JSON.stringify({packageManager:p.packageManager,capacitor:Object.fromEntries(Object.entries(deps).filter(([name])=>name.startsWith("@capacitor/")).sort())},null,2))'
best practices
- Use the project's package manager and installed major versions. Guide
npm installexamples do not authorize changing a pnpm or yarn project. - Route to the narrowest guide: existing web app -> webapp-to-capacitor; existing Capacitor app -> app development; plugin -> plugin development; upgrade -> exact app/plugin version pair; iOS 8.4 to 8.5 scene work -> UIScene migrator.
- Verify mutable CLI, toolchain, store, and cloud-service claims in current primary docs. The 8.5 guide owns its scene migration details.
- Use an MCP integration only when the operator asks for it and that capability is available. General Capacitor work must not prompt installation of a Claude-specific server.
- The operator request and live project
AGENTS.mddetermine authority. A guide's confirmation, no-commit, or developer-handoff rule does not narrow already granted scope.
strengths
- Capacitor keeps a web UI while exposing native platform features through plugins and native projects; choose it when that shared web foundation is desired. Capacitor introduction.
- iOS, Android, and web are official targets, so one product can preserve common web behavior while adding native integrations. Environment setup.
weaknesses / pain points
- Native targets still need platform tooling and verification: Xcode on macOS for iOS, Android Studio and an SDK for Android. Environment setup.
- A shared web route may render differently inside a WebView; build and sync output alone cannot establish the device result.
gotchas
- The upgrade guides contain literal
!node -e ...package snapshots. Reading their Markdown does not execute those commands; inspectpackage.jsondirectly. - Updating the 8.5 iOS dependency alone retains the AppDelegate path. Xcode 27 builds require the UIScene project migration; audit custom delegate logic before applying it.
known bugs
No independently reproduced version-specific Capacitor bug. The 8.5 migrator's template-shape limit is documented behavior, not a reproduced defect. Record an issue link and tested workaround here only after reproducing a real bug.
practiced cases
- A read-only project probe found
pnpm@11.15.1,@capacitor/core, CLI, and iOS at 8.5.1;ios/exists andandroid/does not.SceneDelegate.swift, the Info.plist scene manifest, and the AppDelegate scene configuration were all present. Those file signals identify the already-migrated audit route; no native build, launch, or link behavior was tested. - npm serves
@capacitor/core8.5.2; the stable docs show v8 and the 8.5 guide describes the Xcode 27 UIScene migration. These version observations expire as releases change.
Read the capacitor guide.