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.

Kontrakt repozitáře

Provozní smlouva tohoto repozitáře, sama generovaná příkazem majordomus update.

Vykresleno z AGENTS.md — stejný Markdown, jaký ukazuje GitHub.

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:

  1. přečtěte .ai/README.md a řiďte se jeho protokolem objevování,
  2. načte efektivní pravidla pod .ai/repo/rules/ a rozřeší jejich závislosti,
  3. načte jen dovednosti, workflow a znalosti, o kterých úloha je,
  4. 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.

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