skills/ionic-app-creation/SKILL.md
Guides the agent through creating a new Ionic app using the Ionic CLI. Covers project scaffolding with ionic start, framework selection (Angular, React, Vue), template selection (blank, tabs, sidemenu), Capacitor integration, and optional Tailwind CSS setup. After app creation with Capacitor integration, delegates to the capacitor-app-creation skill for further Capacitor setup. Do not use for existing Ionic projects, migrating Ionic apps, upgrading Capacitor versions, or non-Ionic mobile frameworks.
npx skillsauth add capawesome-team/skills ionic-app-creationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a new Ionic app using the Ionic CLI — project scaffolding, framework integration (Angular, React, Vue), Capacitor integration, and Tailwind CSS setup.
npm install -g @ionic/cli). If not installed, install it as part of the procedure.ionic start, gather all configuration choices from the user. Present available options clearly and wait for confirmation.Check if the Ionic CLI is installed:
ionic --version
If the command fails or is not found, install it:
npm install -g @ionic/cli
If the user has the legacy ionic package installed, uninstall it first:
npm uninstall -g ionic
npm install -g @ionic/cli
Before creating the app, ask the user the following questions one at a time. Present the available options and defaults for each.
Ask the user for the project name. This determines the directory name and the project identifier.
my-appAsk the user which JavaScript framework to use:
| --type value | Framework |
| --------------------- | ---------------------------------- |
| angular | Angular (NgModules) |
| angular-standalone | Angular (Standalone Components) |
| react | React |
| vue | Vue |
Default: angular.
Ask the user which starter template to use:
| Template | Description |
| ---------- | ------------------------------------ |
| blank | An empty project with a single page |
| tabs | A tabs-based layout |
| sidemenu | A side menu-based layout |
The user can also run ionic start --list to see all available templates for the selected framework.
Default: blank.
Ask the user if Capacitor should be integrated:
--capacitor — Include Capacitor integration (recommended for native mobile apps).Default: Yes (include --capacitor).
If Capacitor integration was selected, ask the user for the bundle identifier in reverse-DNS notation:
--package-id=<id> — e.g., com.example.myappThis sets the app's bundle ID for both iOS and Android.
Inform the user about these additional flags and ask if any should be applied:
| Flag | Description |
| ------------------ | ------------------------------------------------------------ |
| --no-deps | Skip installing npm dependencies after project creation |
| --no-git | Do not initialize a Git repository |
| --project-id=<slug> | Custom slug for directory name and package name |
Default: None of these flags are applied.
Assemble the ionic start command from the collected configuration and run it:
ionic start <name> <template> --type=<framework> --capacitor --package-id=<package-id>
Example:
ionic start my-app blank --type=angular-standalone --capacitor --package-id=com.example.myapp
Wait for the command to complete. The Ionic CLI installs dependencies and scaffolds the project.
Change into the project directory and verify the project was created correctly:
cd <name>
ionic serve
If ionic serve starts the development server without errors, the project was created successfully. Stop the server after verification.
Ask the user if they want to add Tailwind CSS to the project.
If yes, read references/tailwind-css-setup.md and apply the Tailwind CSS configuration for the user's chosen framework.
If Capacitor integration was selected in Step 2.4, inform the user that the basic Ionic app with Capacitor has been created. The ionic start --capacitor command already installs @capacitor/core, @capacitor/cli, and creates capacitor.config.ts. Switch to the capacitor-app-creation skill and continue from Step 5 (Build the Web App) onward to add native platforms, sync, run the app, and configure optional integrations (live updates, CI/CD).
If Capacitor was not selected, the skill is complete.
ionic: command not found: The Ionic CLI is not installed globally. Run npm install -g @ionic/cli.sudo npm install -g @ionic/cli.ionic start fails with network error: Check internet connectivity. The CLI downloads starter templates from GitHub.ionic start fails with "directory already exists": A directory with the chosen project name already exists. Either choose a different name or delete the existing directory.ionic serve fails with port conflict: Another process is using port 8100. Stop the conflicting process or run ionic serve --port=<other-port>.npm install manually in the project directory. If it still fails, check for Node.js version incompatibilities.ionic start --list to view all available templates for the selected framework. The user may have misspelled the template name.capacitor-app-creation — Continue Capacitor setup after Ionic app creation (adding platforms, live updates, CI/CD).ionic-app-development — General Ionic development guidance.ionic-angular — Angular-specific Ionic patterns.ionic-react — React-specific Ionic patterns.ionic-vue — Vue-specific Ionic patterns.capawesome-cloud — Set up live updates, native builds, and app store publishing with Capawesome Cloud.tools
Guides the agent through migrating Capacitor apps from discontinued Ionic Enterprise SDK plugins (Auth Connect, Identity Vault, Secure Storage) to their Capawesome alternatives (OAuth, Vault, Biometrics, Secure Preferences, SQLite). Covers dependency detection, side-by-side API mapping, code replacement, and platform-specific configuration for each plugin pair. Do not use for migrating Capacitor apps or plugins to a newer version, setting up Capawesome Cloud, or non-Capacitor mobile frameworks.
tools
Guides the agent through installing, configuring, and using Capacitor plugins from six sources — official Capacitor plugins, Capawesome plugins, Capacitor Community plugins, Capacitor Firebase plugins, Capacitor MLKit plugins, and RevenueCat plugins. Covers installation, platform-specific configuration (Android and iOS), and basic usage examples. Do not use for migrating Capacitor apps or plugins to a newer version, setting up Capacitor Live Updates, or non-Capacitor mobile frameworks.
tools
Guides the agent through Ionic Vue development patterns — project structure, Vue-specific Ionic components (IonPage, IonRouterOutlet, IonTabs), navigation with Vue Router and useIonRouter, Ionic lifecycle hooks (onIonViewWillEnter, onIonViewDidEnter, onIonViewWillLeave, onIonViewDidLeave), composable utilities (useIonRouter, useBackButton, useKeyboard), tab-based routing, lazy loading, platform detection with isPlatform, and troubleshooting common Vue-specific issues. Do not use for general Ionic component theming or CLI usage (use ionic-app-development), creating a new Ionic app (use ionic-app-creation), Capacitor-specific Vue patterns without Ionic (use capacitor-vue), upgrading Ionic versions (use ionic-app-upgrades), or non-Vue frameworks like Angular or React.
development
Guides the agent through Ionic Framework development with React — project structure, React-specific Ionic components, IonReactRouter and navigation patterns, Ionic lifecycle hooks (useIonViewWillEnter, useIonViewDidEnter, useIonViewWillLeave, useIonViewDidLeave), state management integration, and React-specific best practices for Ionic apps. Do not use for plain Capacitor React apps without Ionic (use capacitor-react), Ionic with Angular or Vue, creating a new Ionic app (use ionic-app-creation), upgrading Ionic to a newer version (use ionic-app-upgrades), or general Ionic component usage without React-specific context (use ionic-app-development).