Langkah 4 — Paralel dengan Git Worktrees
Satu agent = satu pasang tangan. "Team" baru terasa ketika tiga task berjalan serentak. Masalahnya: dua agent di direktori yang sama akan saling menimpa file dan mengacaukan state git. Solusinya bawaan git: worktree — beberapa checkout dari satu repo, masing-masing di direktori dan branch sendiri.
~/proyekku (worktree utama, branch main — tempatmu me-review)
~/wt/proyekku-task-42 (agent #1, branch agent/42-fix-login)
~/wt/proyekku-task-43 (agent #2, branch agent/43-export-csv)
mkdir -p ~/wt
cd ~/proyekku
git worktree add ~/wt/proyekku-task-42 -b agent/42-fix-login
Konvensi yang dipakai kitab ini: direktori ~/wt/<repo>-task-<id>, branch agent/<id>-<slug-pendek>. ID mengikuti nomor issue — jejaknya jelas dari task sampai PR.
Worktree berbagi objek git (hemat disk) tapi tidak berbagi file yang di-ignore — jalankan setup per worktree:
cd ~/wt/proyekku-task-42
cp ~/proyekku/.env . # atau generate .env khusus dengan resource terpisah
npm install
Checkpoint: git worktree list menampilkan dua entri; npm test hijau di worktree baru.
Buka satu sesi agent di tiap worktree — via terminal (tmux tab per task) atau via bridge Telegram dari Langkah 3:
# sesi 1
cd ~/wt/proyekku-task-42 && claude -p "Kerjakan issue #42: ..."
# sesi 2 (paralel, terminal/tmux window lain)
cd ~/wt/proyekku-task-43 && claude -p "Kerjakan issue #43: ..."
(Ganti perintah sesuai tool-mu — pola sama untuk opencode run / omp -p.)
Aturan main yang masuk AGENTS.md:
## Aturan worktree
- Kerja HANYA di worktree/branch tempatmu dijalankan. Jangan checkout branch lain.
- Jangan sentuh worktree lain di ~/wt/.
- Selesai = push branch + buka PR. Jangan pernah merge sendiri.
Checkpoint: dua task berjalan serentak; git status di masing-masing worktree hanya menunjukkan perubahan task itu sendiri.
Alur selalu satu arah: worktree → push → PR → CI + review (Langkah 5) → merge ke main → worktree lain rebase dari main.
# di worktree yang task-nya selesai
git push -u origin agent/42-fix-login
gh pr create --fill
Kalau dua task menyentuh area yang sama, serialisasikan — merge yang satu, lalu minta agent kedua rebase:
cd ~/wt/proyekku-task-43
git fetch origin && git rebase origin/main
# kalau konflik: ini task yang bagus untuk agent —
# "rebase branch ini ke main dan selesaikan konflik, jalankan test setelahnya"
:::warning Konflik bukan musuh, silent overwrite iya Konflik rebase itu terlihat dan bisa diselesaikan. Yang berbahaya adalah dua agent mengedit file yang sama di direktori yang sama — perubahan hilang tanpa jejak. Karena itu aturannya keras: satu task, satu worktree, tanpa pengecualian. :::
Checkpoint: dua PR dari dua worktree ter-merge berurutan tanpa kehilangan perubahan; main tetap hijau.
Worktree adalah sumber daya sekali pakai — buang setelah PR merge:
git worktree remove ~/wt/proyekku-task-42
git branch -d agent/42-fix-login
git worktree prune
Buat helper supaya siklusnya satu perintah:
#!/usr/bin/env bash
# pakai: wt-new 44 tambah-rate-limit
set -euo pipefail
ID="$1"; SLUG="$2"; REPO_DIR="${REPO_DIR:-$HOME/proyekku}"
WT="$HOME/wt/$(basename "$REPO_DIR")-task-$ID"
git -C "$REPO_DIR" worktree add "$WT" -b "agent/$ID-$SLUG"
cp "$REPO_DIR/.env" "$WT/" 2>/dev/null || true
(cd "$WT" && npm install --silent)
echo "$WT siap."
Checkpoint: siklus penuh — wt-new → agent kerja → PR → merge → git worktree remove — terasa rutin, bukan upacara.
:::tip Berapa banyak paralel? Mulai dari 2–3. Pembatasnya bukan CPU, tapi kapasitas review-mu — setiap worktree aktif menghasilkan PR yang harus kamu baca. Kalau antrean PR menumpuk lebih cepat daripada kamu me-review, tambah lapisan review otomatis dulu (Langkah 5) sebelum menambah agent. :::
Selanjutnya: Langkah 5 — Review & QA Loop