Langkah 2 β Setup Agent
Tujuan langkah ini: agent terpasang, punya izin yang cukup tapi tidak lebih, dan terbukti bisa menyelesaikan satu task nyata end-to-end di repomu.
- Claude Code
- opencode
- oh-my-pi
npm install -g @anthropic-ai/claude-code
cd <REPO_KAMU>
claude
Login dengan langganan Claude (Pro/Max) atau API key Anthropic saat diminta.
curl -fsSL https://opencode.ai/install | bash
cd <REPO_KAMU>
opencode auth login # pilih provider (Anthropic/OpenAI/dll) & masukkan API key
opencode
npm install -g @can1357/oh-my-pi
cd <REPO_KAMU>
omp # jalankan /login untuk konfigurasi provider & API key
Checkpoint: di dalam repo, tanya agent "jelaskan struktur proyek ini dalam 5 poin" β jawabannya menyebut file/folder yang benar-benar ada.
Prinsipnya: auto-approve yang murah dan reversible (baca file, test, lint, git status), selalu konfirmasi yang mahal atau berbahaya (install dependency, push, migrasi, perintah network). Konfigurasi disimpan di repo supaya konsisten di semua mesin.
- Claude Code
- opencode
- oh-my-pi
{
"permissions": {
"allow": [
"Bash(npm test:*)",
"Bash(npm run check:*)",
"Bash(npm run build:*)",
"Bash(git status)",
"Bash(git diff:*)",
"Bash(git log:*)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Bash(git push:*)",
"Bash(rm -rf:*)"
]
}
}
Aturan deny menang atas allow. Read(./.env) mencegah agent membaca secret meski diminta.
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "allow",
"bash": {
"npm test*": "allow",
"npm run check*": "allow",
"git status*": "allow",
"git diff*": "allow",
"git push*": "ask",
"rm -rf*": "deny",
"*": "ask"
}
}
}
Pola dicocokkan dari yang paling spesifik; "*": "ask" menjadi default aman untuk sisanya.
oh-my-pi membaca konfigurasi dari ~/.config/oh-my-pi/settings.json (global) dan mendukung aturan tool per proyek. Set mode konfirmasi untuk perintah shell dan pakai fitur plan mode untuk perubahan besar β cek omp --help dan docs settings karena skemanya masih sering berubah.
:::warning Mode "YOLO" bukan untuk sekarang
Semua tool punya mode bypass (mis. claude --dangerously-skip-permissions). Jangan pakai sampai kamu punya isolasi (container/VM) dan guardrail dari Langkah 3. Di laptop utama dengan akses penuh, satu perintah salah bisa menghapus data atau membocorkan secret.
:::
Checkpoint: minta agent menjalankan npm test (jalan tanpa prompt) lalu minta ia membaca .env (harus tertolak/meminta izin).
Ambil satu task kecil dari backlog yang kamu tulis di Langkah 1. Beri instruksi selengkap issue-nya, lalu biarkan agent bekerja tanpa kamu menyetir per-langkah:
Kerjakan task berikut sampai selesai:
<tempel isi issue: konteks, kriteria selesai, non-goal>
Definisi selesai: npm run check dan npm test hijau, perubahan punya test,
lalu buat commit dengan pesan yang menjelaskan perubahan.
Amati (jangan interupsi kecuali melenceng jauh): apakah agent membaca file yang relevan? menjalankan test sebelum mengklaim selesai? menghormati non-goal?
Checkpoint: task selesai end-to-end β kode berubah, test baru ada, npm run check + npm test hijau, commit rapi β dengan maksimal 2 koreksi darimu.
Setiap kegagalan di task uji adalah data untuk memperbaiki sistem, bukan sekadar diulang:
| Gejala | Perbaikan |
|---|---|
| Agent melanggar aturan proyek | Tambahkan aturan itu ke AGENTS.md (satu baris, imperatif) |
| Agent bertanya izin terus untuk perintah aman | Tambahkan pola perintah itu ke allowlist |
| Agent mengklaim selesai padahal test gagal | Pertegas "Definisi selesai" di AGENTS.md + instruksi |
| Agent menyentuh file di luar scope | Biasakan menulis Non-goal di setiap task |
Ulangi dengan 2β3 task lain sampai polanya stabil.
Checkpoint: 3 task berturut-turut selesai end-to-end tanpa koreksi mid-flight β kamu hanya me-review hasil akhir.
Selanjutnya: Langkah 3 β Remote via Telegram