Packages, declared.
Manage tools through mise and native package managers on macOS and Linux. Keep package pins alongside your configuration.
Declare your workstation in TypeScript. Packages, configuration, services, and tasks—kept in code, instead of a collection of forgotten setup steps.
import { defineConfig, files, task, tools } from "@dovocode/workstation";
export default defineConfig({
resources: [
tools.mise({ node: "lts" }),
files.json("~/.config/editor/settings.json", {
formatOnSave: true,
theme: "dark",
}),
],
tasks: {
test: task("pnpm", ["test"]),
},
aliases: { t: "test" },
});Start with one file and one machine. Add what you actually need, and keep the decisions visible in your configuration.
Manage tools through mise and native package managers on macOS and Linux. Keep package pins alongside your configuration.
Generate files and shell configuration, manage services, and compose shared, platform, and machine-specific fragments.
Inspect the desired changes, apply reviewed pins, and check for drift. Understand what is owned and what is simply adopted.
Define named commands, aliases, working directories, and environment values next to your setup. Run a task without applying resources.
Plan shows the desired changes. Build reconciles the setup and records ownership. Status checks the result. Keep the source and lock in Git, and retain recovery state on the machine.
Understand locks and recoveryworkstation init
workstation plan
workstation build
workstation status
# Run only a named task
workstation t -- --watchPractical guides and small examples, with links to the full CLI and TypeScript reference.
Try a file-only setup, inspect the plan, and apply it twice to see convergence.
Read the guideWorkstation / 5 MINCompose a typed setup for multiple machines with explicit paths, overrides, and ownership.
Read the guideWorkstation / 4 MINRun named commands with explicit arguments, working directories, and environment values.
Read the guideWorkstation / 5 MINUnderstand locks and ownership, update deliberately, and retain the state needed for recovery.
Read the guide