Add TypeScript integrations package
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# @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.
|
||||
Reference in New Issue
Block a user