Upgrade Guide

ReeWeb projects start from the public ReeWeb repository. When its starter changes include work you want, use Reesync to compare them with your site and selectively copy the files you choose. Review the proposed changes and adapt your site wherever necessary.

Before you start

Commit or otherwise back up your site first. Reesync copies only files you explicitly select, but it overwrites those files in your project.

Install Reesync once if it is not already on your PATH:

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/reepolee/reesync/main/install.sh | bash
Windows
irm https://raw.githubusercontent.com/reepolee/reesync/main/install.ps1 | iex

Verify the install:

reesync --version

Manual-install options are in the Reesync installation guide.

Compare the current starter

Clone the current public ReeWeb starter outside your project, then run Reesync from the root of the site you are updating:

macOS / Linux / WSL
git clone --depth 1 https://github.com/reepolee/reeweb.git /tmp/reeweb-new
cd ~/code/my-site
reesync /tmp/reeweb-new
Windows
git clone --depth 1 https://github.com/reepolee/reeweb.git "$env:TEMP\reeweb-new"
Set-Location "$HOME\code\my-site"
reesync "$env:TEMP\reeweb-new"

Reesync reads the public starter directory and writes only to the current project.

Choose the changes to adopt

Reesync shows only files that differ:

  1. New and modified starter files are pre-selected.
  2. Use arrow keys to browse and Space to select or clear a file or folder.
  3. Press i to add a project-owned file to .reesyncignore; it remains visible but is pre-cleared on later runs.
  4. Press Enter only after reviewing the selection. Reesync copies the files you selected and shows progress.

Files found only in your project are shown as deleted in the comparison, but Reesync never deletes them. Hidden files, including .env, .gitignore, and .reesyncignore, are not compared or copied.

The Reesync command-line reference covers the full workflow, key bindings, and ignore-pattern syntax.

Keep site work under your control

The starter's .reesyncignore marks common project-owned paths such as package.json, wrangler.jsonc, and src/css/**. Extend it for the files that define your site. Before selecting changes, review your custom content, components, configuration, and hooks:

  • src/public/ contains pages, content, translations, and assets.
  • src/components/ and src/css/ contain your site components and theme.
  • src/lib/ and config/ contain project hooks and site configuration.

Reesync copies selected files. It does not merge source code or infer which parts of a changed file belong to your site.

Verify after syncing

Review the resulting diff, then run the standard site checks:

bun install
bun test
bun ssg

Preview the generated dist/ output and test the pages, content, redirects, and locales affected by the selected files. The Release Notes summarise what each release includes.