.option('--provision-keys','Generate a Schnorr secp256k1 owner key on pod creation, written to <pod>/private/privkey.jsonld in W3C CID v1.0 Multikey format (off by default)')
.option('--no-provision-keys','Do not auto-generate an owner key on pod creation')
.option('--idp-issuer <url>','IdP issuer URL (defaults to server URL)')
.option('--cors-proxy-max-redirects <n>','CORS proxy max redirect hops, each re-validated (default 5)',parseInt)
.option('--body-limit <size>','Maximum request body size, e.g. 100MB or 1GB (default 20MB). Raise to accept larger `git push`; lower for tighter memory-DoS protection.')
.option('--mongo-database <name>','MongoDB database name (default: solid)')
.option('--mcp','Enable MCP (Model Context Protocol) server at /mcp — pod as a tool surface for agents (#490)')
.option('--no-mcp','Disable MCP server')
.option('-q, --quiet','Suppress log output')
.option('--plugin <module[@prefix]>','Mount an app plugin (repeatable; prefix must start with /). Appends to config-file plugins (#594)',(value,previous)=>previous.concat([value]),[])
* Install command — install a Solid app from the default registry
* (`github.com/solid-apps/<name>`) into a running pod.
*
* Phase 1 of #464 / scoped in #478. Hardcodes the default registry;
* later phases add <org>/<repo>, full URLs, refs, renames, did:nostr
* resolution, NIP-98 auth, curated default sets, and --bundle.
*/
program
.command('install [names...]')
.description('Install a Solid app (or a bundle of apps) into a running pod')
.option('--pod <url>','Target pod URL','http://localhost:4443')
.option('--user <name>','Username for IDP auth','me')
.option('--password <pw>','Password (default: $JSS_SINGLE_USER_PASSWORD or "me")')
.option('--nostr-privkey <hex>','Sign install pushes with NIP-98 using this 64-char hex Nostr privkey instead of fetching a bearer token (default: $NOSTR_PRIVKEY)')
.option('--bundle <source>','Install everything in a bundle (JSON-LD doc). Source: bare name → solid-apps/bundles, <org>/<repo>, https://..., or a local path')