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.

Katalog

registry případů užití a aplikací: k čemu slouží, čím se liší od stránek „proč“, schéma a jak je rozšířit

Vykresleno z docs/CATALOGUE.md — stejný Markdown, jaký ukazuje GitHub.

Tři seznamy říkají, k čemu nástroj je, ze tří úhlů, a každý z nich jsou data, která nástroj kontroluje:

listotázka, na kterou odpovídákde
případy užitíjakou úlohu člověk provádí a dělá ji nástroj.ai/repo/use-cases/<id>.md
aplikacedo jakého kontextu nástroj zapadá a kam ne.ai/repo/applications/<id>.md
commandsco dělá jeden příkaz, flag po flagushare/commands.yaml, docs/CLI.md

Stránka why je okamžik, který poznáte; případ užití je úloha, kterou provádíte; aplikace je kontext, kterému vyhovuje; stránka příkazu je povrch jednoho příkazu.

Proč jsou to data

Psané jako próza se nic z toho nedá ověřit: případ užití by mohl jmenovat příkaz, který byl přejmenován, pravidlo, které nikdy nebylo vynucováno, slib, který nikdo netestuje, a stránka by to říkala sebejistě. Jako objekty vrstvy se každý odkaz vyřeší, jinak build selže: příkaz proti dispatch tabulce, pravidlo proti registru doktrín, tvrzení proti docs/CLAIMS.yaml, odpovědnost proti docs/RESPONSIBILITIES.yaml, aplikace proti případům užití, které jmenuje, a zpět, kategorie proti taxonomii. majordomus doctor použije stejnou kontrolu pod majordomus.catalogue-integrity, takže visící odkaz se nemůže dostat na publikovaný web.

A případ užití je víc než popis: nese scénář, který nástroj provádí proti sobě samému, a stránka toto provedení ukazuje. docs/USE_CASES.md je smlouva; tento dokument je mapa.

Objekty

Případ užití (share/schemas/majordomus/use-case/use-case.v1.schema.json):

---
id: prove-a-rule-is-enforced          # the file name, the URL slug
kind: use-case
title: '...'
summary: '...'
category: policy                       # an id of taxonomy.yaml
status: active                         # active | draft | deprecated
target: guaranteed                     # what the author aims at; the maturity is observed
actors: [maintainer, reviewer]
difficulty: intermediate
commands: [doctrine, doctor]           # bin/majordomus dispatches each
doctrines: [majordomus.enforcement-wiring]
claims: [dispatcher-wiring]
responsibilities: [doctor]
applications: [ci-gated-project]       # each names this use case back
scenario:                              # setup, given, steps (run, expect), then
  ...
---
# Situation
# Outcome

Aplikace (share/schemas/majordomus/application/application.v1.schema.json): id, kind: application, title, summary, fits_when, does_not_fit_when (obojí povinné: katalog, který jen vypisuje shody, je marketing), use_cases (vzájemné), doctrines, responsibilities a tělo s # Context.

Taxonomie (.ai/repo/use-cases/taxonomy.yaml): kategorie s titulkem, shrnutím a pořadím. Členství určuje category každého případu užití; kategorie bez případu užití vykreslí prázdnou stránku a nic nepočítá.

Dvě pravidla

Křížové odkazy jsou vzájemné: případ užití pojmenovává své aplikace a každá aplikace pojmenovává jeho zpět a odkaz, který se překládá jen jedním směrem, je odmítnut.

does_not_fit_when je povinné. Aplikace, která jen říká, kam zapadá, není popis.

Jak ji rozšířit

Přidejte soubor. majordomus usecase validate jej vyřeší, majordomus usecase run <id> jej provede, scripts/generate-site-data přegeneruje data, trasu, kategorii, křížové odkazy, související odkazy každé další stránky a tabulku pokrytí. Není co upravovat v šabloně ani co aktualizovat v seznamu; přegenerovaná data commitněte se souborem. majordomus usecase scaffold napíše koncept pro schopnost, kterou žádný případ užití nepokrývá.

Co se kontroluje a co ne

Rozlišení se kontroluje; provádění se kontroluje; přesnost vyprávění je úsudek člověka. Případ užití, jehož scénář tvrdí málo, prokazuje málo, a recenzent čte prózu proti důkazům vedle ní.

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