# @smarthome.exchange/integrations

TypeScript-native device integrations for smarthome.exchange.

This package owns discovery, configuration flows, vendor clients, mappers, events, and normalized service calls for device ecosystems such as Hue and Wolf Smartset.

The package also includes generated native TypeScript port skeletons for every upstream Home Assistant component domain under `ts/integrations/<domain>`. These are not Python wrappers and not a compatibility namespace. They are TypeScript classes that start as `descriptor-only` integrations and are replaced by handwritten clients/mappers/runtime code as each port matures.

It does not own the canonical device registry, approvals, audit receipts, automations, or persistent home state. Those stay in `@smarthome.exchange/hub`.

Publishing is restricted to `https://packages.foss.global/` through `publishConfig`.

## CLI

```bash
pnpm cli list
pnpm cli inspect hue
pnpm cli discover
```

## Regenerating Home Assistant Port Skeletons

```bash
pnpm generate:ha
```

The generator reads `HA_CORE_COMPONENTS_DIR` or `/tmp/opencode/homeassistant-core/homeassistant/components`, preserves handwritten integration folders, and regenerates only folders with the `.generated-by-smarthome-exchange` marker.
