Manage batteries
Add, update, and remove batteries in an existing tauri-ui project.
After scaffolding, you can manage batteries directly with the same CLI — no re-scaffold required.
create-tauri-ui list # show installed + available batteries
create-tauri-ui add <battery> # install a battery
create-tauri-ui update <battery> # pull the latest template
create-tauri-ui remove <battery> # delete the battery's owned filesThe CLI auto-detects your frontend template from package.json and project structure. No manifest file is written to your repo.
Supported batteries
| ID | What it does |
|---|---|
debug-panel | Dev-only inspector for state, host diagnostics, invokes, runtime events, plugin logs. |
workflow | GitHub Actions release workflow that builds and publishes per platform. |
More batteries (size optimization, invoke example, etc.) will land in future releases.
list
Show install status for every supported battery.
bunx create-tauri-ui@latest list● debug-panel installed
○ workflow not installedUse --dir <path> to inspect a project other than the current working directory.
add
Install a battery into an existing project. Errors out if the battery's files are already present — pass --force to overwrite.
bunx create-tauri-ui@latest add debug-panel
bunx create-tauri-ui@latest add workflow --target-os macos-latest,ubuntu-latestThe CLI runs the same install logic used during scaffolding, including:
- writing the battery's owned files
- adding any required shadcn primitives (
button,tooltip, etc.) - patching the framework entrypoint to mount the component
- adding Tauri plugin registrations and Cargo dependencies where needed
update
Re-apply the battery using the templates bundled with your installed CLI version.
bunx create-tauri-ui@latest update debug-panelUpdates are idempotent:
- owned files are overwritten with the latest template
- existing imports, mounts, and plugin registrations are preserved (won't be duplicated)
- shadcn dependencies are installed only if missing
Commit before running and review the diff after.
remove
Delete the battery's owned files and best-effort revert the framework wiring.
bunx create-tauri-ui@latest remove debug-panelremove only deletes files owned by the battery. Shared infrastructure used by other batteries (for example src/lib/tauri.ts and src/lib/debug-events.ts, which are also used by the invoke example) is left in place.
For batteries with native or npm dependencies (like debug-panel's tauri-plugin-log registration), the CLI prints a manual cleanup checklist. The app keeps building either way — those entries only matter if you want a smaller binary or cleaner dependency graph.
Flags
--dir <path> project directory (default: current working dir)
--target-os <list> comma-separated platforms for the workflow battery
(windows-latest,macos-latest,ubuntu-latest)
-f, --force overwrite an existing battery / skip safety checks
-y, --yes accept defaults and skip confirmationsRecipes
Bump an existing project to the latest debug panel:
cd my-app
git status # ensure clean tree
bunx create-tauri-ui@latest update debug-panel --yes
git diff # review changesAdd the release workflow to a project that scaffolded without it:
bunx create-tauri-ui@latest add workflow --target-os macos-latest,ubuntu-latest,windows-latest --yesStrip the debug panel before publishing a minimal demo:
bunx create-tauri-ui@latest remove debug-panel --yes
# then follow the printed manual-cleanup checklist if you also want the deps gone