Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

obrazovka · složená ze sady komponent

Architektura

Jeden repozitář.Mnoho rozhraní.

Majordomus objeví repozitář jednou, načte ho do typovaných modelů a z nich odvodí svá rozhraní: HTTP API a jeho popis OpenAPI, Swagger UI, MCP, generické stránky Cockpitu a tento web. Příkazová řádka je deklarována podruhé, v clap, a kontrolována proti registru.

“Objevte a modelujte fakt jednou a odvoďte z něj každé rozhraní.”
docs/SURFACES.md · invarianta

Repozitář

Sledovaný strom je zdroj pravdy

prismatic-majordomus/

  • .ai/vrstva: politika, pravidla, ADR, dovednosti
  • apps/spustitelný soubor v Rustu a jeho schopnosti
  • bin/vstupní body
  • lib/shellový nástroj
  • share/druhy, schémata, design
  • docs/manuály a generované dokumenty
  • test/případy
  • site/tento web a data odvozená pro něj
  • justfilepracovní postupy

RepositoryEnvironment

jedna typovaná hodnota, sestavená jedním resolverem

  1. projektmanifest crate
  2. repozitář.ai/manifest.yaml
  3. vcsjeden git status
  4. toolchainymanifesty, které je deklarují
  5. vrstvaindex, spočtený podle druhu
  6. workflowjust --dump
  7. providersprojekce politiky
  8. službykonstanty tras a lease

Klíčové principy

  • Jedna deklaraceMCP, HTTP a OpenAPI se z ní sestavují; CLI se kontroluje proti ní
  • Objevenovyjmenováno přes sources.yaml, nikdy ručně nezaregistrováno
  • Typovanéobjekt, který neprojde validací, je diagnostika
  • Deterministickédokument OpenAPI: mapy řazeny, žádné časové razítko
  • Původkaždé pole jmenuje, odkud pochází
  • Zkontrolovánoruční úprava odvozeného souboru se odmítne nebo ohlásí
1

Zjišťování

Výčet řízený deklarací

  • Kořenexecutable najde repozitář
  • Manifest.ai/manifest.yaml pojmenovává vrstvu
  • Druhy a schématashare/kinds.yaml a share/schemas/
  • Zdrojetřídy sources.yaml, čtené z indexu gitu
  • Diagnostikasoubor, který neprojde validací, je vyloučen a jmenován
2

Kanonický model

Typované, s původem

environment/mod.rs
RepositoryEnvironment {
  schema, generated_at,
  resolution,
  project, repository,
  vcs,
  toolchains: [ .. ],
  layer, workflows,
  providers: [ .. ],
  services: [ .. ],
  reasoning?,
  diagnostics: [ .. ],
  provenance: [ .. ],
}

Vyřešeno plně nebo rychle; oba vytvářejí stejný typ a hodnota, kterou nic nevyřešilo, chybí, nikdy není nula.

3

Odvozená rozhraní

Stejný registr, každé rozhraní

PovrchKde
CLImajordomus
HTTP/api/v1/
OpenAPI/openapi.json
Swagger/swagger
MCPmajordomus mcp
Cockpit/cockpit
DokumentyGitHub Pages

201 operací v 58 modulech, popsaných jedním dokumentem OpenAPI.

4

Zpětnovazební smyčka

Zjistit, regenerovat, zkontrolovat

  1. Strom se hýbe
  2. Index přestavěn
  3. majordomus generate
  4. derive-check
model

Prohledává názvy a popisy všech stránek, které tento web publikuje.