Co dokładnie zobaczysz w tym przebiegu?
Pozostałe wpisy opisują komendy pojedynczo. Tutaj idą po kolei, na jednym repozytorium i jednym tickecie, tak jak pierwszego dnia pracy z Monolynx.
| Etap | Kto działa | Co zostaje po etapie |
|---|---|---|
| 1. Repozytorium i projekt | Ty | repozytorium z plikiem .claude/settings.json, projekt sklep na platformie |
| 2. Konfiguracja | Ty i komenda setup |
strona wiki Toolchain |
| 3. Ticket | Ty i komenda ticket-create |
ticket SKL-1 z kryteriami akceptacji |
| 4. Praca agenta | komenda work-simple |
zmiana w kodzie, komentarze na tickecie, status Review |
| 5. Commit i merge request | Ty | branch w repozytorium i otwarty merge request |
| 6. Merge i zamknięcie | Ty | zmiana na gałęzi głównej, status Gotowe |
Najpierw powstaje repozytorium i projekt na platformie. Komenda setup sprawdza konfigurację, a project-toolchain zapisuje stronę z komendami lintu i testów. Komenda ticket-create tworzy ticket, a work-simple prowadzi agenta do statusu Review. Commit, push, merge request i merge wykonuje człowiek, po czym ustawia status Gotowe.
flowchart LR
A["git init"] --> B["Projekt i plugin"]
B --> C["setup i project-toolchain"]
C --> D["ticket-create"]
D --> E["work-simple"]
E --> F["commit, push, merge request"]
F --> G["merge"]
G --> H["Gotowe"]Etap 1: repozytorium i projekt
Repozytorium jest celowo małe: jedna funkcja i jeden test.
$ mkdir sklep && cd sklep && git init -b main
$ ls -R
pyproject.toml
sklep/__init__.py
sklep/koszyk.py
tests/test_koszyk.py
$ git add . && git commit -m "Start: suma zamówienia"
$ git remote add origin git@gitlab.com:twoja-firma/sklep.git
$ git push -u origin maindef suma_zamowienia(pozycje):
return sum(cena * ilosc for cena, ilosc in pozycje)Na platformie zakładasz projekt o nazwie sklep, ze slugiem sklep i kodem projektu SKL. Kod jest przedrostkiem kluczy ticketów, więc pierwszy ticket dostanie klucz SKL-1. Potem w sesji Claude Code instalujesz plugin i mówisz repozytorium, z którym projektem pracuje.
/plugin marketplace add https://gitlab.com/piotrkrych/monolynx.git
/plugin install monolynx@monolynx{
"env": {
"MONOLYNX_PROJECT_SLUG": "sklep",
"MONOLYNX_AUTOTEST": "true"
}
}Flaga MONOLYNX_AUTOTEST to jedyna zgoda w tym przebiegu. Pozwala agentowi samodzielnie uruchamiać lint i testy. Bez niej agent wypisywałby polecenia i czekał, aż wkleisz wynik.
Etap 2: konfiguracja projektu
Komenda /monolynx:setup pokazuje, czego brakuje. W nowym projekcie brakuje prawie wszystkiego, ale do pierwszego ticketu potrzebny jest tylko punkt 2.
> /monolynx:setup
| Punkt | Stan | Skill naprawczy |
| 1. Slug projektu | OK (sklep) | - |
| 2. Strona wiki toolchain | BRAK | /monolynx:project-toolchain |
| 3. LLM Wiki | BRAK | /monolynx:wiki-init |
| 4. Graf zależności w CI | BRAK | /monolynx:create-graph-ci-script |
| 5. Testy mutacyjne w CI | BRAK | /monolynx:create-mutation-ci-script |
| 6. Flagi MONOLYNX_* | INFO (1 jawnie ustawiona) | - |
| 7. CLI monolynx | BRAK (niezainstalowane) | - |
Które punkty naprawić?Wybierasz punkt 2. Komenda project-toolchain wykrywa stack z pliku pyproject.toml, pokazuje proponowane komendy i po Twoim potwierdzeniu zapisuje stronę.
## Lint
komenda: ruff check .
kto odpala: agent
## Test
komenda: pytest
kto odpala: agent
testy istnieja: tak
framework: pytest
pełny przebieg: lokalnie
## Worktree
lint: jak wyzej
test: jak wyzej
izolacja testów: takPełny format strony i znaczenie każdego pola opisuje wpis Strona toolchain i /monolynx:setup.
Etap 3: ticket
Komendzie ticket-create podajesz temat jednym zdaniem. Komenda czyta kod, dopytuje o szczegóły i zapisuje ticket o stałej budowie.
> /monolynx:ticket-create Rabat procentowy w sumie zamówienia
Ticket SKL-1 utworzony (2 SP, status: Backlog)
Kryteria akceptacji: 3## Cel
Funkcja suma_zamowienia przyjmuje opcjonalny rabat procentowy.
## Zakres
- parametr rabat_procent w suma_zamowienia, domyślnie 0
- błąd ValueError dla rabatu poza zakresem 0-100
## Pliki dotykane
- `sklep/koszyk.py`
- `tests/test_koszyk.py`
## Nie ruszac
- sposób zaokrąglania kwot
## Kryteria akceptacji
- suma bez rabatu nie zmienia się
- rabat 10 zmniejsza sumę o 10 procent
- rabat spoza zakresu 0-100 kończy się błędem ValueErrorSekcja "Nie ruszac" jest dla agenta równie ważna jak zakres. Mówi, czego nie poprawiać przy okazji.
Etap 4: praca agenta
Ticket ma 2 story points, więc wystarcza work-simple: jeden programista i krytyk. Komenda zaczyna od brancha.
> /monolynx:work-simple SKL-1
Jesteś na branchu main, który jest branchem bazowym.
Proponuję nowy branch z aktualnego main:
git checkout main && git pull origin main && git checkout -b feature-1-rabat-procentowyPo utworzeniu brancha komenda pokazuje plan i kontrakt autonomii, a ticket dostaje status W trakcie. Dalej praca idzie bez Twojego udziału.
- Plan
Koordynator zapisuje plan jako komentarz na tickecie.
- Implementacja
Programista zmienia
sklep/koszyk.pyi dopisuje testy wtests/test_koszyk.py. - Lint i testy
Koordynator uruchamia komendy ze strony
toolchain:ruff check .ipytest. - Ocena
Krytyk porównuje zmianę z kryteriami akceptacji i wystawia ocenę punktową. Próg zaliczenia to 82 punkty na 100.
- Status Review
Po zielonych testach i zaliczonej ocenie ticket przechodzi na status Review.
ruff check . OK
pytest 4 passed
Ticket SKL-1: status Review, ocena krytyka 93/100
Do wykonania:
git add sklep/koszyk.py tests/test_koszyk.py
git commit -m "SKL-1: rabat procentowy w sumie zamówienia"def suma_zamowienia(pozycje, rabat_procent=0):
if not 0 <= rabat_procent <= 100:
raise ValueError("Rabat musi być w zakresie 0-100")
suma = sum(cena * ilosc for cena, ilosc in pozycje)
return suma * (100 - rabat_procent) / 100Etap 5: commit, push i merge request
Commit, push i merge request wyglądają tak samo jak przy zmianie napisanej ręcznie.
$ git add sklep/koszyk.py tests/test_koszyk.py
$ git commit -m "SKL-1: rabat procentowy w sumie zamówienia"
$ git push -u origin feature-1-rabat-procentowy
$ glab mr create --fill --target-branch mainMerge request czytasz jak zmianę kolegi. Plan, raport programisty i ocena krytyka są w komentarzach ticketu SKL-1, więc wiesz, co i dlaczego zostało zrobione.
Etap 6: merge i zamknięcie
Po zielonym CI i zatwierdzeniu mergujesz zmianę. Zostają dwie czynności.
- Status Gotowe
Zmień status SKL-1 na liście backlogu, w polu statusu przy tickecie, albo poproś o to agenta. Tablica pokazuje tylko aktywny sprint, więc ticketu bez sprintu na niej nie ma. Agent nie ustawia tego statusu sam, bo "gotowe" znaczy "zmergowane".
- Powrót na gałąź główną
Wykonaj
git checkout mainigit pull, żeby następny ticket startował z aktualnego kodu.
Co zostało po całym przebiegu?
Zmiana w kodzie to tylko część wyniku. Reszta jest na platformie i przyda się przy następnym tickecie.
| Miejsce | Co tam jest |
|---|---|
| Repozytorium | commit ze zmianą na gałęzi głównej, plik .claude/settings.json |
| Ticket SKL-1 | plan, raport programisty, ocena krytyka, zalogowany czas, status Gotowe |
| Wiki projektu | strona Toolchain, z której skorzysta każdy następny ticket |
| Moduł Pipelines | przebieg pracy nad SKL-1 z logami agentów |
Co mogło pójść inaczej?
Przebieg powyżej jest prosty, bo nic go nie przerwało. Poniżej najczęstsze odchylenia i to, co wtedy się dzieje.
| Sytuacja | Co się dzieje |
|---|---|
Brak strony toolchain |
komenda pyta przed lintem i testami, czy kontynuować bez nich, i odsyła do /monolynx:project-toolchain; sesja w tle kończy turę |
| Czerwone testy | programista poprawia kod i testy idą ponownie, w ramach limitu poprawek |
| Ocena krytyka poniżej progu | programista dostaje uwagi i poprawia, w ramach tego samego limitu poprawek |
| Ticket okazuje się większy | work-simple przekazuje go do komendy work z zespołem agentów |
| Sesja przerwana w połowie | /monolynx:resume SKL-1 odtwarza stan z komentarzy ticketu |
Objawy i naprawy zbiera wpis Gdy coś nie działa.
Najczęstsze pytania
Czy ten sam przebieg zadziała w istniejącym, dużym repozytorium?
Tak. Etap 1 skraca się wtedy do instalacji pluginu i pliku .claude/settings.json. Reszta jest taka sama, a strona toolchain zwykle ma dłuższe komendy.
Czy agent może zrobić także etap 5?
Tak, po Twojej zgodzie. Flagi MONOLYNX_AUTOCOMMIT, MONOLYNX_AUTOPUSH i MONOLYNX_AUTOMR pozwalają mu kolejno na commit, push i otwarcie merge requesta. Zatwierdzenie i merge zostają u Ciebie.
Ile trwa taki przebieg?
To zależy od projektu i ticketu, więc wpis nie podaje czasów. Etapy 1 i 2 wykonujesz raz na projekt. Kolejne tickety zaczynają się od etapu 3.
Czy muszę mieć sprint, żeby przejść ten przebieg?
Nie. Komendy work i work-simple przyjmują klucz ticketu wprost. Sprint przydaje się dopiero wtedy, gdy ticketów jest kilka i mają iść równolegle.
Co dalej po pierwszym tickecie?
Następny ticket przejdź w ten sam sposób. Gdy ticketów zbierze się kilka, zaplanuj sprint i oddaj pracę pętlom.
Słownik i następny krok
- Slug projektu
- krótka nazwa projektu w adresach i w komendach, tutaj
sklep - Klucz ticketu
- prefiks projektu i numer, tutaj SKL-1
- Toolchain
- strona wiki z komendami lintu i testów projektu
- Koordynator
- sesja, która prowadzi agentów nad jednym ticketem
- Krytyk
- osobny agent oceniający zmianę według kryteriów akceptacji
- Kontrakt autonomii
- spis tego, co agent robi sam, i tego, przed czym się zatrzymuje
Każdy krok pracy ręcznej z wariantami opisuje wpis Pierwszy ticket ręcznie. Znaczenie statusów wyjaśnia wpis Statusy ticketu w Monolynx. Pracę wielu ticketów naraz prowadzi Sprint z Monolynx krok po kroku.
Chcesz zobaczyć tablicę, na której SKL-1 przeszedł od Backlog do Gotowe?
Zobacz moduł Scrum w Monolynx