Building MAGDA

SkillDev tools

Build, test, and run MAGDA DAW. Use when compiling, running tests, or launching the app. Always use Makefile commands, never raw cmake/ninja.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Building MAGDA skill

What this skill tells your AI

The instructions your AI receives, as published by conceptual-machines/magda-core in .claude/skills/building/SKILL.md and read by ahel’s review.

Always use Makefile targets. Never use cmake or ninja directly.

Build Commands

CommandPurpose
make debugDebug build (default)
make releaseRelease build
make configureForce CMake reconfigure
make cleanRemove all build artifacts
make rebuildClean + debug build

Test Commands

CommandPurpose
make testBuild and run all tests
make test-buildBuild tests only
make test-verboseRun tests with verbose output
make test-listList all available tests
make test-windowPlugin window tests only
make test-shutdownShutdown sequence tests only
make test-threadingThread safety tests only

Run Commands

CommandPurpose
make runBuild and launch app (GUI)
make run-consoleBuild and run with stdout visible
make run-profileRun with performance profiling

Code Quality

CommandPurpose
make formatclang-format all source files
make lintclang-tidy on all sources
make lint-changedclang-tidy on modified files only
make lint-file FILE=pathclang-tidy on a specific file

Build Directories

  • Debug: cmake-build-debug/
  • Release: cmake-build-release/

Key Notes

  • Debug build directory is cmake-build-debug, NOT build/
  • Test binary is at cmake-build-debug/tests/magda_tests
  • App bundle is at cmake-build-debug/magda/daw/magda_daw_app_artefacts/Debug/MAGDA.app
  • Pre-commit hooks run clang-format automatically; if commit fails due to formatting, re-stage and commit again

When to Build

  • Small cosmetic / non-logic changes (UI sizes, paddings, colors, icon swaps, layout tweaks, comment edits, gitignore, etc.): do NOT build automatically. The user prefers to build these themselves. Just make the change and stop.
  • Logic changes (new functions, control flow, state management, threading, audio code, refactors, anything that could compile-fail or introduce bugs): always build to verify it compiles and to catch errors early.
  • When unsure, ask the user whether they want you to build.

Signals

GitHub stars
206
Forks
24
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
building
Source
github.com/conceptual-machines/magda-core