Loading...
Loading...
Guides the agent through Angular-specific patterns for Ionic app development. Covers project structure, standalone vs NgModule architecture detection, Angular Router integration with Ionic navigation (tabs, side menu, modals), lazy loading, Ionic page lifecycle hooks, reactive forms with Ionic input components, Angular services for state management, route guards, performance optimization, and testing. Do not use for creating a new Ionic app from scratch, upgrading Ionic versions, general Ionic component usage unrelated to Angular, Capacitor plugin integration, or non-Angular frameworks (React, Vue).
npx skill4agent add capawesome-team/skills ionic-angular@ionic/angularnpm install -g @ionic/clisrc/main.tsbootstrapApplicationplatformBrowserDynamic().bootstrapModule@ionic/angular/standaloneIonicModule@ionic/angularpackage.json@angular/corepackage.jsonsrc/main.tsbootstrapApplicationplatformBrowserDynamic().bootstrapModulesrc/app/app.module.tsIonicModule@capacitor/corepackage.jsonandroid/ios/src/app/app.routes.tssrc/app/app-routing.module.tssrc/app/tabs/ion-menureferences/project-structure.mdapp.config.tsapp.routes.tsapp.module.tsapp-routing.module.ts*.module.tsionic.config.jsonsrc/theme/variables.scsssrc/global.scssreferences/standalone-vs-ngmodules.md| Aspect | Standalone | NgModule |
|---|---|---|
| Bootstrap | | |
| Ionic setup | | |
| Component imports | Import each Ionic component per file | |
| Import source | | |
| Lazy loading | | |
| Icon registration | | Automatic |
| Tree-shaking | Yes | No |
references/navigation.md<ion-app><ion-router-outlet>routerLinkrouterDirectionNavControllernavigateForwardnavigateBacknavigateRootbackActivatedRoute<ion-tabs><ion-menu><ion-menu-toggle>CanActivateFnModalControllerreferences/lifecycle.mdngOnInitionViewWillEnterionViewDidEnterionViewWillLeavengOnDestroyViewWillEnterViewDidEnterViewWillLeaveViewDidLeave@ionic/angularreferences/forms.mdFormBuilderFormGroupValidators[(ngModel)]FormsModuleion-inpution-textareaion-selection-checkboxion-toggleion-radio-groupion-rangeion-datetimeerrorText<ion-note>labelPlacementfloatingstackedfixedreferences/services-and-state.md@Injectable({ providedIn: 'root' })HttpClientBehaviorSubjectsignal()computed()LoadingControllerToastControllerenvironment.tsenvironment.prod.tsreferences/performance.mdloadComponentloadChildren*ngFor@forcdk-virtual-scroll-viewportPreloadAllModulesion-skeleton-textreferences/testing.mdTestBedHttpTestingControllerjasmine.createSpyObjNavControllerTestBed.runInInjectionContextNullInjectorError: No provider for IonRouterOutletprovideIonicAngular({})app.config.tsIonicModule.forRoot()app.module.ts@ionic/angular/standaloneimportsIonicModuleaddIcons()ionicons/iconsIonIcon@ionic/angular/standaloneionViewWillEnter<ion-router-outlet>ionViewWillEnterngOnInitngOnIniterrorText<ion-input>control.invalid && control.touched<ion-note>routerLinkRouterLink@angular/routerimportsNavController@ionic/angularRouterrouterDirectionrouterLinktab<ion-tab-button>pathcapacitor-angularionic-app-developmentionic-app-creationionic-app-upgrades