# @sky.ui.ultra/core

Ultra-tier Lit web components for Sky UI. Extends the free and pro catalogs with advanced data, visualization, and workflow components.

Requires an active Sky UI Ultra subscription. Install alongside `@sky.ui/core` when your app uses both tiers.

## Install

```bash
npx sky.ui.ultra login
npx sky.ui.ultra install
```

Or install manually, then hydrate:

```bash
npm install "@sky.ui.ultra/core"
npx sky.ui.ultra install --framework=core
```

> Quote scoped names (`"@sky.ui/…"`) — required in PowerShell. See [powershell-scoped-packages.md](https://gitlab.com/sky_ui/sky-ui/-/blob/main/docs/powershell-scoped-packages.md).

For CI/CD:

```bash
SKY_UI_AUTH_TOKEN=sk_ci_… npx sky.ui.ultra install --yes --framework=core
```

Manage tokens on your [Sky UI account](https://sky-ui.com/account). No `.npmrc` file is required.

| Token | Use |
|-------|-----|
| Personal (`sk_pt_…`) | Local development and MCP |
| CI/CD (`sk_ci_…`) | Pipelines (`SKY_UI_AUTH_TOKEN`) |

Peer dependencies include `@sky.ui/core` and `@sky.ui.pro/core`, plus the same runtime peers as free Core after hydration (`lit`, `@lit-labs/motion`, `@lit-labs/virtualizer`, `@lit/context`, `d3`, `three`). Runtime peers are required so Vite does not stub them as empty modules.

## Quick start

```js
import { SkyTable, SkyFlow } from '@sky.ui.ultra/core';
```

```html
<sky-table></sky-table>
```

Import only the Ultra components you use for tree-shaken production bundles.

Per-component paths are also supported:

```js
import '@sky.ui.ultra/core/sky-table';
```

## Auto-import resolvers

`SkyUIUltraMainVitePlugin` alone stacks **free + Pro + Ultra** Main resolvers and per-file kebab `<sky-*>` CE auto-import. You do not need a separate Free/Pro core plugin.

## Bundler plugins (Vite, Webpack, Rollup)

Ultra packages mirror the free-tier plugin surface. Bundler plugins auto-import components and **validate your access token at build/dev time** (no runtime checks in shipped apps).

**Vite** (`@sky.ui.ultra/core/vite`):

```js
import { SkyUIUltraMainVitePlugin } from '@sky.ui.ultra/core/vite';

export default {
  plugins: [
    ...SkyUIUltraMainVitePlugin({
      mode: 'vue', // or 'auto-import' for entry HTML/JS scan (+ CE per-file)
    }),
  ],
};
```

**Webpack** (`@sky.ui.ultra/core/webpack`): `SkyUIUltraMainWebpackPlugin()`

**Rollup** (`@sky.ui.ultra/core/rollup`): `SkyUIUltraMainRollupPlugin({ mode: 'auto-import' })`

Vue / React Ultra wrappers expose the same three bundlers at `@sky.ui.ultra/vue/vite|webpack|rollup` and `@sky.ui.ultra/react/vite|webpack|rollup`.

For resolver-only setup, use `@sky.ui.ultra/core/auto-import` with `unplugin-vue-components`, alongside [`@sky.ui/core`](https://www.npmjs.com/package/@sky.ui/core) bundler plugins for free components.

## Framework wrappers

| Package | Description |
|---------|-------------|
| [`@sky.ui.ultra/vue`](https://www.npmjs.com/package/@sky.ui.ultra/vue) | Vue 3 SFC wrappers |
| [`@sky.ui.ultra/react`](https://www.npmjs.com/package/@sky.ui.ultra/react) | React wrappers |

Free-tier equivalents: [`@sky.ui/vue`](https://www.npmjs.com/package/@sky.ui/vue), [`@sky.ui/react`](https://www.npmjs.com/package/@sky.ui/react).

## Custom Elements Manifest

Component metadata is published at `@sky.ui.ultra/core/custom-elements.json`.

## Updates window

Annual plans include one year of updates. You keep using versions released during your active window even after it ends; renew to receive newer releases.

## License

[Sky UI Ultra Commercial License](https://unpkg.com/@sky.ui.ultra/core/LICENSE.md) — requires an active Sky UI Ultra subscription.

Documentation: [sky-ui.com](https://sky-ui.com)
