Tip dan trik coding agentik dengan Gemini CLI
(github.com/addyosmani)- Gemini CLI adalah asisten AI open-source dari Google yang memungkinkan model Gemini digunakan langsung dari terminal, dan berfungsi sebagai alat baris perintah interaktif untuk menulis kode, debugging, serta tugas otomatisasi melalui perintah bahasa alami
- Melalui sekitar 30 tip tingkat lanjut, dibahas fitur-fitur canggih seperti pengelolaan konteks berkelanjutan (
GEMINI.md), perintah kustom, ekstensi server MCP, fitur memori, pemulihan checkpoint, dan lainnya - Menyediakan fitur optimasi alur kerja pengembangan seperti referensi file/gambar (
@), mode YOLO (persetujuan otomatis), eksekusi headless, kerja multi-direktori, serta integrasi IDE (VS Code) - Juga mencakup fitur terbaru yang berfokus pada otomatisasi, observabilitas, dan skalabilitas seperti GitHub Action, ekstensi (Extensions), telemetri, dan token caching
- Gemini CLI sedang berkembang dari sekadar AI chat menjadi platform pengembangan agentik yang mengintegrasikan dan mengendalikan seluruh lingkungan pengembangan
Gambaran umum Gemini CLI
- Gemini CLI adalah antarmuka baris perintah berbasis AI untuk menggunakan model Google Gemini langsung dari terminal
- Dibangun dengan Node.js/TypeScript dan berjalan di semua OS utama
- Saat perintah dimasukkan dalam bahasa alami, ia dapat menjalankan tugas multilangkah seperti pembuatan kode, debugging, dan konfigurasi sistem
- Instalasi dapat dilakukan dengan
npm install -g @google/gemini-cliataunpx @google/gemini-cli - Autentikasi mendukung login akun Google (gratis) atau API key (berbayar/enterprise)
- Akun gratis memungkinkan sekitar 60 permintaan per menit dan 1.000 permintaan per hari
- Saat menggunakan API key, perlindungan data ditingkatkan dan kebijakan retensi log diterapkan
- Menjalankan dasar dimulai dengan perintah
gemini, serta mendukung perintah/(kontrol sesi) dan!(eksekusi shell)- Mode aman yang meminta persetujuan pengguna (Y/n) saat mengubah sistem aktif secara default
Tip 1 — Pengelolaan konteks berkelanjutan dengan GEMINI.md
- Simpan instruksi khusus proyek atau informasi latar di file
GEMINI.mdagar AI selalu merespons dengan konteks yang konsisten- Contoh: gaya coding, arsitektur, aturan fungsi, dan sebagainya
- Menggabungkan secara hierarkis
~/.gemini/GEMINI.mdglobal dan.gemini/GEMINI.mdper proyek - Gunakan
/memory showuntuk melihat konteks yang saat ini dimuat, dan/memory refreshuntuk menyegarkannya - Template dasar bisa dibuat dengan perintah
/init, dan mendukung pemuatan banyak file melalui@include
Tip 2 — Membuat perintah slash kustom
- Definisikan perintah kustom dalam file TOML untuk mengotomatiskan tugas berulang
- Contoh:
/test:gen→ menghasilkan tes Jest berdasarkan kebutuhan
- Contoh:
- Dapat didaftarkan secara global (
~/.gemini/commands/) atau per proyek (.gemini/commands/) - Perintah bekerja berdasarkan template prompt dan bisa dibagikan antaranggota tim
- Berguna untuk standarisasi alur kerja seperti formatting yang konsisten atau penetapan peran (misalnya
/review:security)
Tip 3 — Memperluas Gemini dengan server MCP
- Integrasi dengan sistem eksternal melalui server Model Context Protocol (MCP)
- Contoh: Figma, Google Docs, Clipboard, database internal, dan lain-lain
- Daftarkan server dengan perintah
gemini mcp add, lalu simpan konfigurasi disettings.json - Gunakan perintah
/mcpuntuk melihat daftar server dan alat yang terdaftar - Mendukung OAuth 2.0 untuk koneksi API yang aman
Tip 4 — Menambahkan dan memanggil memori
- Simpan informasi penting ke memori jangka panjang dengan
/memory add "<text>"- Contoh: “Port RabbitMQ adalah 5673”
- Gunakan
/memory showuntuk melihat seluruh memori, dan/memory refreshuntuk menyegarkannya - Berguna untuk menyimpan log keputusan atau preferensi pribadi (misalnya gaya bicara, nama, dll.)
Tip 5 — Checkpoint dan pemulihan dengan /restore
- Membuat snapshot otomatis sebelum perubahan file, lalu kembali ke kondisi sebelumnya dengan
/restore - Aktifkan melalui opsi
--checkpointingatau file konfigurasi - Lihat daftar checkpoint dengan
/restore list, dan pulihkan dengan/restore <id> - Jika digunakan bersama Git, fitur ini berfungsi sebagai jaring pengaman untuk pekerjaan AI
Tip 6 — Membaca Google Docs dan Sheets
- Jika server Workspace MCP dikonfigurasi, tautan Google Docs/Sheets bisa dibaca langsung dan diringkas
- Memerlukan autentikasi OAuth, dan dapat diakses lewat perintah seperti
/read_google_doc - Dokumen, sheet, dan file Drive bisa direferensikan lewat tautan untuk menyuntikkan konteks tanpa perlu menyalin isi
Tip 7 — Mereferensikan file dan gambar dengan sintaks @
- Lampirkan kode, dokumen, atau gambar langsung ke prompt dengan
@path/file- Contoh:
Explain this code: @./src/main.js
- Contoh:
- Secara otomatis mengikuti aturan
.gitignoredan.geminiignore - Mendukung pengenalan gambar (termasuk OCR) dan perbandingan banyak file
Tip 8 — Membuat alat secara instan
- Saat diperlukan, Gemini dapat membuat skrip sementara atau server MCP langsung
- Contoh: parser JSON, penganalisis log, dan sebagainya
- Kode yang dihasilkan bisa ditinjau dalam bentuk diff sebelum disetujui
- Skrip yang berguna bisa dinaikkan menjadi perintah kustom
Tip 9 — Pemecahan masalah dan konfigurasi sistem
- Bisa digunakan juga di luar proyek, berperan sebagai asisten pengelolaan lingkungan pengembangan
- Contoh: memodifikasi
.bashrc, menganalisis log error, mengotomatiskan instalasi Docker
- Contoh: memodifikasi
- Selalu meminta persetujuan sebelum menjalankan perintah, mendukung penyesuaian sistem yang aman
Tip 10 — Mode YOLO (persetujuan otomatis)
- Setujui semua eksekusi alat secara otomatis dengan
--yoloatauCtrl+Y - Berguna untuk mempercepat tugas berulang, tetapi memiliki risiko
- Dapat mengatur whitelist agar hanya perintah tertentu yang disetujui otomatis
Tip 11 — Mode headless dan skrip
- Jalankan tanpa mode interaktif dengan
gemini -p "prompt" - Prompt sistem bisa diganti dengan
GEMINI_SYSTEM_MD - Mendukung output JSON (
--format=json) dan file ringkasan sesi (--session-summary) - Cocok untuk integrasi CI/CD dan skrip otomatisasi
Tip 12 — Menyimpan dan melanjutkan sesi chat
- Simpan sesi dengan
/chat save <name>dan pulihkan dengan/chat resume <name> - Gunakan
/chat listuntuk melihat daftar, dan/chat shareuntuk membagikannya - Berguna untuk debugging jangka panjang atau saat mengerjakan banyak proyek sekaligus
Tip 13 — Workspace multi-direktori
- Gunakan
--include-directoriesatau file konfigurasi untuk menggabungkan beberapa folder menjadi satu workspace - Gunakan
/directory showuntuk melihat folder yang saat ini disertakan - Mendukung lingkungan polyrepo seperti pengeditan frontend dan backend secara bersamaan
Tip 14 — Perapihan file berbasis AI
- Mengelompokkan dan memindahkan file dalam direktori berdasarkan jenisnya
- Contoh: gambar → Images, PDF → Documents
- Juga dapat mengganti nama otomatis berdasarkan isi gambar
- Disarankan meninjau pratinjau perintah sebelum eksekusi demi keamanan
Tip 15 — Menjaga konteks lewat kompresi percakapan
- Gunakan perintah
/compressuntuk merangkum percakapan panjang dan mengosongkan ruang konteks - Sesi bisa terus berlanjut sambil mempertahankan hanya informasi inti
- Ambang kompresi otomatis juga dapat diatur
Tip 16 — Menjalankan perintah shell dengan !
- Jalankan perintah terminal langsung dengan
!command - Jika hanya memasukkan
!, akan masuk ke mode shell, dan keluar lagi dengan! - Percakapan AI dan perintah sistem terintegrasi dalam satu antarmuka
Tip 17 — Memanfaatkan semua alat CLI sebagai alat Gemini
- AI dapat memanggil semua perintah yang ada di dalam
$PATH- Contoh:
convert,docker,ffmpeg,git, dan lain-lain
- Contoh:
- Tergantung lingkungannya, disarankan membatasi PATH atau mengatur whitelist
Tip 18 — Memanfaatkan input multimodal
- Gambar, PDF, dan file audio dapat dilampirkan dengan
@untuk dianalisis- Contoh: menjelaskan screenshot UI, menganalisis gambar error, memproses OCR
- Mendukung pembuatan kode dan ekstraksi data berbasis materi visual
Tip 19 — Kontrol akses $PATH dan alat
- Jalankan dengan PATH terbatas untuk meningkatkan stabilitas dan keamanan
- Perintah berisiko bisa diblokir melalui
excludeToolsdisettings.json - Mendukung eksekusi di lingkungan Docker terisolasi dengan opsi
--sandbox
Tip 20 — Token caching dan pelacakan penggunaan
- Saat menggunakan API key atau autentikasi Vertex, penggunaan ulang token dapat menekan biaya
- Gunakan perintah
/statsuntuk memeriksa cache hit rate dan penggunaan token - Laporan JSON per sesi bisa disimpan dengan
--session-summary
Tip 21 — Menyalin ke clipboard dengan /copy
- Langsung menyalin output terakhir (misalnya kode) ke clipboard
- Mendukung macOS (
pbcopy), Windows (clip), dan Linux (xclip)
Tip 22 — Kontrol pintasan Ctrl+C
- Tekan sekali untuk menghentikan pekerjaan, tekan dua kali untuk keluar dari CLI
- Dalam mode shell, bisa keluar dengan
Ctrl+CatauEsc
Tip 23 — Pengaturan pengguna dengan settings.json
- Mendukung pengaturan detail seperti tema, sandbox, persetujuan otomatis, mode Vim, dan lainnya
- Menyediakan pengeditan interaktif melalui perintah
/settings - Menggabungkan pengaturan global (
~/.gemini/) dan per proyek
Tip 24 — Integrasi VS Code
- Ekstensi VS Code (Companion Extension) memungkinkan pengenalan otomatis file, kursor, dan area pilihan
- Saat mengusulkan perubahan kode, penampil diff VS Code akan ditampilkan otomatis
- Dikelola melalui
/ide install,/ide enable, dan/ide status
Tip 25 — Otomatisasi GitHub Action
- Gemini CLI GitHub Action dapat mengotomatiskan klasifikasi issue dan review PR
- Permintaan seperti pembuatan kode tes dapat dilakukan lewat mention
@gemini-cli - Perintah
/setup-githubdapat membuat file workflow secara otomatis
Tip 26 — Telemetri (Observability)
- Berbasis OpenTelemetry untuk mengumpulkan metrik, log, dan trace sesi
- Aktifkan dengan pengaturan
"telemetry.enabled": trueatau flag--telemetry - Dapat dikirim ke berbagai backend seperti file lokal, GCP, dan Prometheus
Tip 27 — Memantau roadmap
- Fitur mendatang dapat dilihat di roadmap publik Gemini CLI di GitHub
- Contoh: agen latar belakang, perluasan model, peningkatan UI, dan lainnya
- Juga memungkinkan partisipasi dalam feedback komunitas dan usulan fitur
Tip 28 — Ekstensi (Extensions)
- Integrasikan layanan eksternal dengan
gemini extensions install <URL>- Contoh: Cloud Run, BigQuery, Figma, Stripe, dan lain-lain
- Ekstensi merupakan struktur modular yang menambahkan alat, perintah, dan konteks MCP
- Gunakan perintah
/extensionsuntuk melihat daftar ekstensi aktif
Fitur tambahan — Corgi Mode 🐕
- Jalankan animasi corgi di terminal dengan perintah
/corgi - Hanya fitur easter egg sederhana untuk memberi jeda saat memakai CLI
Kesimpulan
- Gemini CLI adalah antarmuka pengembangan berbasis AI yang mencakup penulisan kode, pengelolaan sistem, otomatisasi, hingga kolaborasi
- Dengan
GEMINI.md, MCP, ekstensi, dan integrasi IDE, Gemini CLI menghadirkan konteks berkelanjutan dan skalabilitas alat - Melalui ekosistem open-source dan pembaruan cepat, Gemini CLI berkembang menjadi platform AI inti bagi alur kerja developer
1 komentar
Opini Hacker News
Saya sama sekali tidak melakukan pengaturan seperti ini
Alasannya karena semuanya cepat sekali usang, dan 80% tidak benar-benar berfungsi
Saya rasa tidak perlu repot membuat server MCP ketika bahkan belum tentu LLM akan memanggilnya dengan andal
Aturan saya sederhana — saya menulis sendiri dokumentasi untuk diri sendiri (template, checklist, dll.), lalu memberi AI satu kesempatan untuk mencoba
Kalau gagal melakukannya dengan benar dalam sekali jalan, saya revisi dokumennya atau langsung saya tangani sendiri
Pada akhirnya kegunaannya bergantung pada data pelatihan dan evolusi model, dan menurut saya paling tepat diperlakukan seperti constraint programming tanpa tata bahasa formal
Mengingat subjektivitas bahasa alami, iterasi cepat untuk terus menyempurnakan kalimat-kalimat batasan adalah pendekatan terbaik
Sebagai contoh, saya pernah mengulang Gemini 4 kali dan mendapatkan skrip bash yang berjalan sepenuhnya otomatis
Untuk konsep terkait, lihat Constraint programming
Saya bisa menyerahkan tugas setingkat developer junior dan mengerjakan hal lain
Jika gagal sekali, saya perbaiki dokumentasinya (file .md) lalu coba lagi
Saya jarang memakai MCP karena risiko keamanan, tetapi loop iteratif ini cukup efisien
Sebaliknya, pola pikir “kalau sekali tidak berhasil, saya kerjakan sendiri” itu seperti langsung memecat pegawai baru
Kita belum sampai di titik itu, dan keterampilan yang dibangun sekarang rasanya seperti mendirikan sesuatu di lereng
Metode evaluasi prompt saat ini belum cukup dapat diandalkan, jadi saya sedang membuat sendiri pengaturan agentic untuk memperbaikinya
Kemarin saya menambahkan fitur time travel sesi berbasis Dagger, dan hari ini saya berencana menambahkan fitur fork, clone, dan registry
Gemini CLI masih lemah untuk tugas coding yang kompleks
Penyebabnya adalah loop ReAct yang sederhana dan kemampuan pemanggilan alat yang lemah
Meski begitu, proyek ini aktif dikembangkan sebagai open source, jadi potensinya besar
Berkat context window 1M (segera 2M) dan kuota gratis yang longgar, saya merasa ini harus “dipakai habis-habisan (ABUSE IT)”
Saya memakainya sebagai alat orkestrasi TUI/CLI, dan ternyata cukup berguna juga untuk mengevaluasi kode yang dihasilkan alat lain
Belakangan saya menghubungkan Homebrew dan MCP, serta mengintegrasikannya dengan Knowledge Manager berbasis LLM lokal (Nowledge Mem)
Menariknya, saya juga melihat kasus Gemini CLI dipakai sebagai SubAgent untuk menghindari kontaminasi konteks utama
Tweet terkait
Bahkan saat diberi instruksi “jangan ubah kode, cukup beri saran”, ia langsung mengedit file
Pro 3 memang cerdas, tetapi kepatuhan terhadap instruksi masih belum stabil
Saya mencobanya lewat Antigravity, tetapi karena kuotanya terbatas, sulit melakukan pengujian yang kompleks
Untuk impresi lebih rinci, lihat tulisan ini
Addy Osmani adalah software engineer asal Irlandia yang menangani Google Chrome dan Gemini, seorang veteran dengan pengalaman 25 tahun
Ia punya gairah besar pada peningkatan performa web dan alat pengembangan berbantuan AI, serta telah menulis beberapa buku termasuk 『Learning JavaScript Design Patterns』
Tautan kompetisi
Saya berharap agen coding yang agnostik terhadap LLM bisa menjadi standar
Daripada masing-masing membangun ulang rodanya sendiri seperti Codex atau Gemini CLI, akan lebih baik jika penyedia LLM bisa diganti dalam bentuk plugin
Saat ini Claude Code memang yang terbaik, tetapi saya rasa Anthropic tidak akan bergerak ke arah itu
Sepertinya pada akhirnya kita harus menunggu generasi berikutnya dari agen coding open source
Hanya saja CLI seperti ini lebih mirip antarmuka untuk model berlangganan daripada alat sungguhan
Model terbaru menghabiskan token terlalu besar, jadi langganan bulanan lebih realistis dibanding penagihan API
Saya memakainya beberapa hari terakhir dan cukup puas
Tautan GitHub
Ada juga berbagai alternatif seperti Crush, Aider, Amp Code, Emacs+gptel, Editor Code Assistant, dan lainnya
Tetapi karena koevolusi (co-design) antara LLM dan agen coding itu penting, pemisahan total masih belum realistis
Ironisnya, sekarang ia malah mengadopsi LLM sendiri
Pengenalan Cursor Composer
Saya sudah memakai Gemini CLI selama beberapa bulan
Di kantor ada langganan gratis, jadi saya terus memakainya
Katanya ia mengenali file GEMINI.md, tetapi dalam praktiknya sering diabaikan
Meski begitu, tip seperti Tip 12 dan Tip 16 tetap berguna
Masalah halusinasi (hallucination) AI masih tetap ada, tetapi ini pertama kalinya AI terasa benar-benar ‘menyenangkan’ bagi saya
Terutama saat saya membiarkannya mendebug klaster K8s secara otonom, proses mengambil log dan menemukan error itu benar-benar mengejutkan
Kalau sesekali ia bertindak terlalu bodoh, saya ketik
/quitdan menanganinya sendiri, tetapi saya tetap senang memakainyaSaya juga baru saja membuat klaster RKE2 dan ingin sekali mencobanya
Saya sangat menyukai AI
Saya merasa ini alat yang wajib, seperti internet atau iPhone, yang membuat saya menjadi manusia yang lebih efisien
Namun, saya sangat lelah dengan banjir tutorial tentang “cara memakai AI”
Sebagian besar kualitasnya rendah, dan tulisan ini termasuk yang lumayan lebih baik
Rasanya seperti developer JS yang tiap minggu memperkenalkan framework baru
Siapa pun yang menulisnya, entah tulus atau sekadar mengejar engagement, saya sudah tidak tertarik lagi
Jujur saja, pengaturan serumit ini berlebihan
Saya cukup memakai prompt ala teriak ke AI dan hasilnya sudah sangat baik
Dengan LazyVim dan beberapa alat (git, ask, ripgrep) saja saya sudah cukup produktif
Terutama Gemini 3 sangat berguna karena kepadatan tokennya tinggi dan konteksnya besar
Jika konteks mulai terlalu berlebihan, saya menyuruhnya menulis ringkasan di README.MD lalu memulai agen baru
Tautan alat ask
Dengan model lain saya tidak bisa mendapatkan produktivitas seperti ini, tetapi sekarang bahkan tugas kompleks pun 80% berhasil dalam sekali jalan
Kontras antara scripting manual dan workflow berbantuan LLM ini menarik
Jika batasannya tidak jelas, keduanya sama-sama gagal, tetapi jika jelas, LLM bisa bekerja dengan andal secara mengejutkan
Masalah AI/Agentic/Vibe coding saat ini adalah kecepatan evolusinya yang terlalu tinggi
Bahkan sebelum best practice sempat mapan, semuanya sudah keburu usang
Meski bahasa dan framework berubah, cara memecah masalah dan memahami codebase selama ini relatif stabil,
tetapi sekarang saya tidak tahu lagi di mana titik keseimbangannya
Saya merasa Gemini CLI kurang bagus
Kalau harus memilih, saya merekomendasikan Opencode
Google juga harus membangun ulang CLI dari nol seperti Codex
Sebagai catatan, Gemini 3 saat ini tidak berjalan di Opencode lewat Copilot
Tautan issue
Saya sempat bertanya-tanya kenapa TUI sederhana memerlukan batasan seperti itu
Jika melihat dokumentasi resmi, Gemini tidak disebutkan secara langsung,
dan tampaknya disediakan lewat Google Vertex AI
Mungkin saja Gemini bisa dihubungkan lewat langganan Google Workspace