{"id":50720699,"url":"https://github.com/futureboard/Futureboard","last_synced_at":"2026-06-27T00:01:02.589Z","repository":{"id":357582610,"uuid":"1236874179","full_name":"futureboard/Futureboard","owner":"futureboard","description":"An open-source digital audio workstation with Native GPUI, React WebUI, Rust DSP, and native plugin hosting.","archived":false,"fork":false,"pushed_at":"2026-06-21T19:28:46.000Z","size":26765,"stargazers_count":20,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-21T21:15:43.783Z","etag":null,"topics":["audio","daw","gpui","linux","macos","midi","music","music-production","online","react","rust","song","studio","typescript","webapp","windows"],"latest_commit_sha":null,"homepage":"https://futureboard.studio","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/futureboard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"arizkami","custom":["https://futureboard.studio"]}},"created_at":"2026-05-12T16:50:55.000Z","updated_at":"2026-06-21T19:28:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/futureboard/Futureboard","commit_stats":null,"previous_names":["arizkami/dawproject","arizkami/futureboard","futureboard/futureboard"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/futureboard/Futureboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futureboard%2FFutureboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futureboard%2FFutureboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futureboard%2FFutureboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futureboard%2FFutureboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/futureboard","download_url":"https://codeload.github.com/futureboard/Futureboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futureboard%2FFutureboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34835785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","daw","gpui","linux","macos","midi","music","music-production","online","react","rust","song","studio","typescript","webapp","windows"],"created_at":"2026-06-10T00:00:24.932Z","updated_at":"2026-06-27T00:01:02.584Z","avatar_url":"https://github.com/futureboard.png","language":"Rust","funding_links":["https://github.com/sponsors/arizkami","https://futureboard.studio"],"categories":["Apps"],"sub_categories":["Media"],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg width=\"2111\" height=\"684\" alt=\"Futureboard Studio banner\" src=\"packages/assets/banner.png\" /\u003e\n\n**A modern open-source Digital Audio Workstation built with Rust, GPUI, TypeScript, WebAssembly, and native audio/plugin infrastructure.**\n\n[![CI](https://img.shields.io/github/actions/workflow/status/futureboard/Futureboard/ci.yml?branch=main\u0026style=for-the-badge\u0026label=CI\u0026logo=github\u0026logoColor=white\u0026color=22c55e\u0026labelColor=0f172a)](https://github.com/futureboard/Futureboard/actions/workflows/ci.yml)\n[![Status](https://img.shields.io/badge/status-pre--alpha-f59e0b?style=for-the-badge\u0026labelColor=0f172a)](ARCHITECTURE.md)\n[![License](https://img.shields.io/badge/license-MIT-22c55e?style=for-the-badge\u0026labelColor=0f172a)](LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-38bdf8?style=for-the-badge\u0026labelColor=0f172a)](CONTRIBUTING.md)\n\n[![Rust](https://img.shields.io/badge/Rust-2024-f97316?style=for-the-badge\u0026logo=rust\u0026logoColor=white\u0026labelColor=0f172a)](https://rustup.rs)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3b82f6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\u0026labelColor=0f172a)](https://www.typescriptlang.org)\n[![Bun](https://img.shields.io/badge/Bun-runtime-fbf0df?style=for-the-badge\u0026logo=bun\u0026logoColor=black\u0026labelColor=0f172a)](https://bun.sh)\n[![WebAssembly](https://img.shields.io/badge/WebAssembly-DSP-7c3aed?style=for-the-badge\u0026logo=webassembly\u0026logoColor=white\u0026labelColor=0f172a)](https://webassembly.org)\n\n[![GPUI](https://img.shields.io/badge/UI-GPUI-06b6d4?style=for-the-badge\u0026labelColor=0f172a)](https://www.gpui.rs)\n[![VST3](https://img.shields.io/badge/Plugins-VST3-f97316?style=for-the-badge\u0026labelColor=0f172a)](https://steinbergmedia.github.io/vst3_dev_portal/)\n[![CLAP](https://img.shields.io/badge/Plugins-CLAP-a855f7?style=for-the-badge\u0026labelColor=0f172a)](https://cleveraudio.org)\n[![Platforms](https://img.shields.io/badge/Platforms-Windows%20%7C%20macOS%20%7C%20Linux%20%7C%20Web-14b8a6?style=for-the-badge\u0026labelColor=0f172a)](#getting-started)\n\n[Architecture](#architectural-overview) ·\n[Getting Started](#getting-started) ·\n[Build](#building-the-native-app) ·\n[Debugging](#debugging--diagnostics) ·\n[Contributing](#contributing)\n\n\u003c/div\u003e\n\n---\n\n## Preview\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"25%\" align=\"center\"\u003e\n      \u003cimg src=\"packages/assets/preview_midi_editor.png\" alt=\"Futureboard Studio MIDI editor\" /\u003e\n      \u003cbr /\u003e\n      \u003csub\u003eMIDI Editor\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"25%\" align=\"center\"\u003e\n      \u003cimg src=\"packages/assets/preview_mixer.png\" alt=\"Futureboard Studio mixer\" /\u003e\n      \u003cbr /\u003e\n      \u003csub\u003eMixer\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"25%\" align=\"center\"\u003e\n      \u003cimg src=\"packages/assets/preview_mainwindow.png\" alt=\"Futureboard Studio workspace preview\" /\u003e\n      \u003cbr /\u003e\n      \u003csub\u003eWorkspace\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n\u003e [!WARNING]\n\u003e **Pre-alpha.** Under active early development — expect breaking changes, incomplete features, and no persistence guarantees. Not ready for production; don't trust it with irreplaceable projects. Nightly builds are test snapshots only.\n\n---\n\n## Architectural Overview\n\nFutureboard Studio is a Digital Audio Workstation whose primary maintained surface is a **native Rust application built on [GPUI](https://www.gpui.rs)** (the rendering framework behind the Zed editor), driving an in-process Rust audio engine. Secondary **web** (WASM DSP) surfaces share layout and engine concepts, but the native app is the main development target.\n\n| Surface | Path | Stack | Status |\n| --- | --- | --- | --- |\n| **Native** (primary) | `apps/native` | Rust · GPUI · direct audio engine | Main dev target |\n| Web | `apps/web` | React · TypeScript · Vite · WASM DSP | Tracks native, may lag |\n\n### Core crates\n\n| Crate | Purpose |\n| --- | --- |\n| `SphereDirectAudioEngine` | Native low-latency engine (WASAPI · CoreAudio · ALSA) |\n| `SphereWebAudioCore` | Web WASM audio core — transport, graph, mixer, meters, DSP |\n| `SphereUIComponents` | Native GPUI UI kit, styling, and layout primitives |\n| `SpherePluginHost` | Plugin scanning \u0026 hosting (VST3, CLAP, AU, VST2 legacy) |\n| `SphereAudioPlugins` | Built-in real-time DSP (EQ, compression, delay, …) |\n\nAlso: [`plugins/`](plugins/) (stock-plugin editors), [`modules/`](modules/) (noise removal, stem extraction), [`extensions/`](extensions/) (extension templates), [`packages/`](packages/) (shared fonts/icons/assets), [`external/`](external/) (vendored SDKs). See [ARCHITECTURE.md](ARCHITECTURE.md) for the full breakdown.\n\n---\n\n## Getting Started\n\n**Prerequisites:** [Bun](https://bun.sh) · [Rust](https://rustup.rs) 1.78+ (edition 2024) with the `wasm32-unknown-unknown` target · [CMake](https://cmake.org) 3.20+ · a C++ toolchain (MSVC / Xcode CLT / GCC / Clang).\n\n\u003e [!IMPORTANT]\n\u003e Vendored SDKs (`external/vst3sdk`, `external/clap`, …) are **git submodules** — clone with `--recursive` (or run `git submodule update --init --recursive` afterwards).\n\n```bash\ngit clone --recursive https://github.com/futureboard/Futureboard\ncd Futureboard\nbun install                               # JS workspace dependencies\nrustup target add wasm32-unknown-unknown  # web audio core target\n```\n\nRun a surface:\n\n```bash\nbun run dev:native   # native GPUI client   (= cargo run -p futureboard_native)\nbun run dev:web      # React web app\nbun run dev:server   # collaboration server\n```\n\n---\n\n## Building the Native App\n\nThe native client is a Rust binary linking the GPUI UI kit, the direct audio engine, and the plugin host (CMake + a C++ toolchain are required for the native plugin/SDK bridge). The `bun run` scripts wrap the equivalent `cargo` commands.\n\n```bash\nbun run build:native:debug   # debug    (= cargo build -p futureboard_native)\nbun run build:native         # release  (= cargo build --release -p futureboard_native)\n```\n\nThe release binary is emitted to `target/release/FutureboardNative` (`.exe` on Windows).\n\nPackage distributables (scripts in `packaging/native/`):\n\n```bash\nbun run bundle:native:mac       # macOS .app\nbun run bundle:native:mac:dmg   # macOS .dmg installer\nbun run bundle:native:win       # Windows portable / installer\nbun run build:all               # all surfaces (WASM + native)\n```\n\n### Platform notes\n\n| Platform | Audio backend | Setup |\n| --- | --- | --- |\n| Windows | WASAPI (exclusive/MMCSS planned) | `rustup default stable-msvc` |\n| macOS | CoreAudio | `xcode-select --install` |\n| Linux | ALSA (PipeWire/JACK later) | `sudo apt install libasound2-dev` · `sudo pacman -S alsa-lib` |\n\n---\n\n## Bun Scripts Reference\n\n| Script | Description |\n| --- | --- |\n| `dev:web` · `dev:native`| Run a surface in dev |\n| `build:web` · `build:wasm` · `build:native[:debug]` | Production / debug builds |\n| `build:audio:plugins` | Check stock plugin crate + extension template |\n| `bundle:native:mac[:dmg]` · `bundle:native:win` | Package distributables |\n| `cargo:check` · `cargo:build` · `cargo:release` · `cargo:test` · `cargo:clippy` | Rust workspace passthroughs |\n| `cargo:fmt[:check]` · `check` · `lint` · `fmt` | Format \u0026 combined checks |\n\n---\n\n## Debugging \u0026 Diagnostics\n\nSeveral subsystems expose verbose logging through environment variables — set any to `1` to enable.\n\n| Variable | Logs |\n| --- | --- |\n| `FUTUREBOARD_PLUGIN_DEBUG` | Insert add/set/remove/bypass mutations + engine-sync details |\n| `FUTUREBOARD_PLUGIN_VIEW_DEBUG` | Native plugin editor lifecycle and view attachment |\n| `FUTUREBOARD_ROUTING_DEBUG` | Send, return, and bus routing graph diagnostics |\n| `GPUI_DISABLE_DIRECT_COMPOSITION` | Windows composition workaround for native plugin UI |\n| `FUTUREBOARD_PLUGIN_EDITOR_MODE` | Plugin editor mode selection |\n\n```bash\n# bash\nFUTUREBOARD_PLUGIN_VIEW_DEBUG=1 cargo run -p futureboard_native\n# PowerShell\n$env:FUTUREBOARD_PLUGIN_VIEW_DEBUG=1; cargo run -p futureboard_native\n```\n\n---\n\n## Repository Layout\n\n```text\nFutureboard\n├─ apps/         native · web \n├─ crates/       SphereDirectAudioEngine · SphereWebAudioCore · SphereUIComponents · SpherePluginHost · SphereAudioPlugins\n├─ packages/     assets · shared\n├─ plugins/      modules/      extensions/\n├─ external/     vendored SDKs\n└─ packaging/    native bundle scripts\n```\n\n---\n\n## Roadmap\n\nToward a usable native DAW foundation: a stable native GPUI shell, audio clip editing, timeline \u0026 MIDI editing, mixer routing, native plugin hosting (VST3 editor embedding, CLAP support), a project file format, automation lanes, audio export, and cross-platform packaging. See [ARCHITECTURE.md](ARCHITECTURE.md) for current status.\n\n---\n\n## Contributing\n\nContributions are welcome — bug reports, build testing, documentation, UI fixes, plugin-hosting and audio-engine work, and platform support. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a pull request; UI work also follows [DESIGN.md](DESIGN.md) and [AGENTS.md](AGENTS.md).\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffutureboard%2FFutureboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffutureboard%2FFutureboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffutureboard%2FFutureboard/lists"}