# Capell Inertia Vue Adapter

## Package docs status

This page is generated from public package documentation in `capell-4/packages` and the package manifest checked into the source repository.

| Field | Value |
| --- | --- |
| Composer package | `capell-app/inertia-vue-adapter` |
| Package slug | `inertia-vue-adapter` |
| Product group | Capell Frontend |
| Tier | core |
| Bundle | `frontend` |
| Runtime contexts | `frontend` |
| Capell version | `^4.0` |
| Source repository | `capell-app/packages` |
| Source path | `packages/inertia-vue-adapter` |
| Docs source | `packages/inertia-vue-adapter/docs` |
| Manifest | [`capell.json`](https://github.com/capell-app/packages/edit/4.x/packages/inertia-vue-adapter/capell.json) |

The Vue adapter registers Vue 3 dependencies and the Capell Inertia Vue application entrypoint for Inertia-powered Capell pages and package routes.

## At A Glance

- Package: `capell-app/inertia-vue-adapter`
- Namespace: `Capell\InertiaVueAdapter\`
- Surfaces: public frontend
- Service provider: `Capell\InertiaVueAdapter\Providers\InertiaVueAdapterServiceProvider`
- Capell dependencies: `capell-app/core`, `capell-app/inertia`
- Framework dependencies: `@inertiajs/vue3`, `@vitejs/plugin-vue`, `vue`

## Why It Helps Your Capell Workflow

For teams, the adapter is the installable switch that lets a Capell Inertia theme use Vue components.

For developers, it registers the `vue` adapter key, NPM dependencies, build asset entrypoint, and component names through Capell's vendor asset system instead of requiring each app to hand-wire Vue bootstrapping.

## What It Adds

- Vue adapter metadata in `InertiaAdapterRegistry`.
- NPM dependency declarations for Vue and the Inertia Vue adapter.
- Build asset `vendor/capell/inertia-vue` with entrypoint `resources/js/app.js`.
- Default component map for `Capell/Page` and `Capell/Bookings/Request`.
- A vendor asset condition that defers to the bookings-specific Vue component pack when that package is installed.

## Boundaries

- This package owns generic Vue bootstrapping only.
- Feature-specific Vue components can live in theme/component packages such as `capell-app/theme-inertia-bookings-vue`.
- It owns no migrations, settings, routes, admin resources, or public Blade views.

## Docs

- [docs index](README.md)
- [overview.md](overview.md)
- [Capell Inertia](../inertia/README.md)
- [Theme Inertia Bookings Vue](../theme-inertia-bookings-vue/README.md)

## Testing

```bash
vendor/bin/pest packages/inertia-vue-adapter/tests --configuration=phpunit.xml
```