Shellaro Download

Developer CLI

packages/cli (@shellaro/cli): no dependencies, Node.js 22.13 or later.

node packages/cli/bin/shellaro.mjs ext <command>     # from a Shellaro checkout
cd packages/cli && npm link                          # then just: shellaro ext <command>

shellaro build works like shellaro ext build (the ext is optional).

create

shellaro ext create my-extension [--template hello-world|command|sidebar|command-pack] [--publisher acme] [--dir path]
TemplateWhat you get
hello-worldOne palette command that shows a message (ui.commands)
commandPick a diagnostic and run it in the active terminal (ui.commands, context.read, terminal.execute)
sidebarA sidebar view of sessions by environment, with refresh (ui.sidebar, ui.commands, sessions.read)
command-packpack.json with a command and a runbook with a variable
labA Kubernetes lab: lab.json, scripts/setup.sh that breaks a deployment, a task with a check (labs)

The id is <publisher>.<name> (publisher defaults to your Windows user name). Code templates include types/shellaro.d.ts and a tsconfig.json, so tsc type-checks the project without installing anything.

dev

Builds, then watches the folder (except dist/, node_modules, .git) and rebuilds on every change; problems are printed, the watcher keeps running. Load the folder once in Shellaro (Settings > Developer) and it reloads after every build.

build

Bundles src/extension.ts (or .js, or src/index.*) into main as one CommonJS file, validates everything, and writes <id>-<version>.shellaro-ext (or --out <file>).

Exit code 1 when validation fails.

validate

shellaro ext validate [folder | file.shellaro-ext]: the same checks as Shellaro (manifest, permissions, pack or lab content, ES module output, file integrity for packages). Warnings do not fail.

install

Builds the folder (or takes a package file) and copies it into Shellaro's inbox (%APPDATA%\com.shellaro.app\extensions\inbox, or $SHELLARO_CONFIG_DIR). Shellaro shows the review dialog within a few seconds; nothing is installed until you approve it there. The CLI cannot grant permissions.

publish

keygen

shellaro ext keygen acme-2026 writes acme-2026.pem (keep it secret) and prints the trusted-keys.json entry that makes Shellaro show "Signed by Acme" for packages signed with it.