SE Hub

Agen coding

Mengonfigurasi Agen

Agen pemrograman sudah sangat cerdas bahkan tanpa kustomisasi apa pun. Namun OpenCode menyediakan dua lapisan kustomisasi yang mirip dengan cara Anda meng-onboard anggota tim baru: rules dan skills.

Rules: konteks statis

Rules adalah file AGENTS.md yang disimpan di repositori Anda—OpenCode membacanya di awal setiap percakapan. Anggap sebagai instruksi permanen yang selalu aktif.

File rules yang baik itu singkat, spesifik, dan merujuk ke contoh alih-alih menyalinnya:

# Commands
`npm run build`: Build the project
`npm run typecheck`: Run the typechecker
`npm run test`: Run tests (prefer single test files for speed)

# Code style
Use ES modules (import/export), not CommonJS (require)
Destructure imports: `import { foo } from 'bar'`
See `components/Button.tsx` for canonical component structure

# Workflow
Always typecheck after making a series of code changes
API routes go in `app/api/` following existing patterns

Aturan paling efektif untuk:

  • Perintah build dan test yang perlu diketahui agen
  • Konvensi kode yang harus diikuti agen
  • Rujukan ke contoh baku di codebase Anda
  • Pembatasan (file yang tidak boleh diubah, pola yang harus dihindari)

Hal yang perlu dihindari dalam penulisan rules

  • Jangan menyalin seluruh style guide. Gunakan linter saja.
  • Jangan mendokumentasikan setiap command. Agen sudah mengenal tools umum. Tambahkan hanya command yang spesifik ke project.
  • Mulailah dari yang sederhana. Rules disertakan di setiap percakapan, jadi akan menumpuk. Tambahkan rules hanya ketika Anda melihat pola yang berulang yang perlu diperbaiki.

Simpan rules di git agar seluruh tim Anda dapat memanfaatkan pengetahuan bersama tersebut.

Skills: konteks dinamis

Skills memperluas apa yang dapat dilakukan agen Anda dengan pengetahuan dan alur kerja khusus. Berbeda dengan rules yang selalu aktif, skills dimuat secara dinamis oleh agen hanya saat relevan.

Skills didefinisikan dalam file SKILL.md di .opencode/skills/<nama>/ dan dapat mencakup pengetahuan domain, alur kerja kustom, serta skrip yang dapat dieksekusi.

---
name: deploy-staging
description: Deploy to staging. Use when the user asks to deploy, ship, or push to staging.
---

# Deploy to staging

## Steps
Run `npm run build` and confirm it succeeds
Run `npm run test` and confirm all tests pass
Run `npm run deploy:staging`
Verify the deployment by checking https://staging.example.com/health
Report the deployment status and URL

Perbedaan utama antara rules dan skills:

Rules (AGENTS.md)Skills
Kapan dimuatSetiap percakapanHanya saat relevan
TujuanKonvensi yang selalu aktifAlur kerja khusus
Biaya konteksSelalu menggunakan ruang konteksHanya saat dipanggil
Terbaik untukApa yang harus selalu diketahui agenApa yang dapat dilakukan agen saat diminta

MCP: menghubungkan ke tool eksternal

MCP (Model Context Protocol) memungkinkan agen terhubung ke tool eksternal dan mengambil konteks yang relevan. Server MCP menyediakan alat dan sumber daya yang dapat digunakan agen dalam percakapan.

Misalnya, Anda dapat menghubungkan agen ke:

  • Slack untuk membaca pesan dan mengirim pembaruan
  • Datadog untuk menyelidiki log produksi
  • Sentry untuk melihat detail error dan stack trace
  • Database untuk mengkueri data secara langsung
  • Figma untuk mengambil design token dan spesifikasi komponen

Custom commands: dipanggil oleh pengguna

Selain skills yang diload agen secara otomatis, OpenCode juga mendukung custom commands—alur kerja yang Anda panggil sendiri dengan mengetik /nama-command di TUI. Custom commands disimpan di .opencode/commands/.

Contoh, command /pr yang melakukan commit, push, dan membuka pull request:

---
description: Create a pull request for the current changes.
---

Look at the staged and unstaged changes with `git diff`
Write a clear commit message based on what changed
Commit and push to the current branch
Use `gh pr create` to open a pull request with title/description
Return the PR URL when done

Alur kerja lain yang cocok dijadikan custom command:

  • /fix-issue [number]: Ambil detail issue, temukan kode yang relevan, perbaiki bug, dan buka PR
  • /review: Jalankan linter, periksa masalah umum, dan rangkum hal yang perlu diperhatikan
  • /update-deps: Periksa dependency yang kedaluwarsa dan perbarui satu per satu

Pola kegagalan umum: merancang aturan secara berlebihan

Anda mungkin tergoda untuk menulis aturan untuk segala hal. Tahan dulu. Terlalu banyak aturan menghabiskan ruang konteks dan membuat agen lebih sulit untuk mengikuti semuanya.

Jaga agar aturan Anda tetap minimal dan berkualitas tinggi. Aturan-aturan ini sebaiknya menjadi artefak tim yang terus diperbarui, bukan dokumen yang ditulis sekali dan dilupakan.

Langkah selanjutnya

Anda telah menyesuaikan agen agar sesuai dengan pola tim Anda. Di bab terakhir, Anda akan menggabungkan semua yang telah dipelajari menjadi sebuah contoh end-to-end yang lengkap.

Anda telah menyelesaikan bab ini

Terus belajar