Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>TuyaOSNew to Visual Studio Code? Get it now.
TuyaOS

TuyaOS

Tuya Smart

|
8 installs
| (0) | Free
TuyaOS + Miniapp + Tuya Platform companion extension for VSCode. Streamlines AIoT and Agentic AI project workflows.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TuyaOS

AI Coding Your Next Gen. Hardware — The all-in-one VS Code extension for building AIoT and Agentic AI devices on the TuyaOS platform.

English | 简体中文

VS Code Cursor License


Why TuyaOpen IDE?

Building connected hardware is hard. TuyaOpen IDE removes the friction — from first prototype to production firmware — all within your favorite editor.

  • Zero setup — SDK, toolchain, and environment configured automatically
  • AI-native workflow — Skills system integrates with Cursor and Claude Code for build, flash, and project workflows via natural language
  • Full-stack IoT — Embedded firmware + Miniapp + Tuya Cloud in one project
  • China-friendly — Gitee mirrors and jsDelivr CDN for fast downloads behind the GFW

Features

Project Management

Create, import, and manage TuyaOpen projects in seconds. Multi-surface architecture scaffolds both embedded firmware and miniapp code from a single template.

Hardware Catalogue

Browse 50+ supported boards and chips with pinouts, specs, and one-click project creation. Filter by brand, connectivity, or chip family.

SDK & Toolchain

One-click SDK install with automatic environment bootstrapping. Switch between SDK versions, manage git mirrors, and open pre-configured terminals — no manual PATH configuration needed.

AI Skills for Embedded Development

Install coding skills that teach your AI assistant (Cursor / Claude Code) how to:

  • Build firmware for your target board
  • Flash to connected devices
  • Pair devices to the Tuya cloud
  • Configure project settings and data points

Tuya Developer Platform Integration

Sign in to the Tuya IoT Platform directly from VS Code. View and manage:

  • Product details and data points
  • Panel configurations
  • Device authorization codes (UUID + AuthKey)

Library Browser

Explore the TuyaOpen component library and TuyaOS ecosystem. View dependencies, versions, and documentation links before adding to your project.


Getting Started

  1. Install the extension from the VS Code Marketplace
  2. Open VS Code / Cursor and look for the TuyaOpen IDE panel in the sidebar
  3. Create a project — Click "New Project", pick a board, and start coding
  4. The SDK will be cloned and configured automatically in the background

That's it. No terminal commands, no manual environment setup.


Development & Common Commands

This section is for contributors building the extension from source. The extension itself configures the SDK and its toolchain through the UI, so end users normally do not need to run these commands.

Prerequisites

  • Node.js 24 (the version used in CI) and npm
  • Git, including Git submodule support
  • VS Code or Cursor for running the Extension Development Host

First-time setup

Clone with submodules, then install the development dependencies. If the repository was already cloned without submodules, run the second command instead.

git clone --recurse-submodules <repository-url>
cd tuyaopen_ide
npm install
git clone --recurse-submodules <repository-url>
Set-Location tuyaopen_ide
npm install
git submodule update --init --recursive
git submodule update --init --recursive

Use npm ci rather than npm install when you need a clean, lockfile-exact dependency install (for example in CI). It removes and recreates node_modules.

Everyday commands

All commands in this table work in Bash, PowerShell, Command Prompt, and the integrated terminal unless noted otherwise.

Command What it does When to use it
npm run compile Cleans out/, prepares the bundled Developer Platform CLI, and compiles TypeScript. Before F5, after pulling changes, or before packaging.
npm run watch Compiles TypeScript incrementally as files change. During active extension development. Press Ctrl+C to stop.
npm run clean Removes generated out/ files. When a build looks stale or before a fully clean compile.
npm run lint Type-checks the extension without generating files. Fast feedback before committing.
npm run test:unit Runs the Vitest unit-test suite once. Verify a change locally.
npm run test:unit:watch Keeps the unit-test runner open and reruns related tests on changes. Test-driven development.
npm run test:typecheck Type-checks test sources. When changing tests or test helpers.
npm test Runs the repository test orchestrator (test type-check plus unit tests). The normal pre-push verification.
npm run package Compiles and creates a .vsix extension package under release/. Test an installable extension artifact.
npm run package:list Lists the files that would be included in the VSIX. Check packaging contents without creating a package.

To run the extension locally, open this repository in VS Code or Cursor, start npm run watch in one terminal, then press F5. This opens an Extension Development Host where you can exercise the change.

Product-line builds

The default checkout is the TuyaOpen product line. These commands bake the selected product configuration into the working tree before compiling. Run the matching watch command if you want to develop that line continuously.

Command What it does
npm run bake Build the default TuyaOpen product line.
npm run bake:tuyaos Build the TuyaOS product line.
npm run watch:tuyaopen Bake TuyaOpen, then keep TypeScript compiling on changes.
npm run watch:tuyaos Bake TuyaOS, then keep TypeScript compiling on changes.

These commands modify generated product files and package.json. Before committing a normal TuyaOpen change, restore the default line with npm run bake.

PowerShell environment variables

Most npm run commands are identical across shells. The important difference is temporary environment variables: Bash places the assignment before the command, while PowerShell assigns through $env:.

For example, packaging one product line's assembled webview:

TUYAOPEN_ASSEMBLE_WEBVIEW_LINE=tuyaos npm run package
$env:TUYAOPEN_ASSEMBLE_WEBVIEW_LINE = 'tuyaos'
npm run package
Remove-Item Env:TUYAOPEN_ASSEMBLE_WEBVIEW_LINE

The environment variable is optional; a plain npm run package keeps the default packaging behavior. Scripts named sync:miniapp-vendor and sync:vendors call Bash directly, so run those from WSL, Git Bash, or another Bash-compatible shell rather than Windows PowerShell.


Supported Platforms

Platform Status
Windows 10/11 Fully supported
macOS (Intel & Apple Silicon) Fully supported
Linux (x64) Fully supported
WSL (from Windows host) Supported

Settings

Access settings from the TuyaOpen IDE panel → Settings page, or via VS Code Settings (Ctrl+,).

Setting Description
Workspace Root Where projects, SDK, and dependencies live
Language UI language (Auto / English / 简体中文)
Theme Follow editor, or force light/dark
Git Mirror GitHub or Gitee for SDK downloads
Manifest Source Where to fetch board/demo catalogs from
Auto Clone SDK Automatically set up the SDK on first launch

Works with Cursor & Claude Code

TuyaOpen IDE's Skills system was designed for AI-assisted embedded development. When paired with Cursor or Claude Code, your AI assistant gains domain knowledge about:

  • TuyaOpen SDK APIs and project structure
  • Build system commands and target configurations
  • Device authorization and cloud registration
  • Hardware pin definitions and peripheral setup

Simply install Skills from the IDE panel and your AI assistant is ready to help you write firmware.


Requirements

  • VS Code 1.85+ or Cursor (any recent build)
  • Git (for SDK management)
  • Python — managed automatically by uv; the SDK's export script downloads uv and a pinned Python on first run, so no system Python install is required

Data & Privacy

TuyaOpen IDE is built to be transparent about what leaves your machine:

  • No automatic data collection — no third-party analytics or telemetry SDKs, no background phone-home.
  • Consent first — on first run a welcome agreement gates all network activity. Nothing (SDK clone, catalogue/skill download, MiniApp runtime) is fetched until you accept. Decline and the extension stays fully local.
  • Your code stays local — source file contents are never transmitted.
  • Credentials stay local — Tuya sign-in is stored only on your machine (~/TuyaOpenIDE/.tuyaopen/credentials.json, mode 0600, plus the editor's encrypted SecretStorage) and sent only to Tuya's own hosts.
  • Feedback is opt-in — diagnostic reports upload to tuyaopen.ai only when you use Send Feedback and confirm what's included.

Endpoints contacted (only when you use the related feature, and SDK/catalogue/ runtime downloads only after consent): GitHub / Gitee (SDK + catalogues), the npm and PlatformIO registries and nodejs.org (toolchain), and Tuya hosts (auth.tuya.com, platform.tuya.com, wind-ide.tuyacn.com, miniapp-ark-ide.tuyacn.com, images.tuyacn.com, tuyaopen.ai).

Full details: PRIVACY.md · Feedback Data Collection Notice · Tuya Privacy Policy · Tuya Service Agreement. These are also viewable in-IDE at Settings → About → Terms & Privacy.


License

Apache License 2.0

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft