All docs

DevTools CLI

init, push, checkout, diff, status, watch, hooks — Git for UI.

Overview

@uix/devtools is a CLI toolchain for managing UIX schemas in your project. Think of it as Git for UI — track changes, diff schemas, sync with your team.

Commands

`uix init`

Initialize a UIX project in the current directory:

bash
npx @uix/devtools init

Creates:

  • .uix/config.json — project configuration
  • schemas/ directory for your UIXDocument files

`uix push`

Push local schema changes to the sync server:

bash
uix push schemas/login.uix.json

`uix checkout`

Pull the latest schema from the server:

bash
uix checkout login-screen

`uix diff`

Compare local schemas against the server:

bash
uix diff schemas/login.uix.json

Shows property-level changes:

Modified: submit-btn
  style.padding: 16 → 12
  style.radius: 8 → 12
Added: forgot-link
Removed: divider-2

`uix status`

Overview of sync state:

bash
uix status
Synced:      login.uix.json
Modified:    dashboard.uix.json (3 changes)
Local only:  settings.uix.json
Server only: onboarding.uix.json

`uix watch`

Watch for file changes and auto-push:

bash
uix watch

`uix hooks install`

Install a Git post-commit hook that auto-pushes .uix.json changes:

bash
uix hooks install

Configuration

.uix/config.json:

json
{
  "server": "ws://localhost:3000",
  "schemasDir": "schemas",
  "autoSync": false
}