create-juce-app

This is a little project I’ve been working on recently to make starting new JUCE projects as simple as possible without compromising on the recommended tools and practices.
The script can be run using npm create juce-app, and the various prompts will let you customise almost every aspect of your new project, such as:
- Project type (Plugin, Desktop app, or Console app)
- Dependency manager (CPM, FetchContent, or submodules)
- GUI API (JUCE components or web front-end)
- Audio API (basic JUCE API or the
juce_dspmodule) - Unit-testing framework (Catch2, GoogleTest, doctest, Tiny-BDD, or JUCE’s built-in API)
The script will also add lots of “sensible defaults”, such as:
- Code formatting and linting with clang-format, clang-tidy, and cppcheck
- CTest and CPack integration
- State saving/loading for all project types (including APVTS integration for plugins)
- Placeholder assets for installers
This is still a work in progress so if you have any suggestions for additional config options, and/or would like to add integration for your own tools, please leave a comment on this thread or the Issues tab on GitHub, and/or open a PR!
