Docs
Updates
Versions
- Every item has its own semantic version. A removed prop is a major bump, a new prop a minor one, a fix a patch.
- A release bundles the changed items with notes, and shows up in the changelog.
- Each item also has a content hash. A fix that shipped before its release reaches you as changed upstream (unreleased).
/r/versions.jsonlists the current version and hash of every item.
Check
npx wingo-ui@latest outdated
npx wingo-ui@latest diff button # your file against the latest version
npx wingo-ui@latest diff button --base # what you changed since installingoutdated compares wingo-ui.json with the latest release: installed and latest version, the semver bump and whether you edited the files.
Update
npx wingo-ui@latest update # every installed item
npx wingo-ui@latest update data-table # one item
npx wingo-ui@latest update --dry-run # previewFor each file, the CLI compares three versions: yours, the one you installed (.wingo-ui/base/) and the new one.
- Untouched file: replaced with the new version.
- Edited file, changes in different places: merged, your edits stay.
- Same lines changed on both sides: conflict markers, see below.
- New dependencies are installed, files the new version no longer needs are reported and kept.
It prints the release notes of every version you skipped. Commit before updating so you can review the diff.
Conflicts
<<<<<<< local
const label = "Send"
=======
const label = "Send message"
>>>>>>> wingo-ui 1.3.0Edit the file to keep what you want and delete the markers, like a git merge. Or settle every conflict at once:
npx wingo-ui@latest update --theirs # take the new version
npx wingo-ui@latest update --ours # keep yoursWithout a base copy (files added by hand, or .wingo-ui/ not committed) the CLI cannot tell whose change is whose and asks you to pick --theirs or --ours.
With an agent
The MCP tool check_updates takes the items from wingo-ui.json and returns the updates with their notes. The rule files tell agents to call it at the start of UI work, so you hear about updates without asking. Keep the rules themselves current with:
npx wingo-ui@latest agents update