A browser demo that puts a Brainfuck layer on top of the Strudel REPL.
Requirements:
- Node.js
24.13.0or newer - npm
11.6.2or newer
Run the interface:
npm install
npm run devOpen http://localhost:5173, wait for the upstream Strudel source to load, then
click Play.
The first play can take a few seconds while the browser audio runtime starts. This branch requires network access to fetch the credited upstream song source.
npm run dev # start the Vite web app
npm run test # run workspace unit and parity tests
npm run typecheck # run TypeScript checks
npm run build # build all workspaces
npm run test:e2e # run Playwright browser testsIf Playwright reports a missing browser executable after a fresh install, run:
npx playwright install chromiumapps/web: Vite and React interfacepackages/bf-core: Brainfuck tokenizer, bracket map, VM, and trace modelpackages/music-compiler: protocol decoder, music IR, renderer, and source mapspackages/strudel-runtime: Strudel compile/playback bridgepackages/editor-bf: CodeMirror Brainfuck editor supportpackages/shared: shared range and source-map utilitiesfixtures: demo Brainfuck program and reference Strudel snippetdocs/adr: short architecture decision records
This project is licensed under AGPL-3.0-only.
The runtime is built on Strudel packages, which are licensed as
AGPL-3.0-or-later in their installed package metadata. The editor uses
CodeMirror, and the interface uses React and Vite. See
THIRD_PARTY_NOTICES.md for the main upstream projects and attribution notes.
The Stranger Things Strudel cover is by eefano and is fetched from eefano/strudel-songs-collection at runtime. That upstream repository does not declare a license in GitHub metadata, so this branch links to and fetches the song source instead of vendoring a copy into this repository.