1 poin oleh GN⁺ 2025-08-07 | 1 komentar | Bagikan ke WhatsApp
  • Claude Code IDE for Emacs mengintegrasikan Claude Code CLI secara native di dalam Emacs untuk menyediakan lingkungan asisten coding AI yang kuat
  • Melalui jembatan dua arah berbasis Model Context Protocol (MCP), Claude dapat memanfaatkan berbagai fitur Emacs seperti LSP, manajemen proyek, fungsi Elisp, dan lainnya
  • Menyediakan fitur-fitur yang dioptimalkan untuk lingkungan Emacs seperti deteksi proyek otomatis, sesi ganda, integrasi diagnosis (error/peringatan), diff tingkat lanjut, serta pelacakan tab-bar/seleksi-buffer
  • Berbasis pada perintah dan extensibilitas Emacs, memungkinkan pemaparan perintah secara langsung melalui MCP server dan integrasi alur kerja yang disesuaikan
  • Membangun lingkungan pengembangan berbasis AI di cloud melalui koneksi mendalam antara Claude dan seluruh ekosistem Emacs

Ringkasan

Claude Code IDE for Emacs adalah proyek open source yang memaksimalkan kemampuan Claude AI di dalam lingkungan Emacs melalui integrasi dengan Claude Code CLI. Berbeda dari wrapper terminal sederhana, paket ini didesain untuk menyediakan jembatan berbasis MCP (Model Context Protocol) yang mendukung komunikasi dua arah, sehingga Claude dapat benar-benar memanfaatkan fitur internal Emacs. Paket ini terhubung dengan ekosistem Emacs yang kuat seperti LSP, manajemen proyek, dan fungsi Elisp, sehingga menghadirkan lingkungan dukungan pengembangan AI yang produktif dan cerdas yang khas untuk pengguna Emacs.

Fitur Utama

  • Deteksi proyek otomatis dan manajemen sesi

    • Memanfaatkan project.el bawaan Emacs untuk mengenali proyek secara otomatis dan memisahkan sesi
    • Menyediakan instans Claude Code dan buffer yang terpisah per proyek
  • Integrasi terminal dan dukungan warna

    • Dukungan terminal berwarna melalui vterm atau eat
    • Percakapan dengan Claude langsung di dalam Emacs
  • Integrasi IDE melalui protokol MCP

    • Mengekspos berbagai perintah Emacs (navigasi kode, pencarian simbol, analisis AST, dan lain-lain) ke MCP server
    • Claude dapat mengeksekusi perintah Emacs dan fungsi kustom
  • Server MCP Tools yang sangat dapat diperluas

    • Dapat menambahkan/menentukan MCP tool yang dipersonalisasi (contoh: pencarian di seluruh proyek, refactoring global, dan lain-lain)
  • Diagnostik kode dan diff

    • Menyediakan informasi diagnosis error/peringatan kode lewat integrasi Flycheck dan Flymake
    • Mendukung tampilan diff canggih dan akses informasi diagnosis menggunakan ediff
  • Manajemen status dan transisi perintah

    • Melalui tab-bar, pelacakan seleksi/buffer, dan lainnya, Claude dapat memahami konteks saat ini dari pengguna

Integrasi Alat Emacs

Claude Code IDE mengekspos langsung berbagai perintah dan informasi Emacs ke Claude via sistem MCP tool

  • Integrasi LSP (xref)

    • Mendukung navigasi cerdas berbasis LSP seperti go-to-definition dan pencarian simbol/referensi global di seluruh proyek
  • Dukungan Tree-sitter

    • Menyediakan pemahaman struktur kode berbasis analisis pohon sintaksis (AST/Abstract Syntax Tree)
  • Integrasi Imenu, Project

    • Menyediakan daftar simbol, informasi file, dan struktur proyek secara otomatis
  • Fungsi Elisp kustom

    • Dapat diekspos langsung sebagai MCP tool, sehingga memungkinkan penggunaan alur kerja/fitur spesifik domain secara fleksibel

Dengan integrasi ini, Claude dapat memanfaatkan konteks informasi dari ekosistem Emacs untuk memberikan dukungan AI yang presisi pada level kode.

Cara Penggunaan

Perintah Dasar

  • M-x claude-code-ide-menu: Memanggil menu transien yang menampilkan semua perintah secara visual
  • Memfasilitasi aktivasi Claude Code di dalam proyek, pengiriman prompt, melanjutkan percakapan sebelumnya, serta berbagai manajemen status/sesi
  • Dapat mengelola beberapa proyek sekaligus dengan mengoperasikan sesi Claude unik per proyek

Pengelolaan Jendela dan Sesi

  • Jika sesi baru sudah berjalan, hanya akan melakukan toggle/menampilkan jendela
  • Meskipun menutup jendela dengan perintah Emacs standar (C-x 0), Claude itu sendiri tidak akan berhenti

Pengaturan

  • Mendukung kustomisasi detail untuk Claude Code CLI, backend terminal, backend diagnosis, posisi/ukuran jendela, opsi debug, dan lain-lain
  • Menyediakan opsi tingkat lanjut seperti menambahkan flag, menentukan system prompt, dan fungsi penamaan buffer
  • Dapat mengaktifkan server MCP dan menentukan tool/port yang digunakan

Pengaturan Backend Terminal

  • Secara default adalah vterm, dan dapat beralih ke backend eat bila diperlukan
  • eat adalah terminal murni berbasis Elisp yang berguna jika ada masalah pada proses build vterm
  • Menyediakan keybinding khusus (M-RET: baris baru di prompt, C-<escape>: keluar/batal, dll.)

Opsi Diagnostik dan Debugging

  • Dapat mendeteksi/menautkan Flycheck dan Flymake secara otomatis, atau menentukan secara paksa
  • Menyediakan opsi sementara untuk menghindari bug relayout terminal Claude (#1422)
  • Mendukung log debugging detail di tingkat Emacs dan CLI (untuk memeriksa pesan WebSocket, JSON-RPC, dan lain-lain)

Lanjutan: Worktree dan Pengoperasian Sesi

  • Memanfaatkan git worktree untuk menjalankan beberapa sesi independen per cabang pada proyek yang sama
  • Mendukung alur kerja pengembangan paralel dengan mempertahankan buffer dan konteks unik per kelompok kerja

Rincian Emacs MCP Tools

Contoh MCP Tools Bawaan

  • xref-find-references: Menelusuri seluruh referensi simbol tertentu di seluruh proyek
  • xref-find-apropos: Pencarian menyeluruh simbol/kode berdasarkan pola
  • treesit-info: Menyediakan data analisis AST berbasis tree-sitter
  • imenu-list-symbols: Menampilkan daftar semua fungsi dan variabel dalam file
  • project-info: Menyediakan metadata dan informasi file proyek saat ini

Menambahkan Tool Kustom

  • Pengguna dapat menambahkan fungsi Emacs sendiri sebagai MCP tool sesuai format MCP
  • Sebagai contoh, alat pencarian kode berbasis ripgrep atau perintah khusus domain dapat didefinisikan dan dipanggil langsung dari Claude

Lisensi dan Proyek Terkait

  • Tersedia di bawah lisensi GNU GPL v3.0 atau yang lebih baru
  • Memperkenalkan proyek terkait seperti plugin integrasi VS Code, Neovim (claudecode.nvim), dan lainnya

Signifikansi dan Kelebihan

Claude Code IDE for Emacs menyediakan lingkungan AI IDE yang kuat karena dapat memanfaatkan konteks kerja dan informasi ekosistem Emacs secara mendalam, berbeda dari berbagai alat integrasi LLM/AI lain. Walau masih berada pada tahap awal, dengan beragam fitur bawaan, kemampuan kustomisasi yang tinggi, dan dukungan multi-proyek, ini menjadi pilihan yang sangat kuat bagi pengguna Emacs dan pengembang open source

1 komentar

 
GN⁺ 2025-08-07
Pendapat Hacker News
  • Seperti LSP dan tree-sitter, alat coding AI seperti Claude Code atau Aider sangat menggembirakan untuk editor yang dulunya dianggap pasar niche seperti Emacs atau Vim, karena tidak perlu lagi repot mengimplementasikan fitur IDE canggih secara langsung, dan bisa fokus pada diferensiasi terkait editing sendiri dengan mudah mengintegrasikannya; pada praktiknya, kustomisasi dan integrasi yang fleksibel ini benar-benar meningkatkan daya saing editor-editor tersebut.
    • Bertanya-tanya apakah ada standar yang memungkinkan integrasi alat coding berbasis agen ke editor sepraktis LSP.
    • Saya merasa ini selalu demikian: Emacs dan Vim memang sudah lama punya fitur IDE canggih, dan berkat LSP serta tree-sitter, sekarang standardisasi lintas editor dan bahasa jadi lebih mudah.
    • Saya tidak setuju menyebut Emacs dan Vim sebagai editor pasar niche; keduanya sudah termasuk editor yang mapan.
  • Saya selamanya merasa Emacs adalah editor terbaik untuk AI agent, karena agen bisa dengan mudah melihat seluruh status editor dan mengubah perilakunya via elisp. Editor yang mengizinkan kustomisasi seperti Vim atau Emacs akan tetap punya keunggulan besar ke depan.
    • Vim dan Emacs memang sejak dulu punya keunggulan besar, meski penilaian orang memang berbeda. Secara pribadi, saya merasa extensibility tertutup di VSCode atau IntelliJ adalah kelemahan besar; tertutupnya itu berarti API plugin yang terbatas, lingkungan eksekusi sandbox, struktur persetujuan perusahaan, dan ketidaktransparanan logika internal. Dulu saya pernah berusaha pindah ke IDE lain agar mendapat fitur baru, tetapi kini saya merasa cukup belajar Emacs saja untuk mendekati tujuan saya. Saat memakai Emacs, cara menyelesaikan masalah terasa jauh lebih memuaskan dibanding memakai IDE.
    • Kekuatan Emacs berada di core interpreter lisp-nya: AI agent bisa mengakses langsung seluruh status editor dan mengubahnya saat runtime dengan mekanisme evaluasi yang sama seperti yang dipakai pengguna. Sebaliknya, sebagian besar editor punya API plugin yang kaku.
  • Saya puas menggunakan plugin claude-code.el, meski ini wrapper terminal murni, tapi juga menyediakan menu Transient yang kuat. Bahkan cuma berjalan di dalam Emacs, alur kerja sudah jauh lebih efisien, dan alurnya bisa dibuat jauh lebih dipersonalisasi daripada sebelumnya di iTerm. Ke depan saya akan terus memantau paket-paket baru yang rilis, termasuk eca-emacs. Untuk alat yang jadi dasar produktivitas, saya biasanya berhati-hati saat mulai mengadopsinya; proyek besar biasanya lewat fase 'big bang' yang butuh banyak penyempurnaan.
    • Saya sempat pakai sebentar lalu akhirnya hanya kembali ke claude code di terminal. Di Emacs terasa sedikit lag, dan tidak ada alasan khusus untuk membuka jendela terminal terpisah. Sayang juga karena belum terintegrasi dengan paket mcp.el. Saat saya pakai Claude Code, kualitas kodenya sampai sekarang di pekerjaan saya belum sampai ke level yang bisa diandalkan. mcp.el juga patut dipertimbangkan.
  • Integrasi alat modern seperti LSP, tree-sitter, dan Claude Code di Emacs saya anggap menyenangkan, tapi sekaligus tingkat kesulitan setup sekarang terasa jauh lebih tinggi. Saya pengguna Emacs 20 tahun, tetapi sekarang penyiapan lingkungan tidak mudah. Sebelum Claude Code dihubungkan ke IDE, ia tampak paling mudah (langsung jalan dan sinkronisasi buffer otomatis membuat hampir tak ada yang perlu diurus). Di macOS baru, saya cuma bisa menjalankan typescript-ls, sementara gopls belum terunduh. Mungkin bisa diperbaiki dalam satu-dua jam, tapi mencari titik macetnya menyebalkan. Saya penasaran bagaimana Emacs user sekarang mengatasi ini, jadi saya bagikan. Akhir-akhir ini saya coding sambil menikmati Zed. Menanggalkan kemampuan adaptasi Emacs 20 tahun tidaklah mudah. Dari edit file konfigurasi kecil, dukungan proyek besar, sampai kustomisasi ekstremnya, Emacs tetap tetap spesial. Saya penasaran apakah Neovim lebih baik di area ini, dan saya bertanya apakah perlu lebih jago debugging elisp agar lebih paham cara kerja perintah saya di lingkungan, karena sudah terbiasa dengan keybinding Emacs (bahkan sampai Dvorak!), jadi pengalaman neovim bisa sangat beda.
    • Saya sangat merekomendasikan debugging elisp. Meski sudah pakai Emacs puluhan tahun, banyak orang tetap tidak tahu built-in profiler, edebug, apropos, macro expansion, advising system, indirect buffer, dan sejenisnya. Kalau dianalogikan, Emacs itu seperti mobil: mesin yang bisa dirakit komponennya sambil berjalan, bahkan dapat diubah jadi kapal selam; jadi perlu sikap dasar troubleshooting dan menerima situasi tak terduga. Bisa menemukan titik masalah langsung, lalu menulis elisp yang sesuai untuk hook atau fungsi advise di gptel buffer dan langsung mencobanya. Rasa lepasnya itu akan terasa kalau dipraktekkan. Akhir-akhir ini saya tak terlalu memusingkan config yang 'bersih'; cukup modularisasi dengan baik lalu tambahkan elisp saat butuh. Kalau rusak karena update paket lain atau masalah eksternal lain, biasanya selesai dalam hitungan menit dengan menemukan masalah dan menyiapkan alternatif, dan frekuensinya juga sedikit.
    • Untuk mengelola isu lingkungan, saya menjalankan Emacs di Docker; cek emacs-native-dockerfiles.
    • Integrasi ekosistem bahasa baru ke Emacs memang cukup merepotkan karena pemilihan paket dan alat eksternal (server LSP, dan lain-lain) jadi tantangan tersendiri, dan banyak proyek skala 'dabbling' yang harus dipertimbangkan terus. Untuk mengunduh/instalasi alat eksternal, saya pakai Nix (devenv.sh), direnv, dan sejenisnya agar Emacs tidak perlu mengunduh langsung—cukup menetapkan path. Konfig terkait juga saya simpan lewat devenv supaya tim bisa memakai lingkungan yang sama.
    • Saya pengguna Emacs 8 tahun, tapi sejak dua bulan lalu beralih penuh ke nvim dan sebulan penuh sama sekali tidak menyentuh Emacs. Saya memasang lazy.vim dan bergantian memakai plugin AI; komunitas dan ekosistem nvim belakangan ini justru lebih hidup, dan ThePrimeagen juga layak jadi referensi.
    • Pengalaman Neovim pun semakin maju: dari mode barebone sampai IDE penuh bisa diatur beragam. Sudah banyak distro pra-konfigurasi, jadi juga rujuk LazyVim. Untuk plugin AI, lihat awesome-neovim #ai.
  • Integrasi org mode dan fitur AI untuk note-taking yang lebih kuat, atau integrasi AI di seluruh alur catatan, sangat saya butuhkan. Saya merasakan sendiri kerugian saat github/copilot menghapus isi percakapan setelah 30 hari, yang bikin membangun knowledge base dengan AI jadi sulit. Jadi kebutuhan akan model seperti Google notebookllm yang memungkinkan riset dan catatan dikelola langsung secara lokal terasa kuat.
    • Saya rekomendasikan mencoba gptel-mode; percakapan tersimpan di org buffer, sesi mudah disimpan dan dipulihkan, dan juga terintegrasi baik dengan mcp.el.
    • ob-aider juga layak dilihat.
  • Fitur menambahkan tools ke MCP server secara bebas sangat memuaskan dan ini sesuai harapan saya dari Emacs. Bertahun-tahun saya pakai, dan akhir-akhir ini saya makin sering menulis elisp sendiri. Claude juga cukup bagus membantu menulis elisp sehingga saya pakai lebih sering (kadang perlu merapikan indentasi kurung sendiri, tapi secara keseluruhan oke). Saya juga akan mencoba efrit dari Steve Yegge; fitur agent yang bisa memakai dan menjalankan ekspresi elisp arbitrary meningkatkan batas Emacs satu level lagi.
    • Saya penggemar dan follower Yegge cukup lama. Saya kira ini masih fase honey moon vibe code, tapi kemampuan Emacs-nya luar biasa unggul. Sekitar 1-2 tahun terakhir saya sadar LLM besar anehnya sangat kuat di elisp, dan ini jadi cikal bakal proyek hypermodern ini. Saya melihat efrit sangat menjanjikan, meski belum disetting sempurna.
  • Sekaligus munculnya lebih dari 5 paket integrasi Emacs/Claude Code sekaligus, dan dua-tiga yang bersaing sengit di reddit, terasa menarik; tapi saya merasa plugin yang benar-benar unggul justru hadir diam-diam tanpa banyak disebut. Paket yuya373/claude-code-emacs sudah mengimplementasikan hampir semua fitur dari paket kompetitor.
    • Saya tidak tahu seberapa populer, tapi ini sepertinya paling mudah dipasang. Lihat melpa claude-code.
    • Paket ini tampaknya tidak punya integrasi /ide dari Claude-code-ide.
  • eca juga wajib dicoba; fokus pada membuat tooling pair programming AI terbaik di Emacs.
  • Saya memang merasa di komunitas Emacs belakangan ada nuansa mengkritik terhadap diskusi AI integration seperti ini, tapi jujur saya rasa respons itu lebih banyak merugikan daripada menguntungkan. Meski AI berkembang berbeda dari cara generasi sekarang, akar Emacs ada di MIT AI Lab; jadi sikap menolak integrasi AI pada tool yang lahir dari AI working group ini terasa janggal.
    • Keindahan Emacs adalah kontrol berbasis pengguna; karena di layer Elisp Anda bisa mengubah apa pun sesuai keinginan, paket-paket seperti ini terus muncul. VS Code secara struktural justru mendorong fragmentasi: Microsoft memakai API khusus untuk tool proprietari mereka dan hanya melepaskan API ekstensibilitas yang jauh lebih terbatas untuk pihak luar, sehingga banyak fork vscode bermunculan. Di Emacs, satu developer Elisp yang benar-benar berdedikasi dan andal bisa mengubah segalanya, dan modul integrasi AI/LLM baru dapat bermunculan kapan saja. Saya merasa kritik di komunitas Emacs memang kadang dilebih-lebihkan; faktanya plugin AI/LLM terus keluar dan dapat respons bagus—contohnya gptel.
    • Sumber suasana ini adalah Richard Stallman. Dia berpendapat bahwa integrasi alternatif 'perangkat lunak non-free' harus dihindari saat proyek perangkat lunak bebas belum siap. Pendekatan ini membuat adopsi tertunda dalam beberapa keputusan seperti GCC extensions, LLVM debugger, tree-sitter, git/bzr, CI build farm, dan lain-lain, dan selama periode itu kecepatan adopsi alternatif untuk proyek inti seperti Emacs melambat. Akhirnya tetap saja diterima belakangan, kadang terlihat seperti menjaga posisi FSF.
    • Komunitas Emacs sangat beragam; kritik ada di mana-mana, tapi jangan dipermasalahkan karena dengan modul 3rd party Anda bisa menambah fitur apa pun, dan maintainer inti tidak punya cara untuk memblokirnya.
    • Saya baru tahu MIT AI Lab terhubung dengan gelombang AI modern; ini menarik.
  • Saya sangat menantikan alat-alat ini, saya suka menggabungkan Emacs dan AI ke alur coding, dan yang paling saya inginkan adalah menjalankannya secara lokal penuh di hardware di bawah $2000. Apakah ini sudah atau akan bisa dilakukan dalam waktu dekat, dan apakah ada yang sudah pakai agen coding berbasis model lokal secara langsung?
    • Ada kemajuan besar dalam model inferensi hemat memori dan model open source khusus untuk kode. Sekarang ini keluarga model Qwen3-Coder sedang banyak disorot (Qwen3-Coder). Untuk eksekusi lokal tersedia tools seperti Ollama dan LM Studio. Tergantung ukuran/kuantisasi model, budget $2000 bisa menjalankan banyak model; Mac seri M juga cukup ekonomis. Di subreddit LocalLlamas banyak informasi soal LLM lokal. Memang masih beda dari level laboratorium AI besar, tetapi kalau Anda menyukai setup sepenuhnya lokal ini tetap proyek yang menarik untuk dicoba.
    • gptel mendukung berbagai model termasuk lokal.
    • MacMini, frame.work desktop, atau Nvidia DGX Spark juga jadi opsi (mulai 3k)