CLI
npm i -g @forgeco/cliforge login --url https://<your-instance>login stores the box under a name; --instance <name> picks between stored boxes and forge instances
lists them. Almost every command in the registry is a CLI command, under the name it has everywhere else:
forge <command> --input '<json>'forge <command> --input '<json>' --store <store-id>forge read <capability> --input '<json>'forge read <capability> --input '<json>' --internalBoth writes and reads take --input. --internal is what picks the OPERATOR face of a read — without it
the call goes to the public one, which is a different answer rather than an error.
--store is what an ANONYMOUS command needs — building a cart, placing an order, a shopper logging in.
Those run on a face that takes no credential at all, so the store is what resolves the tenant; the CLI sends
no token on them even when you are logged in. You do not have to know which commands those are: the CLI reads
each command’s face off the same declaration this reference does, and forge --help marks them.
The CLI holds 180 commands and reaches 102 read capabilities — the 32 of the public
face, plus the operator face’s own under --internal. It carries no list of its own: the table it
dispatches on is generated from the same registry as this page, so a command that exists is callable the day
it lands. forge --help prints every command with its face, its scope and its summary, and the 32 public
reads by name.
Commands marked System: yes on their page are platform commands: they reach the control face and need a platform credential, not a tenant one.
The 9 commands the CLI does not carry are the ones no face serves at all — only the kernel
drives them. forge --help names them with the reason rather than hiding
them, and asking for one by name is answered by name: