Web-based environment for live coding algorithmic patterns, incorporating a faithful port of TidalCycles to JavaScript https://strudel.cc/
  • JavaScript 84.4%
  • MDX 11.2%
  • Csound 1.8%
  • Astro 0.8%
  • PEG.js 0.6%
  • Other 1.2%
Find a file
froos 6b00837a4d
All checks were successful
Build and Deploy to beta (warm.strudel.cc) / build (push) Successful in 2m23s
Strudel tests / build (20) (push) Successful in 11m17s
Merge pull request 'fix delaytime typo' (#1979) from tyow/localstrudel:delayt into main
Reviewed-on: #1979
2026-02-15 15:54:54 +01:00
.astro cleanup + tweak bottom panel style 2026-01-20 23:36:09 +01:00
.forgejo Update .forgejo/workflows/deploy-hot.yml 2026-02-09 21:25:21 +01:00
.vscode basic astro docs 2022-12-19 23:23:31 +01:00
bench Polish, rename, and document stepwise functions (#1262) 2025-02-02 20:26:44 +00:00
docs Merge branch 'main' of ssh://codeberg.org/uzu/strudel 2025-06-15 08:06:12 +01:00
examples Merge pull request 'Add packages/edo for edoScale() function' (#1430) from robmckinnon/strudel-edo-fork:main into main 2026-02-14 23:19:16 +01:00
jsdoc Rename group -> tags 2025-10-11 14:11:50 +02:00
my-patterns less github 2025-06-12 18:00:39 +01:00
packages fix delaytime typo 2026-02-15 08:45:51 -05:00
samples simplify readme 2024-03-30 16:03:43 +01:00
src-tauri chore: update website packages 2025-01-26 13:06:48 +01:00
test fix delaytime typo 2026-02-15 08:45:51 -05:00
tools/dbpatch fix(tool/dbpatch): add missing package name 2025-11-26 19:48:48 +01:00
website Merge pull request 'Add packages/edo for edoScale() function' (#1430) from robmckinnon/strudel-edo-fork:main into main 2026-02-14 23:19:16 +01:00
.eslintrc.json migrate eslint 2025-01-26 13:24:51 +01:00
.gitignore Updated the gitignore rules for vscode. 2025-09-13 21:36:24 +01:00
.nvmrc fix for node 24 support #1718 2025-11-04 20:54:21 -06:00
.prettierignore ignore .pnpm-store 2025-06-13 08:22:46 +01:00
.prettierrc FIXES: Warning about jsxBracketSameLine deprecation 2023-02-16 14:46:33 +01:00
CHANGELOG.md reverts changelog changes because human... 2026-01-19 10:15:10 +01:00
CONTRIBUTING.md tweaks 2025-12-11 15:07:57 +00:00
Dockerfile chore(docker): basic support added 2025-07-04 18:50:21 -04:00
eslint.config.mjs Revert "Revert "Merge pull request 'supradough poc' (#1362) from supradough into main"" 2025-09-12 10:08:55 +02:00
index.mjs Import packages/edo into strudel 2025-06-29 10:49:04 +02:00
lerna-debug.log patch 2026-01-17 19:02:25 -08:00
lerna.json update lerna 2023-12-30 23:19:22 +01:00
LICENSE Change to Affero GPL 2022-04-27 09:34:47 +01:00
package.json Merge pull request 'Add packages/edo for edoScale() function' (#1430) from robmckinnon/strudel-edo-fork:main into main 2026-02-14 23:19:16 +01:00
pnpm-lock.yaml Merge pull request 'Add packages/edo for edoScale() function' (#1430) from robmckinnon/strudel-edo-fork:main into main 2026-02-14 23:19:16 +01:00
pnpm-workspace.yaml Added codemirrors deps to website 2026-02-08 22:34:33 +01:00
README.md Update README.md 2026-01-06 16:33:06 +01:00
undocumented.json some clarification comments 2025-07-04 22:17:23 +02:00
vitest.config.mjs Turn back on silent 2025-08-24 21:15:47 -05:00
vitest.setup.mjs Change name to setDefaultJoin 2026-01-22 14:24:45 -06:00
warm.js update changelog + fix script to not miss entries 2026-01-16 09:58:14 +01:00

strudel

Live coding patterns on the web

Running Locally

After cloning the project, you can run the REPL locally:

  1. Install Node.js 18 or newer
  2. Install pnpm
  3. Install dependencies by running the following command:
    pnpm i
    
  4. Run the development server:
    pnpm dev
    

Using Strudel In Your Project

This project is organized into many packages, which are also available on npm.

Read more about how to use these in your own project here.

You will need to abide by the terms of the GNU Affero Public Licence v3. As such, Strudel code can only be shared within free/open source projects under the same license -- see the license for details.

Licensing info for the default sound banks can be found over on the dough-samples repository.

Contributing

There are many ways to contribute to this project! See contribution guide. You can find the full list of contributors here.

Community

There is a #strudel channel on the TidalCycles discord: https://discord.com/invite/HGEdXmRkzT

You can also ask questions and find related discussions on the tidal club forum: https://club.tidalcycles.org/

The discord and forum is shared with the haskell (tidal) and python (vortex) siblings of this project.

We also have a mastodon account: social.toplap.org/@strudel