Common questions and answers about the Audio Plugin Coder framework.
APC is a structured, AI-driven workflow system for building audio plugins. It guides LLM agents through the entire plugin development lifecycle from concept to shipped product using a five-phase workflow: Dream → Plan → Design → Implement → Ship.
APC is designed for:
- Audio developers who want to leverage AI for faster development
- AI coding agent users who need structured context for audio plugin tasks
- Musicians/Producers who want to create their own plugins
- Learning developers who want to understand JUCE and audio DSP
| Platform | Local Build | GitHub Actions |
|---|---|---|
| Windows 11 | ✅ Native | ✅ |
| macOS | ❌ | ✅ |
| Linux | ❌ | ✅ |
| Format | Windows | macOS | Linux |
|---|---|---|---|
| VST3 | ✅ | ✅ | ✅ |
| Standalone | ✅ | ✅ | ✅ |
| AU | ❌ | ✅ | ❌ |
| LV2 | ❌ | ❌ | ✅ |
# Clone with submodules
git clone --recursive https://github.com/Noizefield/audio-plugin-coder.git
cd audio-plugin-coder
# Or clone and initialize separately
git clone https://github.com/Noizefield/audio-plugin-coder.git
cd audio-plugin-coder
git submodule update --init --recursiveRequired:
- Windows 11
- Visual Studio 2022 (with C++ tools)
- CMake 3.22+
- PowerShell 7+
- Git
For WebView plugins:
- WebView2 Runtime (usually pre-installed on Windows 11)
/dream MyFirstPlugin
The AI will guide you through:
- Defining the concept
- Planning the architecture
- Designing the UI
- Implementing the code
- Shipping the final product
- DREAM (Ideation) - Define the plugin concept and parameters
- PLAN (Architecture) - Design DSP and select UI framework
- DESIGN (GUI) - Create visual mockups and specifications
- IMPLEMENT (Code) - Write the C++ DSP and UI code
- SHIP (Package) - Build installers and distribute
No. APC enforces phase completion to ensure quality. Each phase validates prerequisites before proceeding.
/status MyPlugin
This shows:
- Current phase
- Completed validation items
- What's next
Yes:
/resume MyPlugin
This continues from the last completed phase.
You can manually update files in any phase, then update the state:
. .\scripts\state-management.ps1
Update-PluginState -PluginPath "plugins\MyPlugin" -Updates @{
"current_phase" = "design_complete"
}| Factor | Visage | WebView |
|---|---|---|
| Complexity 1-2 | ✅ Recommended | |
| Complexity 3-5 | ✅ Recommended | |
| Performance | ✅ Best | |
| Visual Richness | ✅ Excellent | |
| Iteration Speed | ✅ Fast | |
| Memory Usage | ✅ Low |
Yes, but it requires regenerating the UI code. It's best to decide during the planning phase.
Most common causes:
- Wrong member order - Must be: Relays → WebView → Attachments
- Missing attachments - Create attachments BEFORE addAndMakeVisible
- Resource provider issues - Files not embedded correctly
Run validation:
.\scripts\validate-webview-member-order.ps1 -PluginName MyPlugin
.\scripts\validate-webview-setup.ps1 -PluginName MyPluginpowershell -ExecutionPolicy Bypass -File .\scripts\build-and-install.ps1 -PluginName MyPluginNo. Always use the build script. Never run cmake/msbuild directly.
build/plugins/MyPlugin/MyPlugin_artefacts/Release/
├── MyPlugin.vst3/ # VST3 plugin
└── MyPlugin.exe # Standalone
-
Check if installed:
C:\Program Files\Common Files\VST3\MyPlugin.vst3 -
Force DAW to rescan plugins
-
Check if plugin validates:
.\scripts\pluginval-integration.ps1 -PluginName MyPlugin
Yes, using GitHub Actions:
/ship MyPlugin
Select macOS and Linux platforms. The workflow will build them remotely.
/ship MyPlugin
This creates:
- Windows installer (local)
- macOS package (via GitHub Actions)
- Linux package (via GitHub Actions)
- Complete implementation (
code_completestatus) - All tests passing
- Local build successful
- Inno Setup installed (for Windows installer)
Yes, but you'll only get the Windows installer. macOS and Linux require GitHub Actions (or building on those platforms).
Update in status.json:
{
"version": "v1.0.0"
}Or let the /ship command handle it.
- Build errors: Console output from build script
- Plugin crashes: Documents/APC_CRASH_REPORT.txt
- State errors:
plugins/MyPlugin/status.json→error_recovery.error_log
-
Check known issues:
Get-Content .agent/troubleshooting/known-issues.yaml | Select-String "error"
-
Run validation:
.\scripts\validate-plugin-status.ps1 -PluginName MyPlugin
-
Use debug command:
/debug MyPlugin
. .\scripts\state-management.ps1
Restore-PluginState -PluginPath "plugins\MyPlugin"Or use git:
git checkout -- plugins/MyPlugin/- Use
/debug MyPluginto analyze - Manually fix the files
- Update state if needed
- Continue with
/resume MyPlugin
Tested:
- ✅ Claude Code (Anthropic)
- ✅ Antigravity (Google)
- ✅ Kilo (kilo.ai)
May work:
- Cursor
- Other LLM coding agents
No. APC is agent-agnostic. Any agent that supports:
- File system access
- PowerShell execution
- Workflow/slash commands
APC provides:
- Workflows - Step-by-step phase instructions
- Skills - Domain knowledge (DSP, UI, etc.)
- State Management - Tracks progress
- Rules - Constraints and best practices
Yes, but it's designed for AI assistance. You can manually:
- Read the skill files in
.agent/skills/ - Follow the instructions
- Run the scripts yourself
Yes. The code is yours to modify. APC provides a starting point.
Edit PluginProcessor.cpp:
void processBlock(AudioBuffer<float>& buffer, MidiBuffer& midi) {
// Your custom DSP here
}- Edit
.ideas/parameter-spec.md - Update
PluginProcessor.cpp(APVTS) - Update
PluginEditor.cpp(UI binding) - Update
status.jsonif needed
Yes. Add to your plugin's CMakeLists.txt:
find_package(ExternalLib REQUIRED)
target_link_libraries(MyPlugin PRIVATE ExternalLib)See CONTRIBUTING.md for details.
Ways to help:
- Add new skills
- Test on different platforms
- Report bugs
- Improve documentation
- Share your plugins
- Check if it's a known issue
- Create an issue on GitHub
- Include:
- Error message
- Current phase
- Steps to reproduce
- Platform/DAW info
Yes! Create a new directory in .agent/skills/:
skill_myskill/
└── SKILL.md
Follow the existing skill format.
MIT License - see LICENSE
Yes. Plugins you create are yours. APC is a tool, like a compiler.
No, but it's appreciated. You can mention "Built with Audio Plugin Coder" if you'd like.
- Check the documentation index
- Review troubleshooting guide
- Search known issues
- Create an issue on GitHub
- Join the community discussions
| Task | Command |
|---|---|
| Create new plugin | /dream MyPlugin |
| Check progress | /status MyPlugin |
| Continue working | /resume MyPlugin |
| Build plugin | powershell -ExecutionPolicy Bypass -File .\scripts\build-and-install.ps1 -PluginName MyPlugin |
| Validate setup | .\scripts\validate-plugin-status.ps1 -PluginName MyPlugin |
| Ship plugin | /ship MyPlugin |
| Debug issues | /debug MyPlugin |