Renames and removals
How a renamed token gets fixed in code.
Renaming a token is the change most likely to break a build. Basemode treats it as a rename, not as one token removed and another added.
How a rename is recognized
Basemode matches tokens by their Figma id and mode, never by name. If color/primary becomes action/brand in Figma, the id stays the same, so the next sync knows it was renamed.
What happens in code
When a sync finds renames, it searches the repository's source files for the old names, as CSS variables such as --color-primary and in Tailwind classes such as bg-primary, and rewrites them in the same pull request. The pull request says how many references it fixed and where.
When a token is removed, Basemode doesn't guess a replacement. It lists the files that still use it, so a reviewer sees the problem before merging.
Measured against what's merged
Changes are measured against basemode.lock.json on your base branch. If someone closes a pull request without merging, the next one still describes everything that changes when it merges, not just the latest edit.
With the CLI
basemode generate --input tokens.json --out src/tokens --rename-references
--rename-references does the same rewrite on your machine, and prints any removed tokens still in use.