Majordomus je adresář ve vašem repozitáři plus CLI v přenositelném shellu. Nemusíte spouštět žádný server ani zakládat účet. Kroky níže jsou ty, které cvičí testy samotného nástroje.
Začínáme
Od ničeho k řízenému repozitáři. Každý příkaz níže existuje v referenci CLI; nic z toho není cíl.
1 Nainstalujte CLI
jednou na stroj curl -fsSL https://majordomus.dev/install.sh | shJeden archiv pro váš stroj, jeho otisk ověřený před rozbalením, do
$HOME/.local/bin. Připnutí verze, volba místa a bezpečnostní model →2 Přidejte ho do repozitáře
ve vašem projektu majordomus init majordomus update majordomus doctorinitzapíše.ai/a odmítne přepsat již existující.updatez politiky generujeAGENTS.md,CLAUDE.md,GEMINI.md.doctorvypíše 2 řádky hooků, které stále chybějí; přidejte je a spusťte znovu, dokud nehlásí nula selhání.3 Zahájit úlohu s rozsahem
na úlohu majordomus start "fix OAuth callback" --scope lib/auth --profile debuggingRozsah je množina cest, kterých se pracovník smí dotknout. Profil má výchozí hodnotu
implementation. Pole identity se počítají z gitu; pracovník je nikdy nezapisuje.4 Práce, checkpoint, kontrola
během úlohy majordomus check --checkpoint majordomus check --explain # the effective policy and profileSoubor mimo rozsah je selhání, ne varování. Zastaralý checkpoint je varování a nikdy neblokuje.
5 Předejte nebo dokončete
konec relace printf '# Objective\ …\ # Current State\ …\ # Next Action\ …\ ' | majordomus handover # or majordomus finish --outcome completed --verify-command "make test"Požadované sekce předávky:
# Objective,# Current State,# Next Action.finishvyhodnotíscope_respected,verification_ran,state_updated,no_open_blockers,note_presenta nezapíše nic, když některý řádek selže.
stateDiagram-v2
[*] --> active: start
active --> active: check --checkpoint
active --> handed_over: handover --close
handed_over --> [*]: next start archives the record
active --> completed: finish --outcome completed
completed --> [*]
active --> partial: finish --outcome partial
partial --> [*]
active --> blocked: finish --outcome blocked
blocked --> [*]
active --> no_match: finish --outcome no_match
no_match --> [*]
active --> failed: finish --outcome failed
failed --> [*]