# w3up CLI Verifying the CLI is as we want it. Currently: ```sh $ w3up --help w3up Commands: w3up id Generate a UCAN Identity w3up register <email> Register your UCAN Identity with w3up w3up whoami Show your current UCAN Identity w3up list List your uploads w3up upload <path> Upload any file or directory to your account w3up upload-cars <path> Walk a file directory, and upload any found cars to an account w3up open <cid> Open a CID in your browser on w3s.link w3up settings <cmd> Manage settings w3up store <cmd> Manage car files in w3up. w3up uploads <cmd> Manage uploads w3up delegate <cmd> Manage delegations w3up car <cmd> CAR file specific commands w3up info Print information about cli ``` It's also built with `yargs` not `sade`. --- ## Proposal v2 ```bash $ w3 --help w3 Commands: w3 up <file> [file...] alias: upload, put w3 ls alias: list w3 rm <data-cid> alias: remove w3 open <data-cid> w3 whoami # space management w3 space create [name] w3 space register <email> w3 space ls w3 space use <did> w3 space add <proof.ucan> # capability management w3 proof ls w3 proof add <proof.ucan> w3 delegation ls w3 delegation create <audience-did> <ability> [ability...] > delegation.ucan # advanced usage - grouped by capability namespace: w3 can <subcommand> w3 can store add <car-file> w3 can store list w3 can store remove <car-cid> w3 can upload add <root-cid> [shard-cid...] w3 can upload list w3 can upload remove <root-cid> w3 can space info <did> w3 can space recover <email> Flags: -h, --help Show help [boolean] -v, --version Show version number [boolean] ``` ## Proposal v1 ```bash $ w3 --help w3 Commands: w3 register <email> w3 up <file> [file...] alias: upload, put w3 ls alias: list w3 rm <data-cid> alias: remove w3 open <data-cid> w3 whoami w3 store add <car-file> w3 store list w3 store remove <car-cid> w3 delegate --to did > delegation.ucan (dont call in *.car, it confuse user... never upload dis thing) w3 delegate import delegation.ucan Flags: -h, --help Show help [boolean] -v, --version Show version number [boolean] ``` ## Reasoning (old) ``` w3cli account register <email> ``` Creates a new keypair, registers the account, delegates to the agent and throws away the private key (after printing pneumonic). Internally this sets the “current” account DID. ``` w3cli account link <email> ``` Obtains an any delegation for the current agent. Internally this sets the “current” account DID. ``` w3cli account delegate <ability> [ability...] ``` Delegates abilities from the current account to the current agent. ``` w3cli agent create <name> ``` Create a new agent keypair. ``` w3cli agent import <file> ``` Loads agent keypair and delegations from a file. ``` w3cli agent list ``` List agents known to the CLI. ``` w3cli agent switch <agent-did> ``` Select the agent DID as the “current” agent. ### w3access keep advanced access management in seperate cli ```bash w3access create <name> - output ucan? w3access delegate <ability> [ability...] w3access import <file> w3access export w3access list w3access switch <agent-did> ```