Tento soubor je bootstrap, ne pravidelník. Co tento repozitář je, čtěte v README.md. Poskytovatelsky neutrální AI kontext a vrstva správy žijí pod .ai/ a vše normativní je tam.
Před věcným plánováním, implementací, recenzí nebo změnou repozitáře:
- přečtěte
.ai/README.mda řiďte se jeho protokolem objevování, - načte efektivní pravidla pod
.ai/repo/rules/a rozřeší jejich závislosti, - načte jen dovednosti, workflow a znalosti, o kterých úloha je,
- nikdy nenačítejte
.ai/local/implicitně; je to vlastní stav tohoto checkoutu, ne kontext.
Tento repozitář je dozorován Majordomus. Před prací spusťte majordomus context, životní cyklus úlohy převezměte z .ai/repo/workflows/task-lifecycle.md a počítejte s tím, že check a finish odmítnou práci mimo rozsah úlohy. Výchozí profil je implementation; interval checkpointu, který nastavuje, je 15m.
Než začnete pracovat pod cestou, spusťte majordomus context resolve <path> (nebo si přečtěte řetěz README.md od .ai/ dolů k tomuto adresáři): každý dokument přidává k svým předkům a nejbližší je nenahrazuje. Vlastní vnořené načítání souborů poskytovatele je optimalizace; platí vyřešení Majordomu.
Tento repozitář obsluhuje svou vrstvu .ai/ přes MCP. Konfigurace klientů v kořeni (.mcp.json pro Claude Code, .gemini/settings.json pro Gemini CLI, .codex/config.toml pro Codex) spouštějí bin/majordomus-mcp, které v případě potřeby sestaví spustitelný soubor v Rustu a spustí majordomus mcp: jeden sdílený server na repozitář, Swagger UI na URL, kterou loguje na stderr, a každý připojený klient viditelný pro ostatní. Preferujte jeho nástroje majordomus_* před ručním čtením .ai/ a volejte majordomus_announce se svým záměrem a cestami, kterých se chystáte dotknout, aby se vám ostatní klienti (Claude, Codex, Gemini, ...) mohli vyhnout. Povrch je docs/MCP.md; just vypisuje recepty, které spouští člověk.
Nikdy nepřidávejte ani neměňte operaci Rust programu úpravou transportního registru, definice OpenAPI či Swagger, inventáře měření ani tabulky v dokumentaci: změňte kanonickou deklaraci capability! nebo modulu pod apps/majordomus-cli/src/capability/builtin/ a spusťte majordomus generate; opakovaná sémantická definice napříč projekcemi je návrhová vada (docs/CAPABILITIES.md, ADR 0004).
Nová automatizace repozitáře je typovaná nebo skriptovaná schopnost (ADR 0069), ne shell; majordomus shell check odmítne shellovou jednotku, kterou .ai/repo/automation/ nevyjímá.
Podstatná inženýrská nejistota se řeší přes majordomus reasoning (ADR 0098, docs/REASONING.md): zaznamenat posouzení s jeho důkazy, nechat scripts/advisor-consult oslovit ty volitelné poradce, které plán vybere, vyřešit neshodu experimentem místo počtem hlasů, zaznamenat závěr a pokračovat. Žádný poradce není potřeba; chybějící je hlášený stav, nikdy důvod k zastavení nebo k dotazu na člověka, co dělat.
Schopnost, kterou přidáte nebo změníte, má případy užití: spusťte majordomus usecase impact a scénáře, které jmenuje, a mezeru v pokrytí (majordomus usecase coverage) uzavřete případem užití, který se provede (.ai/repo/workflows/use-cases.md); finish odmítne požadovanou mezeru.
Pravděpodobně nejste sami. Server obsluhuje checkout, ve kterém byl spuštěn, a linked worktree je checkout s vlastním serverem, takže tento repozitář má tolik serverů, kolik worktree se používá. Nástěnka je však repozitáře: majordomus_peers sesbírá nástěnku každého checkoutu a předá vám každého workera tohoto repozitáře, každého označeného worktree, ve kterém pracuje (ADR 0044). Zkontrolujte complete — false znamená, že se checkout nepodařilo zeptat, a boards říká který a proč; krátká nástěnka není důkaz, že tam nikdo není. Oznamte, co děláte a kterých cest se chystáte dotknout, pomocí majordomus_announce, než začnete — a znovu vždy, když se spojení obnoví, protože oznámení patří spojení a worker, který se znovu připojí, si ponechá svou práci, ale ztratí své místo na nástěnce. Id peeru (p1, p2) je pozice na jedné nástěnce, při opětovném připojení se přidělí znovu a každá jiná nástěnka ji znovu používá: nikdy podle něj nekorelujte workera v čase — checkout, který peer nese, je trvalá polovina jeho identity. Přečtěte si nástěnku, než otevřete mandát a než rozvětvíte práci: dva workeři postavili ten samý subsystém za jedno odpoledne, protože se nikdo nepodíval. Zde oznámený rozsah je claim, ne zámek, a check --overlap jen hlásí; změnu odmítá vlastní rozsah úlohy, při check, při finish a v pre-push hooku.
Relace na jiných strojích jsou také dosažitelné, když repozitář zapne mesh (ADR 0067): propojené runtimy replikují relace, claimy, předávky a review a vaše oznámení na nástěnce cestují jako poradní claimy, aniž byste cokoli dělali. Když se práce nesmí napříč stroji překrývat, zabrání se jí výhradně přes majordomus_mesh_claim — odmítnutí pojmenuje claim, na který narazilo — kdo kde pracuje, uvidíte přes majordomus_mesh_peers, práci předáte jinému stroji přes majordomus_mesh_handover_publish a převezmete ji přes majordomus_mesh_handover_consume, o review požádáte přes majordomus_mesh_review_request. Nevymýšlejte jiný koordinační kanál mezi relacemi; pravidlem je project.mesh-cooperation-is-authenticated a příručkou docs/MESH.md.
Sledujte dění kolem sebe v jednom proudu místo dotazování každého povrchu: majordomus monitor --follow --for <your names> (MCP majordomus_monitor, Cockpit /cockpit/monitor) ukazuje relace, tvrzení, předávky a review na každém stroji, merge executoru a běhy GitHubu, s tím, co jmenuje vás, jako prvním a se sbaleným šumem heartbeatů; --until merged --match '#<pr>' počká na jednu událost a skončí. Příručka je docs/MONITOR.md.
Work moves through seats, and a seat is an exclusive mesh claim, never a name: one landing
seat lands every green head, alone, in combined tops merged pinned to the head CI judged; one
release seat releases whenever master holds landed work past the last tag; repair lanes merge
master into conflicting branches; a worker takes one issue to one pull request and lands its own
green head through the guarded lander's queue; at most five builders run on one machine
and none below 35 GiB free. A stale checkout or branch is preserved in a
refs/rescue/ ref and then brought current without asking. Who holds each seat is drawn on
/ui/mesh; the rule is project.the-cooperation-model-is-the-owners-word (ADR 0167).
Pushujte, co máte, brzy. Větev, jejíž commity nedosáhnou žádného vzdáleného serveru, je neviditelná pro každého jiného workera, nikdo kromě vás ji nemůže integrovat a je jeden disk od ztráty; majordomus doctor tyto větve jmenuje.
Než začnete implementovat něco nového — modul, skupinu příkazů, druh dokumentu, generovaný artefakt — spusťte scripts/collision-check --new <paths>, abyste viděli, které další větve už tyto cesty nesou, ne jen kdo podle nástěnky peers pracuje právě teď: větev pushnutá před začátkem této relace nenese oznámení a není méně nárokem. Oznamte pomocí majordomus_announce, jakmile jsou cesty volné, a oznamte identifikátor, který se chystáte přidělit — číslo ADR, číslo případu, id úkolu — nejen cesty: sken větví vidí, co bylo pushnuto, a nástěnka je jediná, která vidí číslo, které si dvě relace berou ve stejné minutě. Pravidlo je project.work-is-claimed-before-it-is-built.
Propojené git worktrees tohoto repozitáře žijí v <repository>-wt/<branch> — sourozenec primárního checkoutu pojmenovaný s -wt, poté název větve se zachovanou hierarchií — odvozené z gitu, nikdy nevybírané ani neregistrované; primární checkout hostí trunk. Před implementací spusťte majordomus worktree, abyste viděli, ve které větvi a worktree jste a zda tam větev patří; novou práci začněte pomocí majordomus worktree create <branch> a pokračujte v cestě, kterou vypíše; špatně umístěný worktree přeneste domů pomocí majordomus worktree migrate, místo abyste pokračovali tam, kde jste. Hook pre-commit odmítne feature větev commitovanou odkudkoli jinde než z jejího kanonického worktree. Pravidlem je project.worktree-topology; mechanismem docs/WORKTREES.md.
Adresář .majordomus/, pokud existuje, je volitelná instalace nástroje, ne kontext repozitáře. Nekopírujte sdílená pravidla do tohoto souboru: je generovaný a pravidlo, které existuje zde a nikde jinde, je chyba.