1---2name: quasar-app-extension-development3description: Create, debug, test, migrate, document, and publish Quasar App Extensions. Use for extension scaffolding, `src/index` lifecycle hooks, Install API, Prompts API, templates, boot files, commands, mode integration, package metadata, compatibility declarations, uninstall behavior, and `quasar ext add`, `invoke`, and `remove` workflows.4---56# Quasar App Extension Development78## Inspect the extension9101. Read repository instructions, `package.json`, extension README, `src/index.*`, `src/install.*`, and `src/prompts.*` when present.112. Determine supported Quasar CLI generations and module format before changing APIs.123. Inspect templates, test applications, CI, release scripts, and the extension's package name and `quasarAppExtension` metadata.134. Use the current [App Extension development guide](https://quasar.dev/app-extensions/development-guide/introduction) as the contract.1415## Implement lifecycle behavior1617- Keep `install`, `prompts`, `index`, and `uninstall` responsibilities separate.18- Make install/invoke operations idempotent and uninstall operations conservative.19- Use the API's resolve helpers rather than constructing host paths manually.20- Extend host configuration through supported hooks; preserve the host app's existing configuration.21- Use `api.compatibleWith()` for real compatibility constraints and keep declared peer dependencies aligned.22- Limit mode-specific behavior with `api.ctx.mode` and load the corresponding Quasar mode skill.23- Never silently overwrite user-owned host files. Use templates and API helpers, and document unavoidable conflicts.24- Avoid deprecated `chainWebpack` assumptions in Vite extensions; use the current configuration hooks exposed by the installed CLI.2526## Package and document2728- Keep runtime dependencies, development dependencies, and peer dependencies in their correct scopes.29- Include only files needed by consumers in the published package.30- Document install, configuration, injected files, commands, supported modes, compatibility, and removal effects.31- Treat the generated host `.quasar/` directory as output.3233## Validate the full lifecycle34351. Pack the extension and install the tarball into a temporary Quasar test app.362. Run `quasar ext add <name>` and answer prompts through each meaningful branch.373. Run development and production builds for every supported mode.384. Run `quasar ext invoke <name>` again to verify idempotency and upgrades.395. Run `quasar ext remove <name>` and confirm user-owned files and configuration remain valid.406. Run lint, tests, typecheck, package-content inspection, and a clean-install test before release.