One CLI for Lovstudio users: install skills and activate license keys.
npx lovstudio --helpRun a command in a local app without changing directories first. The CLI runs
the app's own package manager — read from packageManager in its package.json
(npm / pnpm / yarn / bun), falling back to its lockfile (bun.lock → bun,
pnpm-lock.yaml → pnpm, yarn.lock → yarn, package-lock.json → npm), and
defaulting to pnpm when nothing indicates otherwise. The package manager is
added automatically, so don't prefix the command with it — write tauri dev,
not bun tauri dev:
npx lovstudio app vmux tauri dev
npx lovstudio app ataru tauri devThe CLI searches app roots in LOVSTUDIO_APP_PATH, using the same ordered,
platform-specific delimiter as PATH. If the variable is unset, it searches
~/lovstudio/coding and ~/projects. Apps are recognized by directory name,
package.json.name, and Tauri's productName.
If multiple directories share the same app name, the CLI asks you to choose
one and remembers that choice in ~/.lovstudio/apps.json. Later commands reuse
the remembered path without prompting again.
export LOVSTUDIO_APP_PATH="$HOME/work:$HOME/projects"
npx lovstudio app path ataruExplicit mappings override discovery and are stored in
~/.lovstudio/apps.json:
npx lovstudio app add ataru ~/projects/lovcode
npx lovstudio app path ataru
npx lovstudio app remove ataru
npx lovstudio app listapp add also updates an existing mapping, and defaults its path to the current
directory. The resolved command is executed as <package-manager> <command...>
with the app directory as its working directory.
# Install a free Skill directly
npx lovstudio skills add any2pdf
# Install a paid Skill (the command signs in, asks for Credits, then downloads
# the encrypted bundle)
npx lovstudio skills add subtitle-freedom
# Install a skill + preflight its runtime deps, auto-installing any that are missing
npx lovstudio skills add wxmp-cracker --with-deps
# Install all free Skills globally; add paid Skills individually
npx lovstudio skills add skills -g -y
# List all skills in the catalog
npx lovstudio skills listskills add reads the unified lovstudio/skills catalog before installation.
Free Skills install directly. Paid Skills must have an encrypted bundle; the
CLI signs in to Lovstudio, confirms the current Credits price, completes the
redemption, and only then downloads the bundle. The encrypted placeholder
uses the same account entitlement at runtime, so plaintext Skill code is not
written to disk.
The command also resolves the Skill's dependencies: frontmatter and runs each
check command. With --with-deps, missing ones are installed automatically
via their declared install command.
Under the hood:
skills add <name>→npx -y skills@latest add lovstudio/skills --skill lovstudio-<name>(vercel-labs/skills)skills add skills→ resolves the unified catalog and passes all freelovstudio-<name>selectorslicense *→uvx lovstudio-skill-helper *(pinned version)
lovstudio dns status # show registrar + public resolver + mode
lovstudio dns cf # switch registrar NS -> Cloudflare
lovstudio dns aliyun # switch registrar NS -> Aliyun (CN split-horizon)
lovstudio dns sync --apply # apply missing records to Aliyun
lovstudio license issue [options] # admin-only: mint license keysGODADDY_API_KEY # registrar API key
GODADDY_SECRET # registrar API secret
CLOUDFLARE_API_KEY # CF token with Zone.DNS read
ALI_AK # Aliyun AccessKey ID
ALI_SK # Aliyun AccessKey Secret
Proxy: honors HTTPS_PROXY / HTTP_PROXY (useful in mainland China).
# one-off
npx lovstudio skills list
# or global
pnpm add -g lovstudio
lovstudio skills listRequires Node ≥18. license * commands additionally require uv.
On Windows, use the same commands from PowerShell; the CLI resolves npm's
npx.cmd shim internally.
- Create
src/commands/<name>/index.mjsexporting{ summary, run(args) }. - Register it in
src/index.mjsCOMMANDS. - That's it.
MIT