Inkstead Writer Return to Developer Hub

Updating And Migrating

Inkstead Writer sites commit a small root ./inkstead-writer command. It reads the version in inkstead-writer.json and downloads the matching release when needed. That keeps each site on the Writer version it records.

The globally installed inkstead-writer command is mainly for creating sites and managing cached binaries. Inside a site, use ./inkstead-writer.

The migrate command compares the version recorded in inkstead-writer.json with the binary you are running. It applies needed migrations, refreshes generated workflow files and the site command, then updates the recorded version. Some releases do not need a site migration.

To update a site to the latest Inkstead Writer release:

Terminal
$./inkstead-writer update

For CI or release-check scripts, ./inkstead-writer update --check reports whether a newer release is available without changing files and exits with a non-zero status when the site is out of date. To preview the exact migration without writing changes, run:

Terminal
$./inkstead-writer update --dry-run

To inspect or prune downloaded binaries:

Terminal
$./inkstead-writer cache list$./inkstead-writer cache clean --dry-run$./inkstead-writer cache clean

The cache defaults to ~/Library/Caches/inkstead-writer on macOS and ${XDG_CACHE_HOME:-$HOME/.cache}/inkstead-writer on Linux. Set INKSTEAD_WRITER_CACHE_DIR to use a different location.

To apply migrations for the version already recorded in the site:

Terminal
$./inkstead-writer migrate

Then run:

Terminal
$./inkstead-writer doctor$./inkstead-writer build

If you use custom templates, check your theme against the current Themes context values after major upgrades.

If Inkstead Writer reports a manual migration, finish that change and run ./inkstead-writer migrate again. The recorded version is not advanced while a required manual step is still outstanding.