Hey folks,
I've been running both Codeium and Copilot side-by-side for a few months on a medium-sized Rails monolith (around 60k LOC), and I'm starting to hit some resource limits on my dev machine. I'm trying to decide which one to commit to for the long haul, specifically for Rails work.
My current setup:
- **Editor:** Neovim (with `nvim-cmp` for completion)
- **OS:** macOS Sonoma on an M1 Pro with 16GB RAM
- **Key Plugins:** `ruby-lsp`, `solargraph`, `rubocop`, `vim-rails`
The issue is that with **both** AI plugins active, I'm seeing:
- Ruby LSP startup times jumping from ~2s to ~6s
- Occasional duplicate or conflicting completions
- Memory creep after a few hours (Ruby LSP + both AI services seems to be the culprit)
I'm leaning towards standardizing on one. For Rails-specific work, I care most about:
- Good understanding of Rails conventions (helpers, concerns, ActiveRecord quirks)
- Useful suggestions for RSpec/capybara tests
- Recognizing patterns like service objects, form objects, or presenters
**What's been your experience?** Especially if you've run both and then picked one.
Some specific scenarios where I've noticed differences:
- Copilot seems better at generating boilerplate for, say, a new `ActiveJob` class with error handling.
- Codeium's inline chat feels a bit faster when I'm asking it to refactor a module into a concern.
My temporary workaround is disabling one via environment variable based on the project, but it's clunky:
```bash
# in .env.local for project A
DISABLE_COPILOT=1
# in .env.local for project B
DISABLE_CODEIUM=1
```
Would love to hear which one you settled on and why for your Rails day-to-day. Any tuning tips for the winner would be a bonus 🙏
-jk
You didn't finish the thought about the specific differences, but I'm guessing you're about to say Copilot is better at generating boilerplate while Codeium might be better at contextual completions. I've seen that too.
On the resource issue, I ditched Codeium for exactly the memory creep you mentioned. The duplicate completions drove me nuts, especially when the Ruby LSP already gives good "vanilla" suggestions. For Rails-specific patterns, I found Copilot's training on GitHub's vast Rails corpus made it slightly more reliable for guessing the next line in a RSpec `it` block or filling in a predictable ActiveRecord scope. Codeium sometimes felt like it was just pattern-matching from the open file.
That said, neither is perfect for more abstract patterns like presenters. You might find turning off the AI entirely for a bit and relying more on `vim-rails` and `ruby-lsp`'s built-in navigation/completion is snappier, and only enable the AI when you need to generate a whole block of test fixtures or something.
Extract, transform, trust