| Crates.io | webarcade |
| lib.rs | webarcade |
| version | 0.9.0 |
| created_at | 2025-12-13 08:49:29.603422+00 |
| updated_at | 2025-12-20 17:34:32.954687+00 |
| description | CLI for WebArcade - Create and build native desktop app plugins |
| homepage | https://github.com/warcade/core |
| repository | https://github.com/warcade/cli |
| max_upload_size | |
| id | 1982742 |
| size | 183,279 |
CLI for WebArcade - Create and build native desktop app plugins.
cargo install webarcade
# Initialize a new project
webarcade init my-app
cd my-app
# Create a new plugin
webarcade new my-plugin
# Build the plugin
webarcade build my-plugin
# Run the app
webarcade run
# Package the app
webarcade package
| Command | Description |
|---|---|
webarcade init <name> |
Initialize a new WebArcade project |
webarcade new <plugin> |
Create a new plugin |
webarcade build <plugin> |
Build a plugin |
webarcade build --all |
Build all plugins |
webarcade list |
List available plugins |
webarcade run |
Build and run the app |
webarcade app |
Build production app with installer |
webarcade package |
Package app for distribution (interactive) |
webarcade install <user/repo> |
Install a plugin from GitHub |
webarcade update |
Update the CLI to latest version |
When building plugins, the CLI shows a clean, professional progress display:
▶ Building Plugins
──────────────────────────────────────────────────
✓ hello-world ● systemMonitor ○ themes
→ systemMonitor: Compiling DLL...
━━━━━━━━━━━━━━━━━━────────────────────── 66% (2/3)
Features:
Check for updates and install the latest version:
webarcade update
This will:
The CLI includes smart build caching to speed up development:
Plugins are only rebuilt when their source files change. The CLI tracks file hashes and skips unchanged plugins:
# Only rebuilds plugins that have changed
webarcade build --all
# Force rebuild all plugins (ignore cache)
webarcade build --all -f
| Flag | Description |
|---|---|
-f, --force |
Force rebuild, ignoring cache |
| Flag | Description |
|---|---|
--locked |
Embed plugins in binary (locked mode) |
--no-rebuild |
Only rebuild changed plugins (use cache) |
--skip-binary |
Skip frontend/binary rebuild (use existing) |
--skip-prompts |
Use current config without prompts |
# Full rebuild and package
webarcade package --locked
# Only 1 plugin changed, rebuild just that plugin
webarcade package --no-rebuild --locked
# Plugin changed, binary unchanged (unlocked mode only)
webarcade package --no-rebuild --skip-binary
# Quick repackage with no rebuilds
webarcade package --no-rebuild --skip-binary --skip-prompts
The CLI automatically terminates running app processes before building to prevent "file in use" errors. This happens automatically when you run:
webarcade buildwebarcade appwebarcade packagePlugin build state is stored in build/.build_cache.json. The cache tracks:
.rs, .jsx, .js, .ts, .tsx, .json, .toml, .css, .scss)Changes that trigger a rebuild:
.dll, .js)--force flagChanges that don't trigger a rebuild:
package-lock.json, Cargo.lock)node_modules/ or target/ changesMIT