Configuration
Wago keeps project intent in wago.json and exact, authority-bearing resolution in wago-lock.json. Commit both files when your project uses plugins.
Editor support
Add the schema URL to get completion, inline documentation, and typo detection in editors that support JSON Schema.
Start a project
sh
wago initChoose quick setup for a minimal manifest or full setup for an application or publishable plugin.
Manifest
json
{
"$schema": "https://wago.sh/v0/schema.json",
"plugins": {
"wago-org/wasi": "^0.0.0"
}
}Plugin entries are semantic-version constraints. wago add updates the manifest and resolves exact versions into the lockfile.
FILE
wago.json Human-authored project intent, package metadata, and plugin constraints. LOCK
wago-lock.json Exact plugin versions, reviewed capability grants, and plugin-owned configuration. Keep authority in the lockfile
Do not copy exact resolutions or capability grants into wago.json. The lockfile is parsed strictly and is the reproducible source of runtime authority.
Add and inspect plugins
sh
wago add wago-org/wasi
wago plugin list
wago plugin check
wago plugin planUse wago status for a compact view of the active runtime, project scope, plugins, and lockfile.
Machine-level paths
WAGO_HOME overrides the platform defaults. Without it, macOS keeps Wago state under ~/.wago; Linux uses the corresponding XDG data, config, and cache directories.
sh
export WAGO_HOME="$PWD/.wago-home"
wago status