Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

commands.list

Every command, one line each

What it is

The commands this repository offers, filtered by the program that runs them, by what running them changes, or by text. A summary rather than the whole graph: enough to choose a command, and never so much that a client has to read every argument of every command to find one.

Descriptor

Canonical id
commands.list
Module
commands
Kind
query
Stability
implemented
Provenance
declared
Source
apps/majordomus-cli/src/capability/builtin/commands.rs
Cache
disabled
Benchmark
required
Tags
commandsintrospection

Run

query
A query. It reads and changes nothing.

Only the commands of one program: `executable`, `tool` or `workflow`.

Only the commands whose effect is at most this one: `read_only`, `local_mutation`, `repository_mutation`, `network_mutation`, `destructive`.

Only the commands matching this text in their invocation, summary, tags or identity.

GET /api/v1/commands

Projections

InterfaceAsWhere
MCP toolmajordomus_commands-
MCP resourcemajordomus://commands-
HTTPGET /api/v1/commandsSwagger
Command linenot exposed-

Schemas

Input · CommandFilter
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "origin": {
      "type": [
        "string",
        "null"
      ],
      "description": "Only the commands of one program: `executable`, `tool` or `workflow`."
    },
    "effect": {
      "type": [
        "string",
        "null"
      ],
      "description": "Only the commands whose effect is at most this one: `read_only`,\n`local_mutation`, `repository_mutation`, `network_mutation`, `destructive`."
    },
    "search": {
      "type": [
        "string",
        "null"
      ],
      "description": "Only the commands matching this text in their invocation, summary, tags or identity."
    }
  },
  "description": "Which commands to answer with. Every filter is the graph's own vocabulary; none is a\nsearch over rendered text.",
  "title": "CommandFilter"
}
Output · CommandIndex
{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "The schema of the graph these came from."
    },
    "fingerprint": {
      "type": "string",
      "description": "The fingerprint of that graph: a client may cache against it."
    },
    "total": {
      "type": "integer",
      "format": "uint",
      "minimum": 0,
      "description": "How many commands the graph holds, before the filter."
    },
    "commands": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CommandSummary"
      },
      "description": "The commands that matched, in graph order."
    }
  },
  "required": [
    "schema",
    "fingerprint",
    "total",
    "commands"
  ],
  "description": "The commands this repository offers, filtered.",
  "title": "CommandIndex",
  "$defs": {
    "CommandSummary": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The canonical identity."
        },
        "invocation": {
          "type": "string",
          "description": "The command line a person types."
        },
        "summary": {
          "type": "string",
          "description": "One line."
        },
        "origin": {
          "type": "string",
          "description": "Which program runs it."
        },
        "effect": {
          "type": "string",
          "description": "What running it changes."
        },
        "group": {
          "type": [
            "string",
            "null"
          ],
          "description": "The group it is found under."
        },
        "projections": {
          "$ref": "#/$defs/CommandProjections",
          "description": "Where it appears."
        }
      },
      "required": [
        "id",
        "invocation",
        "summary",
        "origin",
        "effect",
        "projections"
      ],
      "description": "One command, as an index shows it: enough to choose, never enough to have to skim."
    },
    "CommandProjections": {
      "type": "object",
      "properties": {
        "cli": {
          "type": [
            "string",
            "null"
          ],
          "description": "The command line, as typed."
        },
        "workflow": {
          "type": [
            "string",
            "null"
          ],
          "description": "The generated workflow bridge's recipe name."
        },
        "mcp": {
          "type": [
            "string",
            "null"
          ],
          "description": "The MCP tool name, when the capability behind it declares one."
        },
        "http": {
          "type": [
            "string",
            "null"
          ],
          "description": "The HTTP route, when the capability behind it declares one."
        },
        "cockpit": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Cockpit address, when the surface carries it."
        },
        "docs": {
          "type": "string",
          "description": "The page on the site. Every command has one."
        },
        "withheld": {
          "type": [
            "string",
            "null"
          ],
          "description": "Why a machine surface does not carry it, when one does not."
        }
      },
      "required": [
        "docs"
      ],
      "description": "Where one command appears, derived from its effect, its interactivity and its origin.\n\nEvery field is computed by `super::policy`. Nothing declares a projection, and no\nsurface keeps a list of what it carries: a surface asks the graph."
    }
  }
}

Examples

These are the capability's own benchmark cases: the same inputs the benchmark runs and the OpenAPI document shows.

all
{}
read-only
{
  "effect": "read_only"
}
one-program
{
  "origin": "executable"
}