Explore guides

Your first working configuration

Try a file-only setup, inspect the plan, and apply it twice to see convergence.

6 minute readSource checked: October 5, 2026Complete source guide

1. Install the CLI and create a project

Download the native workstation executable for your macOS or Linux architecture from GitHub Releases and put it on your PATH. It includes its runtime; preinstalled Node.js is not required. See the source installation guide for platform instructions.

Init creates workstation.config.ts without overwriting an existing file. Built-in imports work through the native CLI without a local package. Editor completion can use a linked build or project dependency.

Shell
workstation --help
mkdir workstation-demo
cd workstation-demo
workstation init

2. Declare one file and one task

Replace the generated starter with this configuration. Choose an unused demo directory: it writes one JSON file under home and installs no packages.

workstation.config.ts
import { defineConfig, files, task } from "@dovocode/workstation";

export default defineConfig({
  resources: [
    files.json("~/.config/workstation-demo/settings.json", {
      theme: "dark",
      editor: { fontSize: 14 },
    }),
  ],
  tasks: {
    hello: task("echo", ["Hello from Workstation"]),
  },
  aliases: { hi: "hello" },
});

3. Preview, apply, and verify

Plan inspects without writing locks or state. Build applies the setup and records ownership. Status checks the recorded result. A second unchanged build should report convergence.

Shell
workstation plan
workstation build
workstation status
workstation build

4. Make a change and save the inputs

Change fontSize to 16 in the source, inspect plan, and build again. Run workstation hi to dispatch the task independently; it does not reconcile resources.

Commit the source configuration, imported files, and workstation.lock. Keep ownership state and backups local: they are recovery data and can contain private contents.