BBramaDocs

Brama CLI command reference

brama categories

The operator's own grouping of the catalogue: read it, declare one, retire one. A category is data in the route registry, so adding uncensored — or any other name this deployment wants to filter on — is a registry write and never a gateway release.

Invocation

brama categories ls [--json]
brama categories set <NAME> [--provider <ID>]... [--route <PROVIDER/MODEL>]... [--term <TEXT>]... [--json]
brama categories rm <NAME> [--json]
InputRequired/defaultMeaning
<NAME>requiredLowercase letters, digits and hyphens.
--provider <ID>repeatableEvery model of that provider is in the category.
--route <PROVIDER/MODEL>repeatableThat exact route is in the category.
--term <TEXT>repeatableA model whose route id or published name contains this text is in the category.
--jsonoptional; offls prints the declarations as a document; set and rm print {"action": "declared" | "retired", "category", "registry"} instead of the sentence.

set replaces the named category whole, so the three lists are always exactly what the operator last stated.

Output and state

$ brama categories set uncensored --term uncensored --term abliterated --provider abliteration-ai
declared model category uncensored
$ brama categories ls
uncensored (24 models)
  providers: abliteration-ai
  routes:    -
  terms:     uncensored, abliterated
$ brama categories rm uncensored
retired model category uncensored

The count beside the name is how many catalogue models the rule currently holds, computed from the same snapshot brama models lists; a rule that matches nothing reads zero rather than looking like a working facet. The write lands in the route registry named by BRAMA_INFERENCE_ROUTES_FILE, else ~/.config/brama/inference-routes.json, through the same staged, validated, owner-only rename every route edit takes.

Refusals

SentenceMeaning
no inference route registry is configured; set BRAMA_INFERENCE_ROUTES_FILEThere is no document to write into.
model category 'Uncensored' must be lowercase letters, digits and hyphensThe name cannot be held by the registry or named in a query.
model category 'empty' declares no providers, routes or termsA category with no rule would match nothing and mean nothing.
model category 'x' names 'not-a-route', which is not a provider/model routeA route member has to be a route.
no model category 'x' is declaredrm was asked to retire a name nobody declared; the document is unchanged.

Every refusal exits 1, prints on standard error, and leaves the registry exactly as it was.

See category, brama models, or the CLI tree.