I’m currently developing a VST/AU plugin with JUCE on macOS Tahoe and Xcode. I recently tested Cursor and I must say I’m pleasantly surprised by the quality of this AI-oriented editor.
I found Cursor much more convenient than GitHub Copilot for Xcode. The Agent mode easily takes control of my source files for editing without constantly asking for permissions, unlike GitHub Copilot for Xcode. When Cursor modifies my source files at my request, Xcode automatically updates them, allowing me to compile and test immediately. Great !
However, when I encounter compilation errors in Xcode, I can’t easily “show” them to Cursor. I have to describe them, which slows down my workflow…
I was wondering if it’s possible to develop my JUCE project without Xcode, and use only Cursor for editing my source code, compiling, and debugging. If that’s the case, I suppose I wouldn’t be able to use Projucer to prepare the project anymore, since Cursor doesn’t seem to be supported by the listed IDEs.
I don’t know anything about CMake, but would it be possible to use it to create a ready-to-use project in Cursor ?
So you’re confirming that this is possible to do using CMake? Sorry if my question is a bit naive, but I really don’t know anything about CMake, I’m an amateur developer.
I’ll ask Copilot how to do it, but if you have any pointers or can suggest a step-by-step procedure, I’d be very grateful! Thanks
It is very productive to use AI to generate CMake projects for JUCE these days, in my opinion. I’ve done it as the first setup step for a few projects now, and you can produce a CMake environment which really exploits everything that JUCE and CMake have to offer for cross-platform, multi-architecture, combined app/plugin type projects .. its sort of astonishing, once you get it set up so you can just push code, and on the other side comes a .pkg/.exe that installs all the things .. my advice though, is don’t use hosted build services, but do set up your own build VM’s and other build infrastructure to do builds locally, because once you start doing regular builds, the hosted build services will cost you ..
I don’t have your experience, but I’m inclined to believe you!
By asking the right questions yesterday to Copilot, I managed to use CMake (which I only knew by name) and a few additional tools to fully manage my JUCE projects in Cursor.
It’s really great! Now I can do everything from Cursor: edit my source code, compile for my different targets (AU, VTS, Standalone), and debug my projects, all while taking full advantage of the AI and Agent mode for writing/editing source code, fixing compilation errors, etc.
I subscribed to Cursor Pro for a month to do some testing. I’m also testing the new GPT-5 Codex model. From what I’ve read online, this new coding-oriented model is a real plus for producing high-quality code and for advanced reasoning; we’ll see.
The icing on the cake: I just discovered that Cursor also handles all aspects of Git and GitHub, so I can finally get rid of GitHub Desktop too!
Finally, and still with Copilot’s help, I also created a guide for setting up a JUCE 8 development environment with CMake and Cursor on macOS, as well as a Python script for quickly generating a new, ready-to-use JUCE project in Cursor. If anyone is interested, I could take some time to translate the guide and provide the Python script.
My next step will be to try setting up an MPC server to feed the AI with the online JUCE documentation. Indeed, during my tests over the past few weeks with Copilot, I’ve repeatedly encountered generated code sometimes based on concepts that are deprecated in the JUCE libraries. I’m going to try this experiment to see if the AI and Cursor’s Agent mode can keep their JUCE knowledge up-to-date with this MPC server. Here’s my starting point:
If the juce codebase is located in your projects root, there is no need for that MCP because your ai agent is able to read the code. I’ve never fighted with deprecated juce code.
Thanks for your feedback. Personally, I’d prefer to have only one instance of the basic JUCE folder on my Mac and have all my projects, including the Cursor Agent, reference it. I’ll look into it further.