Windows Deploy Kit

DeployForge

Check, then install, then skip it next time. A recipe file that's safe to re-run.

Free right now — no account, no card

Get DeployForge free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design DeployForge, 1 of 1
Screenshot DeployForge running on Windows today

Free while we’re in preview

Get DeployForge

Check, then install, then skip it next time. A recipe file that's safe to re-run.

The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.

One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.

Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.

  • One file — no installer
  • Runs on your machine, offline
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, DeployForge is included in every plan along with the rest of the range.

Two commands per step

A manifest is JSON: a name and an ordered list of steps, each carrying a check and an install shell command. deployforge apply setup.json runs check first. Exit 0 and the step is already satisfied, so install never runs and the step reports SKIP. Non-zero and install runs.

That’s the whole idempotence mechanism, and it’s why running the manifest twice on a machine that’s already provisioned does nothing except print a column of skips.

Failures stop the line

If an install exits non-zero on a real run, DeployForge reports FAILED and stops. Later steps usually depend on earlier ones, so attempting them just buries the real error under three more.

--dry-run behaves differently on purpose: nothing runs, every step reports WOULD INSTALL or SKIP, and the preview continues to the end. Nothing is happening, so there’s no reason to stop early.

--log run.log appends one JSON object per step with the verdict, both exit codes, a timestamp, and a dry_run boolean so previews and real runs stay distinguishable in one accumulated file.

validate parses the manifest, checks for empty fields and duplicate step names, and executes nothing.

Windows imaging, unattended setup and EFI repair are elsewhere in the plan.

Reading on the job itself

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working CLI prototype of the guided-recipe core: a manifest-driven, idempotent check-then-install step runner with fail-fast and a JSON-lines run log. Custom Windows images, unattended setup, boot USB creation, EFI repair, and driver injection need privileged Windows-only deployment APIs and are on the roadmap.

Naming status

Working name only — brand verdict **AVOID** (Very High). Collision: DeployForge. Rename completely.

What it draws on

Existing paid software whose best ideas shaped this program: NTLite, WinToUSB Professional, EasyUEFI Professional, Macrium Reflect X.

Command line

There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.

deployforge - manifest-driven, idempotent check-then-install step runner

Usage:
  deployforge apply <manifest.json> [--dry-run] [--log run.log]
  deployforge validate <manifest.json>
  deployforge help

Commands:
  apply       Run a deployment manifest: for each step, run its "check"
              command; if it already succeeds the step is skipped, otherwise
              the "install" command runs to make it so. Stops at the first
              failed step (fail-fast) unless --dry-run is given.
  validate    Parse and sanity-check a manifest without running anything.

Flags for apply:
  --dry-run       Preview what would happen; never runs install commands,
                  and does not stop early on a step that would fail.
  --log <file>    Append a JSON-lines record of every step's outcome to
                  <file> (real runs and dry runs alike).

Run "deployforge apply -h" or "deployforge validate -h" for more detail.

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

console.go · console_test.go · guided.go · main.go

SHA-256 checksums · build instructions & scope notes · full build plan