Skip to content

Component kit

One vocabulary.Every screen.

The components every page of this site is composed of: tones, atoms, panels, lists, terminals, tabs, a dashboard and diagrams. Each is shown here rendered from the repository's own data, written once in share/design/kit.css and site/templates/kit/.

“A page says what a thing is — a badge, a table, a code block, a card — and this file says how that thing looks.”
share/design/primitives.css

01 / tones

Tones

Hues that carry identity and never meaning: the colour of a step, of one surface's card, of one kind in a cloud of kinds. A tone is a class; every component reads it through the same four properties.

  • 1 blueGET

    the first step of a sequence; the tone of the CLI, the files a repository holds

    .mj-tone--blue
  • 2 violetGET

    the second step; the tone of the typed model and of the API

    .mj-tone--violet
  • 3 greenGET

    the third step; the tone of the derived surfaces

    .mj-tone--green
  • 4 orangeGET

    the fourth step; the tone of what is presented and fed back

    .mj-tone--orange
  • 5 roseGET

    a fifth hue for a vocabulary longer than four, such as a cloud of kinds

    .mj-tone--rose
  • 6 cyanGET

    a sixth hue for a vocabulary longer than five

    .mj-tone--cyan

02 / atoms

Atoms

Buttons, glyphs, steps, words of a vocabulary and state words. A state word is coloured by the status it is filed under in share/design/tokens.yaml, and by nothing else.

healthyrunningstoppedfailedpendingdeclared
passedfailedrunningdraft

03 / page heading

Hero, quote and section head

The top of this page is the hero; its aside takes a quote, a terminal or a row of claims. A section head is what opens each section below.

“a projection of durable state, not a source of truth: validate every line against git”
majordomus context

kicker

A section title

A lead that says in one sentence what the section holds.

04 / containers

Panels and stages

The container every block sits in, plain, toned or quiet, and a row of stages joined by arrows that reads left to right on a wide screen and top to bottom on a narrow one.

1

Declare

share/design/tokens.yaml decides every value

Stage 1 of 4.

2

Generate

majordomus generate design projects it

Stage 2 of 4.

3

Check

scripts/ci/design-check refuses drift

Stage 3 of 4.

4

Wear

every surface imports the projections

Stage 4 of 4.

05 / lists

Trees, points, routes, tiles

What a repository holds, what a page promises, which interface does what, and where to go next.

Repository

What the layer reads

prismatic-majordomus/

  • .ai/the layer: policy, rules, prompts, workflows
  • apps/the Rust executable
  • docs/decisions, manuals and generated documents
  • share/the distribution: schemas, design, kinds
  • site/this website, derived from the rest
  • test/the cases
    • cases/527 test objects
  • justfilethe recipes a person runs

Guarantees

Points, ruled

  • One declarationevery surface reads the same registry
  • Deterministicthe same input projects the same bytes
  • Enforceda rule that is declared has a gate
  • Extensiblea capability is declared once and projected

Interfaces

Routes, described

  • Command linemajordomus brief
    Local workevery capability as a command
  • HTTP APIGET /api/v1/brief
    Programmatic accessJSON, described by OpenAPI
  • MCPmajordomus_brief
    Tools for agentsthe same capability as a tool
  • Documentationhttps://majordomus.dev/docs/ This sitegenerated from the repository
187 rules in the layerregistry.json · index.by_kind
117 decisions in the layerregistry.json · index.by_kind
527 test objects in the layerregistry.json · index.by_kind
49 use cases in the layerregistry.json · index.by_kind
  • Regeneratednever edited by hand
  • Checkedby gates in CI
  • One sourcethe layer under .ai/
  • For people and agentsthe same contract

A table of rows

The first operations of the brief tag
pathmethodwhat it does
/api/v1/briefGETThe session brief

Every kind the layer holds

A cloud of words, each on the tone of its place in the list; from the registry's index.

  • adr
  • application
  • area
  • audience
  • claim
  • command
  • context
  • critique
  • deployment
  • derive-offload
  • distribution-model
  • document
  • domain
  • feature
  • gap
  • implementation
  • intent
  • issue
  • knowledge
  • mesh-declaration
  • milestone
  • moment
  • policy
  • profile
  • prompt
  • release-record
  • rule
  • scope
  • session
  • skill
  • taxonomy
  • test
  • use-case
  • workspace
  • One sourcethe layer under .ai/
  • Derivedregenerated, never edited
  • Checkedgates in CI
  • Discoverednothing registered by hand
  • For people and agentsthe same contract

06 / code

Terminal, commands, tabs, operations

A transcript the generator recorded, a structured block of output, commands with copy buttons, a tab strip in three looks, and operations read from the API's own description.

$ majordomus start 'the follow-up' --scope lib
started t-<id>  profile=implementation  scope=lib
INFO handover    .ai/local/state/handovers/<time>--main--<head>--<hash>.md — prior record, same_worktree_same_branch, exact, <age> ago  [reproduce: majordomus handover --resolve]
next: majordomus context; checkpoint every 15m; majordomus check before claiming anything
Prismatic Majordomusv0.29.0
rules
187
decisions
117
skills
8
commands
31
from site/data/registry/registry.json

Commands

Copy buttons appear when the script runs; a listing is read, not run

design.json · tones
[
  {
    "about": "the first step of a sequence; the tone of the CLI, the files a repository holds",
    "class": ".mj-tone--blue",
    "dark": "oklch(70.7% 0.165 254.624)",
    "light": "oklch(48.8% 0.243 264.376)",
    "name": "blue"
  },
  {
    "about": "the second step; the tone of the typed model and of the API",
    "class": ".mj-tone--violet",
    "dark": "oklch(70.2% 0.183 293.541)",
   …
  • majordomus context
  • majordomus check
  • majordomus brief

The session brief

One capability, three surfaces

CLI

majordomus brief

HTTP

GET /api/v1/brief
curl -s "http://127.0.0.1:8741/api/v1/brief?session=00000000-0000-0000-0000-000000000000&checkouts=this&local=true"

MCP

majordomus_brief

Overview

The overview panel of a segmented strip.

Inspect

The inspect panel of a segmented strip.

Run

The run panel of a segmented strip.

Overview

The overview panel of a pills strip.

Inspect

The inspect panel of a pills strip.

Run

The run panel of a pills strip.

Operations

The brief operations, from the API's own description

GET/api/v1/briefThe session brief

One line and a few: this session's episode and task (the one the given provider session owns, else the pointer's), the peers of every board with the boards that could not be read n…

07 / dashboard

A control plane, pictured

A window with its navigation, counts, a series, what changed and the actions a person takes. The Cockpit is rendered by the executable; these are for a page that describes it.

Repository overview

from the generated registry
  • Rules187
  • Decisions117
  • Tests527
  • Features29

Decisions per release

oldest first, from the changelog

Quick actions

Changes in 0.29.0

The layer

  • rules187
  • decisions117
  • tests527
  • use cases49
  • Index ok
  • Diagnostics clean

08 / documentation

Trail, search, contents, flow

The parts of a documentation page: where it is, how to find another, what it holds, and the steps of a first run. The contents at the side of this page is the table-of-contents component, marking the section you are reading.

  1. 1

    Install

    one archive, its digest verified

    • curl -fsSL https://majordomus.dev/install.sh | sh
  2. 2

    Supervise

    writes .ai/ and nothing else

    • majordomus init
  3. 3

    Project

    every bootstrap from the policy

    • majordomus update
  4. 4

    Brief

    what the repository already knows

    • majordomus context

09 / diagrams

Stack, fan and cycle

Drawn from the data they are handed, with no script: a fan's curves are computed from how many rows each side has, and on a phone the parts stack with an arrow between them.

  • .ai/policy, rules, prompts
  • docs/decisions and manuals
  • share/schemas and the design
  • test/cases/the cases

share/design/tokens.yaml

one declaration, read as a typed model

  1. palettethe raw colours
  2. rolesthe semantic surface
  3. statusfive meanings and their words
  4. toneshues for identity
  5. type · layout · motionthe shared measures
  • Command linemajordomus
  • HTTP API/api/v1/
  • Swagger UI/swagger
  • Cockpit/cockpit
  • MCPmajordomus mcp
  • This siteGitHub Pages
  • Annotated

    a card points at what it describes

  • Straight wires

    one per card, at the card's height

$ majordomus check --explain
# task
  id=t-<id>
  task=narrow the parser
  profile=implementation
  owner=<owner>
  scope.0=lib
  started_at=<time>
  checkpoint_at=<time>
  outcome=active
  repository_id=<repo>/.git
  worktree=<repo>
  branch=main
  head=<sha>
  working_tree=clean
# profile implementation
  name=implementation
  description=build …
  • Any centre

    a terminal, a window, a stack

  • Real output

    this transcript was recorded by the generator

  1. Edit tokens.yaml
  2. majordomus generate design
  3. design-check in CI
  4. Every surface wears it
The design

Points, on cards

the list beside a dashboard

  • Inferrednothing registered by hand
  • Ordereddeclaration order on every surface
  • Measuredevery colour pair against WCAG 2.1 AA

10 / screens

Screens composed of the kit

Whole pages built from nothing but these components, each rendering one of the page designs from this repository's own data.

Searches the titles and descriptions of every page this site publishes.