Konfiguracja Monolynx: która zmienna w którym pliku

Gdzie zapisać zmienne MONOLYNX_*: plik śledzony, plik osobisty czy środowisko procesu. Tabela wartości domyślnych, przykłady dla sprintu i pracy ręcznej oraz modele przypisane do ról.

Zespół Monolynx Zaktualizowano 2026-10-09 Zweryfikowano 2026-10-08 11 min czytania
Spis treści

Gdzie zapisać zmienną, żeby zadziałała?

Plugin czyta ustawienia ze zmiennych środowiskowych o nazwach zaczynających się od MONOLYNX_. Claude Code wstawia je do środowiska sesji z pola env w plikach ustawień projektu. O tym, czy zmienna dotrze do sesji, decyduje miejsce zapisu.

Miejsce Kto je widzi Do czego służy
.claude/settings.json każda sesja w repozytorium, także sesja w tle i każdy członek zespołu ustawienia wspólne projektu
.claude/settings.local.json tylko sesje uruchomione w Twoim głównym katalogu repozytorium, w tym dyspozytor ustawienia osobiste i tymczasowe
Środowisko procesu proces, w którym ustawisz zmienną, i wszystko, co on uruchomi ustawienia na czas jednego przebiegu, na przykład sprintu
Która zmienna dociera do sesji ticketu w tle

Dyspozytor startuje sesję ticketu w osobnym worktree. Do tej sesji docierają dwie rzeczy: plik śledzony przez gita, bo jest częścią repozytorium, oraz środowisko procesu dyspozytora, bo sesja je dziedziczy. Plik osobisty jest ignorowany przez gita, więc w worktree go nie ma.

flowchart TD
  A[".claude/settings.json (śledzony)"] --> D["Sesja ticketu w worktree"]
  B["Środowisko dyspozytora"] --> D
  C[".claude/settings.local.json (osobisty)"] -. "nie dociera" .-> D
  C --> E["Twoja sesja w głównym katalogu"]
  A --> E
3miejsca zapisu zmiennej
5flag autonomii, wszystkie domyślnie wyłączone
3zmienne, których nie wolno wpisać do pliku śledzonego

Co wpisać do pliku śledzonego?

Do pliku śledzonego trafia wszystko, co ma działać tak samo u każdego i w każdej sesji: nazwa projektu i zgody na samodzielne kroki.

.claude/settings.json: projekt prowadzący sprinty z agentami
{
  "env": {
    "MONOLYNX_PROJECT_SLUG": "twoj-projekt",
    "MONOLYNX_CONTRACT": "auto",
    "MONOLYNX_AUTOTEST": "true",
    "MONOLYNX_AUTOCOMMIT": "true",
    "MONOLYNX_AUTOPUSH": "true",
    "MONOLYNX_AUTOMR": "true"
  }
}

Trzy z tych flag są warunkiem startu sprintu. Bez MONOLYNX_AUTOTEST, MONOLYNX_AUTOCOMMIT i MONOLYNX_AUTOPUSH dyspozytor nie uruchomi żadnej sesji. MONOLYNX_AUTOMR jest zalecana: bez niej branch ticketu zostaje wypchnięty, ale merge request tworzysz sam.

Projekt, w którym pracujesz ręcznie

Bez sprintu z agentami wystarcza znacznie mniej. Poniższy przykład zostawia Ci commit i push, a oddaje agentowi tylko lint i testy.

.claude/settings.json: praca ręczna, ticket po tickecie
{
  "env": {
    "MONOLYNX_PROJECT_SLUG": "twoj-projekt",
    "MONOLYNX_AUTOTEST": "true"
  }
}

Czego nie wpisywać do pliku śledzonego?

Trzy zmienne opisują jeden przebieg, a nie projekt. Wpisane do pliku śledzonego trafiłyby po merge do każdej sesji każdej osoby.

Zmienna Gdzie ją ustawić Co by się stało w pliku śledzonym
MONOLYNX_MR_TARGET środowisko dyspozytora albo plik osobisty po zakończeniu sprintu tickety dalej szłyby do starego brancha sprintu
MONOLYNX_BASE_BRANCH zwykle nigdzie; wystarcza MONOLYNX_MR_TARGET to samo co wyżej
MONOLYNX_SPRINT_RUN nigdzie; dyspozytor dopisuje ją sam do komendy startu sesji każda zwykła sesja zachowywałaby się jak sesja w tle i zamiast pytać, odmawiała
Branch sprintu ustawiony w środowisku dyspozytora
$ git switch sprint/eksport-zamowien
$ export MONOLYNX_MR_TARGET=sprint/eksport-zamowien
$ claude
> /loop 15m /monolynx:sprint-run

Sesje ticketów startowane przez dyspozytora dziedziczą jego środowisko, więc każda z nich wie, do którego brancha ma otworzyć merge request. Plik osobisty działa tu tylko pośrednio: czyta go sesja dyspozytora w głównym katalogu i przekazuje wartość dalej, a sama sesja ticketu tego pliku nie widzi. Najpewniejszy jest export w terminalu, z którego startujesz pętle. Kolejka mr-queue bierze branch docelowy z samego merge requesta, więc w jej oknie zmienna nie jest potrzebna. Jeśli ją tam ustawisz, musi mieć tę samą wartość. Katalog, z którego startujesz dyspozytora, musi stać na tym samym branchu, bo worktree ticketu powstaje z jego bieżącego commita.

Zmienne i ich wartości domyślne

Poniższe tabele zbierają zmienne, których używa się najczęściej. Kolumna "Domyślnie" mówi, co się stanie, gdy zmiennej nie ustawisz.

Projekt i zgody

Zmienna Domyślnie Co zmienia
MONOLYNX_PROJECT_SLUG brak nazwa projektu na platformie; bez niej komenda pyta
MONOLYNX_AUTOTEST false true: agent sam uruchamia lint i testy
MONOLYNX_AUTOCOMMIT false true: commit po zielonych testach
MONOLYNX_AUTOPUSH false true: push bez pytania
MONOLYNX_AUTOMR false true: merge request po pushu; działa tylko razem z dwiema poprzednimi
MONOLYNX_AUTOMERGE false true: kolejka merguje gotowy merge request bez pytania
MONOLYNX_CONTRACT ask auto: kontrakt autonomii jest zapisywany, a praca idzie dalej bez potwierdzenia

Branche

Zmienna Domyślnie Co zmienia
MONOLYNX_MR_TARGET domyślny branch repozytorium branch, do którego idzie merge request ticketu
MONOLYNX_BASE_BRANCH wartość MONOLYNX_MR_TARGET branch, z którego powstaje branch ticketu
MONOLYNX_BRANCH_MODE ticket kontrola nazwy brancha: ticket wymaga klucza ticketu w nazwie, sprint dopuszcza jeden branch na cały sprint, off wyłącza kontrolę
MONOLYNX_MERGE_METHOD merge sposób merge w kolejce: merge, squash albo rebase; wykonuje go platforma w chwili merge

Sprint i pętle

Zmienna Domyślnie Co zmienia
MONOLYNX_SPRINT_PARALLEL 2 liczba sesji ticketów pracujących jednocześnie
MONOLYNX_SPRINT_MAX_WAITING 2 limit sesji czekających na człowieka; po jego osiągnięciu dyspozytor nie startuje nowych
MONOLYNX_SPRINT_STALL_TICKS 2 po tylu tickach bez zmiany w logu sesja jest uznawana za czekającą
MONOLYNX_SPRINT_PERMISSION_MODE auto tryb uprawnień sesji w tle
MONOLYNX_SPRINT_RUNTIME claude klient prowadzący sprint: claude albo codex

CLI i skrypty CI

Plugin, CLI i skrypty CI czytają różne zmienne, choć część z nich niesie tę samą informację. Nazwę projektu plugin bierze z MONOLYNX_PROJECT_SLUG, a CLI z MONOLYNX_PROJECT.

Zmienna Kto ją czyta Co zmienia
MONOLYNX_PROJECT_SLUG komendy pluginu, skrypty w cicd/ nazwa projektu na platformie
MONOLYNX_PROJECT CLI monolynx nazwa projektu dla komend CLI; to samo co flaga --project
MONOLYNX_ENDPOINT CLI monolynx adres instancji; domyślnie https://monolynx.com
MONOLYNX_URL skrypty w cicd/ adres instancji; domyślnie https://monolynx.com
MONOLYNX_TOKEN CLI monolynx token API zamiast logowania; przydatny w CI
MONOLYNX_PROFILE CLI monolynx nazwany profil konfiguracji CLI
MONOLYNX_GRAPH_TOKEN cicd/sync_graph.py token synchronizacji grafu kodu; bez niego etap jest pomijany
MONOLYNX_MCP_TOKEN cicd/wiki_post_merge.py, ręczna konfiguracja MCP token dostępu do serwera MCP

Pozostałe

Zmienna Domyślnie Co zmienia
MONOLYNX_TRANSPORT brak mcp: komendy pomijają CLI i pracują tylko przez MCP
MONOLYNX_BRIEF_GUARD auto reakcja na gołe polecenie: auto proponuje kontrakt, block odrzuca, off wyłącza
MONOLYNX_MUTATION_BUDGET 600 limit czasu testów mutacyjnych w sekundach; 600 to maksimum
Zmienne, których zwykle nie ruszasz
Zmienna Domyślnie Co zmienia
MONOLYNX_SPRINT_RUN_MODE brak batch ustawia sam skrypt pętli; nie ustawiaj ręcznie
MONOLYNX_SPRINT_TICK_ALLOWED_TOOLS lista wbudowana narzędzia dozwolone dla ticku w skrypcie pętli
MONOLYNX_SPRINT_CODEX_SANDBOX workspace-write piaskownica klienta Codex
MONOLYNX_HOOK_ASK_UNSUPPORTED false true: strażnik komend odmawia zamiast pytać; dla klientów, które pytania nie obsługują

Pełną tabelę zawiera plik README pluginu, sekcja "Zmienne konfiguracyjne".

Modele i koszt

Proces uruchomiony bez wskazania modelu bierze domyślny model Twojego konta, a subagent dziedziczy model sesji, która go powołała. Oba zachowania są ciche i prowadzą do tego samego: cały sprint pracuje na najdroższym modelu. Plugin ustawia więc model każdej roli jawnie.

Rola Model domyślny Jak zmienić
Dyspozytor w skrypcie sprint_run.sh opus MONOLYNX_SPRINT_TICK_MODEL
Dyspozytor w pętli /loop model Twojej sesji /model w tej sesji
Koordynator ticketu w tle opus MONOLYNX_SPRINT_MODEL
Koordynator ticketu uruchomiony ręcznie model Twojej sesji /model w tej sesji
Agent rozpoznający kod sonnet treść komendy work
Programista i tester model z definicji agenta, a bez niej sonnet pole model w definicji agenta
Krytyk opus treść komendy work

Jak sprawdzić, co jest ustawione?

Nie musisz czytać plików ręcznie. Komenda /monolynx:setup pokazuje każdą flagę z trzech źródeł naraz i ostrzega, gdy flaga jest ustawiona w miejscu, którego sesja w tle nie zobaczy.

  1. Uruchom checklistę

    Wpisz /monolynx:setup w katalogu projektu.

  2. Przeczytaj punkt o flagach

    Każda flaga ma wartość i źródło: środowisko, plik śledzony albo plik osobisty.

  3. Przenieś zgody do pliku śledzonego

    Flagi autonomii z pliku osobistego wpisz do .claude/settings.json i zatwierdź zmianę w gicie.

  4. Sprawdź branch

    Gdy MONOLYNX_BASE_BRANCH i MONOLYNX_MR_TARGET są różne, usuń pierwszą.

Najczęstsze pytania

Czy zmienną mogę ustawić zwykłym export w terminalu?

Tak, jeśli z tego samego terminala uruchamiasz potem Claude Code albo skrypt pętli. Zmienna działa do zamknięcia terminala. Dla ustawień trwałych użyj pliku.

Dlaczego sesja w tle nie widzi mojego pliku osobistego?

Sesja w tle pracuje w osobnym katalogu roboczym utworzonym przez gita. Git kopiuje tam tylko pliki, które śledzi, a plik osobisty jest ignorowany.

Co się stanie, gdy nie ustawię żadnej zmiennej poza nazwą projektu?

Komendy będą działać w trybie zachowawczym. Agent napisze kod, a potem wypisze polecenia testów, commita i pusha i poczeka, aż wykonasz je sam.

Czy tańszy model dla koordynatora to dobry pomysł?

Koordynator podejmuje decyzje o podziale pracy i ocenia wyniki, więc oszczędność na nim zwykle wraca jako dodatkowe rundy poprawek. Bezpieczniej oszczędzać na rolach wykonawczych, które już domyślnie używają tańszego modelu.

Po sprincie zmieniam branch docelowy. Co muszę posprzątać?

Zmienną MONOLYNX_MR_TARGET ze środowiska albo z pliku osobistego. W pliku śledzonym nie powinno jej być, więc tam nie ma czego sprzątać.

Słownik i następny krok

Plik śledzony
plik zapisany w repozytorium gita, widoczny w każdej kopii roboczej
Plik osobisty
plik ignorowany przez gita, obecny tylko w Twoim katalogu
Środowisko procesu
zmienne dostępne dla uruchomionego programu i programów, które on uruchomi
Flagi autonomii
zmienne MONOLYNX_AUTO*, czyli Twoje zgody na samodzielne kroki agenta
Worktree
osobny katalog roboczy tego samego repozytorium, w którym pracuje sesja ticketu
Kontrola wstępna
sprawdzenie konfiguracji na początku ticku dyspozytora

Konfigurację od zera prowadzi wpis Pierwszy projekt w Monolynx. Objawy błędnej konfiguracji i ich naprawę zbiera wpis Gdy coś nie działa w Monolynx. Wszystkie komendy w jednym miejscu pokazuje Mapa pluginu Monolynx.

Konfiguracja gotowa? Zobacz, jak wygląda sprint prowadzony przez agentów od planu do zamknięcia.

Przeczytaj przewodnik po sprincie