Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BootstrapBot

A small personal project bootstrapper. The first template is a CMake-first JUCE plugin project that references a shared local JUCE checkout instead of cloning JUCE into every generated project.

Quick start

Run from this repository:

uv run bb new juce-plugin MyDelay --dry-run
uv run bb new juce-plugin MyDelay
uv run bb new tracktion-sandbox ClipRenderTest
uv run bb new juce-plugin .

By default, bb new creates the project in the current directory. Passing . uses the current directory as the project and requires it to be empty. Use --default-dir to create under the configured projects_dir.

Or install an editable console script:

uv tool install --editable .
bb new juce-plugin MyDelay

Personal config

BootstrapBot looks for config at:

~/.config/bootstrapbot/config.toml

Example:

projects_dir = "~/Projects"
author = "Tyler Teuber"
company = "Your Company"
bundle_prefix = "com.yourcompany"
juce_dir = "~/Developer/AudioDeps/JUCE"
tracktion_engine_dir = "~/Developer/AudioDeps/tracktion_engine"
manufacturer_code = "Ycmp"

CLI flags override config values.

Check your local setup:

uv run bb doctor

The doctor checks for CMake, Ninja, git, and the configured shared audio dependency checkouts.

The config accepts ~, so the same config shape works on macOS, Linux, and a Raspberry Pi with a different home directory.

JUCE plugin template

The generated project uses:

./build
./build AU
./run Standalone

Generated projects read JUCE_DIR from the environment, so one shared JUCE checkout can be used across experiments without vendoring JUCE into each project.

On macOS, new JUCE plugins default to VST3, AU, and Standalone. On Linux, including Raspberry Pi OS, new plugins default to VST3 and Standalone because AU is macOS-only.

Available presets:

  • debug
  • release
  • relwithdebinfo

Tracktion sandbox template

The template name is tracktion-sandbox.

Generated Tracktion projects read this environment variable:

export JUCE_DIR="$HOME/Developer/AudioDeps/JUCE"
export TRACKTION_ENGINE_DIR="$HOME/Developer/AudioDeps/tracktion_engine"

The generated project uses:

./build
./run

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages