Visitar URL original
GitHub - stepanic/claude-tmux-teams: Timovi Claude Code agenata u tmuxu, po vertikalama — i tvrdnja da tmux nije poanta: nova vertikala = novi orakl. · GitHub
Skip to content

About

Timovi Claude Code agenata u tmuxu, po vertikalama — i tvrdnja da tmux nije poanta: nova vertikala = novi orakl.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

claude-tmux-teams

Timovi Claude Code agenata u tmuxu, po vertikalama — i tvrdnja da tmux nije poanta.

┌──────────────┬──────────────┬──────────────┐
│              │ orkestrator  │    dev1      │
│   planner    │   (fable)    │   (opus)     │
│   (opus)     ├──────────────┼──────────────┤
│   ◀ TI       │  reviewer    │    dev2      │
│  promptaš    │   (fable)    │   (opus)     │
└──────────────┴──────────────┴──────────────┘
   36%              32%             32%

Jedan prozor, pet Claude Code panela, jedan čovjek koji promptira samo u jednom od njih. Ostalo se dogovara među panelima preko tmux send-keys.


Teza

Razvojni tim radi zato što flutter analyze postoji: jeftin, objektivan, nepotkupljiv orakl. Svaka iteracija petlje završava u stanju koje se provjeri bez ičijeg mišljenja. Kad je crveno — nema rasprave.

Preslikaš li topologiju na drugu vertikalu bez orakla, dobiješ pet Claudeova koji se međusobno slažu. A to je korelirana greška, ne provjera: isti model, isti trening, ista sljepoća. Međusobni pregled hvata nedosljednost i aljkavost — ne zajedničku zabludu.

Pravilo repoa: nova vertikala = novi orakl + (jeftino) preslikana tmux topologija.

tmux dio je ~80 % copy-paste. Orakl je stvarni posao. Zato core/tim-orakl.sh pada s izlaznim kodom 3 kad vertikala nema orakl, umjesto da tiho prođe.

Detaljno: docs/orakli.md.


Vertikale

Vertikala Orakl Što probija Status
development statička analiza + testovi (auto-detekcija) kod se ili kompajlira ili ne dokazano u produkciji
research provjeri.sh — URL-ovi, citati fajl:redak, verzije, spikeovi, unakrsne reference izmišljena tvrdnja s uvjerljivim izvorom orakl napisan i korišten, uloge nisu podignute u ovom obliku
legal spec — doslovna provjera citata propisa, strukturni linter, numerički model uvjerljiv broj članka koji ne kaže to što se tvrdi dizajn
pitch spec — build, prelijevanje slajda, brojka bez izvora, struktura brojka bez pokrića, TAM izmišljen odozgo dizajn

Statusi su doslovni. Dvije vertikale su nedovršene i namjerno su tu: teza je da je orakl teški dio, pa repo koji bi prikazao samo dovršenu vertikalu tvrdio bi suprotno.

Uzorak se ponavlja: u sve tri ne-razvojne vertikale zajednička zabluda je uvjerljiv referenc. Zato sve tri imaju orakl istog oblika — provjeru da izvor postoji i kaže ono što se tvrdi. Napisana instanca tog obrasca (research) izravni je predak druge dvije.


Brzi start

git clone https://github.com/stepanic/claude-tmux-teams.git ~/git/claude-tmux-teams

cd ~/projekti/moj-repo
~/git/claude-tmux-teams/core/ugradi.sh development

# 1. napiši pravila svog repoa (uska grla, poznati padovi, konvencije)
$EDITOR .tim/pravila.md

# 2. orakl mora biti zelen PRIJE tima
./scripts/tim-orakl.sh

# 3. prozor otvaraš TI, pa:
./scripts/tim-kickoff.sh --fresh

Puni vodič: docs/instalacija.md.


Petlja (razvojna vertikala)

  1. Ti u planneru — razgovor, istraživanje koda, dogovor opsega.
  2. /delegiraj → plan u docs/plans/, s popisom fajlova po tasku (to je ugovor o izolaciji — worktreeja nema).
  3. Orkestrator dijeli taskove dvama devovima — samo ako su im fajlovi disjunktni.
  4. Devovi rade, završe markerom SAŽETAK. Ne commitaju.
  5. Orakl, pa reviewer: git diff naspram plana, verdikt u .tim/reviews/.
  6. DORADA → istom devu, bez /clear. OK → orkestrator commita, pa /clear.

U koracima 3–6 ne radiš ništa. Napredak stiže u tmux status bar — nijedan agent ne smije pisati u tvoj panel, jer bi ti poruka upala usred prompta.


Struktura

core/                      generičan plumbing — ne zna za nijednu domenu
  tim.sh                   dizanje: layout iz stringa, prompti iz fajlova
  tim-send/read/status/    kanal prema panelima, stanje, nadzor
  tim-watch/kill/kickoff
  tim-orakl.sh             hook s ugovorom o izlaznim kodovima
  tim-cost.py              MJERI potrošnju iz transkripata (ne procjenjuje)
  ugradi.sh                symlinkaj u radni repo

verticals/<x>/
  tim.conf                 uloge, modeli, layout, marker
  roles/*.md               system prompti uloga
  commands/*.md            slash komande (ritual)
  oracle/provjeri.sh       ← ovdje je stvarni posao

docs/
  orakli.md                teza, u punoj dužini
  zamke.md                 sve što je puklo, i zašto
  mjerenja.md              trošak po ulozi i modelu, izmjeren
  odluke.md                zašto je repo složen ovako
  instalacija.md           kako ga uvesti u svoj projekt
  2026-08-26-stanje-…      što je dokazano a što je nov kod, i što je otvoreno

test/smoke.sh              digne tim u praznom repou, BEZ poziva modela
./test/smoke.sh            # razvojna vertikala (41 provjera)
./test/smoke.sh research   # druga vertikala, druge uloge

Test umjesto claude na PATH stavlja stub koji glumi TUI, pa provjerava sve što je stvarno lomljivo — layout, mapa uloga, renderiranje prompta, isporuka poruke, odbijanje pisanja u čovjekov panel, detekcija stanja, gašenje — za nula tokena i u vlastitom privremenom repou.

core/ je generičan i nikad se ne kopira — vertikale ga konfiguriraju. Zašto: dvije stvarne kopije iste postave su već divergirale, a ispravci se ne vraćaju unatrag (docs/odluke.md, O1).


Nekoliko stvari koje su koštale

Cijeli popis: docs/zamke.md.

  • Prozore otvara čovjek, ne agent. Kad --fresh ubije session na koji su prozori attachani, AppleScript sloj terminala se trajno zablokira (AppleEvent timed out -1712) — i tim ostane mrtav, jer je osascript stajao na kritičnom putu.
  • Fable je dvostruko skuplji od Opusa ($10/$50 vs $5/$25 po MTok). Podjela modela stoji zbog brzine koordinacije, ne cijene.
  • Polling je skuplji od razmišljanja. Orkestrator je u jednom krugu bio najskuplji panel u timu ($4,15 od $12,28) bez ijednog retka koda — 2,4 M cache-read tokena. Rješenje: until petlja u shellu umjesto ponovljenog capture-pane.
  • Panel koji čeka odgovor izgleda kao gotov. Zato „gotov" znači marker u ispisu, ne mirovanje.
  • Prompt u TUI input boxu je ❯ + U+00A0, ne obični razmak — parsere validiraj na capture-pane | od -An -tx1, ne na vlastitoj fixture-i.
  • tmux radi prefix matching na imenima sessiona — bez = kill-session -t tim ubije tuđi tim.

⚠️ Permisije

Po defaultu svi paneli rade s --dangerously-skip-permissions: agenti ne pitaju ni za jednu izmjenu fajla ni za jednu shell komandu. To je svjesna odluka u repou gdje je git sigurnosna mreža i gdje se radi u izoliranom projektu.

Nije preporuka za tuđi kod, produkcijske vjerodajnice, direktorij s osobnim podacima, ni bilo što gdje „vrati na zadnji commit" nije dovoljan oporavak. Oprezniji mod:

TIM_PERMISSION_FLAG="--permission-mode acceptEdits"

Što ovo nije

  • Nije zamjena za čovjeka. U pravnoj vertikali izlaz je nacrt koji odvjetnik pregleda; u pitch vertikali deck ne proizvodi trakciju koju nemaš.
  • Nije framework. core/ je ~1000 linija bash-a i jedan Python skript, bez ijedne ovisnosti izvan tmux, claude i python3.
  • Nije benchmark. Brojke su mjerene na stvarnom radu jednog čovjeka, ne na kontroliranom eksperimentu.

Licenca

MIT.

About

Timovi Claude Code agenata u tmuxu, po vertikalama — i tvrdnja da tmux nije poanta: nova vertikala = novi orakl.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages