Safe source updates

Review what will change before replacing installed source.

Three versions, one review

An illustrated source-file comparison. Choose which versions changed to see how a review treats them.

Recorded baseline
padding: 16px;
Your file
padding: 16px;
Incoming source
padding: 20px;
1 added, 1 removed
Your file compared with incoming source
ChangeBeforeAfterContent
Removed1padding: 16px;
Added1padding: 20px;
Ready to update

The local file matches its recorded baseline. The reviewed incoming version can replace it.

The repository CLI records source baselines when init or add writes a file. Keep its .vlak directory with your project. Files that existed and were skipped are not adopted automatically. This workflow is for copied source; package imports still follow your package manager’s update process.

Build the CLI from this checkout with pnpm --filter @noorddev/vlak-cli build. Run the built executable from your application directory. The commands below use vlak to denote that executable; check a published release’s help before assuming it includes these commands.

vlak status
vlak diff
vlak update-plan --output vlak-update.json
# Review the diff and plan, then:
vlak update --plan vlak-update.json

The plan captures the exact incoming bytes and the current file hashes. Apply does not fetch newer source or run package scripts. Files edited after planning stop the update. Local-only edits are preserved; changes made both locally and upstream require you to reconcile them and create a new plan.

For a custom registry, specify --registry explicitly while generating the plan. A missing component is not assumed to be a request for deletion. Keep a source-control checkpoint when reviewing dependency or integration changes.

vlak recover
# After reviewing the reported paths:
vlak recover --rollback

Each file is replaced through a temporary file. The complete update uses a recovery journal rather than claiming filesystem-wide atomicity. Rollback restores recognized original bytes; later unrecognized edits stop recovery before any replacements. Preserve the journal and those edits for manual recovery if necessary.

CLI source and command reference · Workflow kits