Your Erlang dev setup? (editors, tools, local AI)

,

Hi all,

I’m curious how people here approach their daily Erlang workflow and would love to compare notes.

A few things I’m wondering about:

  • Which editor or IDE do you use, and which tools round out your setup (LSP, debugger, build/test helpers)?
  • What’s your AI stack? I’m especially interested in local models to avoid recurring API costs. Which models and runners (Ollama, llama.cpp, etc.) actually work well for Erlang?
  • For those running local AI, what hardware are you on? I’m on a Mac, so Apple Silicon specs and real-world performance would be super helpful.

If you’re willing to share your full setup, I’d really appreciate it.

Thanks!

1 Like

I’ll go first to set a low bar in answers you might be hoping for. I recently started playing with Erlang again after maybe 20 years away? My setup:

  • IDE: emacs, with helm and project.el for project navigation.
  • LSP: settled on etags and C-c C-d from erlang-mode to bring up documentation inside emacs. I also have a browser tab to browse the excellent Erlang documentation locally. I sometimes will use eglot to run the elp eqwalise LSP but I find it too visually noisy while typing in new code.
  • AI: haven’t used it to generate code for Erlang yet. For other projects, I use tmux and emacs -nw which makes it easy to split screen with claude.

When writing C and C++ I use the clang LSP extensively with emacs eglot and it’s great. I just haven’t found the same benefits with Erlang yet. I add a small ‘make tags’ utility and update it now and then, and code navigation, including to Erlang libraries, works great and is sufficient.

Hope this helps!

Mo

1 Like

In KDE and Linux I am using Kate as the developer editor and everything else (build etc) is from Konsole, the KDE terminal emulator.

In general I have a separate instance of Kate for each Erlang/OTP (or Elixir) application I work with (meaning several applications in a rebar3 umbrella project).

Plain and simple. Kate has very good support for Erlang and I can run an LSP if I like, but also without LSP there are color coding and some basic language support.

Easy to move editors around on the screens and place them where I need them. Always try to write code on the middle monitor to save my neck.

2 Likes

I’m using the helix editor (https://helix-editor.com) with ELP ( ELP - Erlang Language Platform | ELP ). For LLM, I’m using opencode (https://opencode.ai) with a Z’s lowest tier GLM coding plan. Nothing local for me yet. All of my Erlang projects get these tools through a nix shell.

2 Likes

IDE: gvim (I’m old school :slight_smile: ). I’m using Erlang LS (last time I’ve tried elp, it had problems with parse_trans and as our internal logger library uses parse_trans, it choked on most files, so wasn’t useful :frowning:

AI: I’m using copilot as a “smart” code completion. Sometimes it’s brilliant, sometimes it’s really bad. It saves some copy&paste and :s commands, but nothing revolutionary. I also tried the copilot shell with some models, again, sometimes useful, other times I’ve spent days to unwind and fix the code it generated.

1 Like

I use neovim with a bunch of plugins I’ve settled on (flash, gitsigns, outline, telescope, treesitter, and others). For Erlang specifically, elp is my LSP and erlfmt handles formatting. AI-wise, it’s opencode + OpenRouter. Dirty cheap models, basically.