One package
@tv/extension-sdk gives you the manifest schema, the PlatformContext types, React hooks, NestJS decorators, and a CLI that scaffolds, validates, and snapshots. Install it, target it, ship.
One SDK. A contract the platform enforces at build, publish, and run time. On-demand sandboxes so you never touch production.
A module is a vertical slice — its own frontend and (optionally) backend — that plugs into the Tango Vision platform. Every module:
module-manifest.json) the platform validates.PlatformContext — never raw tokens or URLs.You build against the SDK; the platform enforces the contract. When something doesn't work, the seven contracts make it unambiguous whose side the problem is on.
To see the shape in real code, open tv-module-example — the reference implementation of the contract, kept deliberately minimal — or browse the catalog of 30 production modules built on it.
If you already run a facility-management system, a BMS or a monitoring platform and you just want that data on the building graph, you are in the wrong half of this site. Pushing data in is one endpoint and a few hours — no SDK, no module, no release cycle.
→ Integrations: configuration or development?
pnpm add @tv/extension-sdkThe @tv scope is on a private registry that requires a token — see Getting started for the .npmrc setup, including the Docker build-secret pattern.
Thirty modules ship on this SDK today — CAFM, leases, wayfinding, BIM, WiFi-based occupancy, and more. There is no privileged internal API: the first-party modules use the same manifest, the same PlatformContext, and the same federation entry point you get.