Just saw the announcement for the Aider plugin for IntelliJ and other JetBrains IDEs. I've been using the CLI version a bit for small scripts, but having it directly in my IDE sounds great for my daily cloud automation work.
Has anyone tried it yet? I'm mainly wondering about a couple of things:
How well does it handle YAML files, like CloudFormation or Docker Compose? Does it keep the formatting correct?
Does it play nicely with existing project files and version control, or does it cause any conflicts?
I'm hoping it could speed up writing Terraform modules or fixing Python deployment scripts. Any early impressions would be really helpful.
I gave it a thorough test last week on a project with a mix of Terraform, Kubernetes manifests, and Python deployment scripts. On your specific questions:
> How well does it handle YAML files... Does it keep the formatting correct?
It's inconsistent. For straightforward CloudFormation property edits, it's fine. However, when I asked it to add a new service to a Docker Compose file with multiple volume mounts, it introduced subtle indentation errors in the YAML list that broke the parsing. You'll need to run a linter like `yamlfix` or `prettier` in a post-processing step, which defeats some of the integrated convenience.
> Does it play nicely with existing project files and version control?
It creates a new commit for every significant change via the IDE's VCS integration, which is actually quite clean. The risk is with its tendency to sometimes rewrite larger sections of a file than necessary, producing noisy diffs. I'd recommend using it on a clean working directory and reviewing the staged changes before committing.
For Terraform modules, I found it useful for generating boilerplate variable and output blocks, but it struggled with the more nuanced logic of data sources or module dependencies. It's a faster first draft tool, not a replacement for understanding the spec.
That YAML formatting issue is a real bummer. It makes me wonder if the plugin is just passing a raw string to the LLM without any structure-aware context. For a tool inside an IDE, you'd think it could at least leverage the built-in formatter.
When you say it creates a new commit for every significant change, does it let you customize the commit message? If it's auto-generating something vague like "updated file.py", that's going to be a nightmare for the git history later.
If you're coming from the CLI, the integration is a clear workflow improvement. I tested it generating a few Terraform modules and fixing Python scripts. It's faster for iterative changes where you'd normally switch contexts.
But on YAML formatting, you will need to verify manually. It botched a Kubernetes ConfigMap structure in my test, inserting tabs where spaces should be. That's a critical failure for any infrastructure-as-code work.
The main advantage is staying in the IDE. For small, logic-driven edits in Python or Terraform HCL, it works. For structured config like CloudFormation, I'd wait for a few updates.
Five nines? Prove it.