Strudel (live coding de música) — fork del hacklab: interfaz multiidioma, pestaña de proyectos, transporte con seek, guía de sonidos y lanzador de escritorio. Upstream: codeberg.org/uzu/strudel
Find a file
space-shell ec73c48e2e feat: Add Helix keybindings and Nix development environment
Add support for Helix editor keybindings in the REPL, providing users
with a modern, selection-first modal editing experience as an alternative
to Vim, Emacs, and VSCode keybindings.

Helix Keybindings Integration:

- Add codemirror-helix@^0.5.0 dependency to @strudel/codemirror
- Import and register helix keybindings in keybindings.mjs
- Add 'Helix' option to keybindings selector in Settings UI
- Create comprehensive user documentation at technical-manual/helix.mdx
- Update developer documentation with keybinding integration pattern

The Helix mode provides selection-first editing (select → action) which
differs from Vim's action-motion paradigm, offering an alternative
workflow for modal editing enthusiasts.

Documentation:

- Update CLAUDE.md with Helix support and keybinding addition process
- Create helix.mdx with user-facing documentation and command reference
- Update CHANGELOG.md with December 2025 entry

Testing:

Run `pnpm i` to install new dependencies, then `pnpm dev` to test.
Verify Helix mode works in Settings → Keybindings → Helix.
2025-12-08 09:44:02 +01:00
.forgejo Add action to deploy 'beta' version to warm.strudel.cc 2025-10-23 10:41:29 +02: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 fix for node 24 support #1718 2025-11-04 20:54:21 -06:00
jsdoc fix: @synonym -> @synonyms 2025-07-09 09:33:11 +02:00
my-patterns less github 2025-06-12 18:00:39 +01:00
packages feat: Add Helix keybindings and Nix development environment 2025-12-08 09:44:02 +01: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 Merge branch 'main' into glossing/midin-channels 2025-12-07 21:23:57 +01:00
tools/dbpatch fix(tool/dbpatch): add missing package name 2025-11-26 19:48:48 +01:00
website feat: Add Helix keybindings and Nix development environment 2025-12-08 09:44:02 +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 feat: Add Helix keybindings and Nix development environment 2025-12-08 09:44:02 +01:00
CONTRIBUTING.md doc: add version tagging guide to contributing.md 2025-07-06 17:00:33 +02: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 update undocumented script 2024-03-23 14:08:02 +01: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 fix for node 24 support #1718 2025-11-04 20:54:21 -06:00
pnpm-lock.yaml feat: Add Helix keybindings and Nix development environment 2025-12-08 09:44:02 +01:00
pnpm-workspace.yaml fix issue #1368 euclidLegatoRot 2025-06-13 10:21:36 +02:00
README.md fix for node 24 support #1718 2025-11-04 20:54:21 -06:00
undocumented.json some clarification comments 2025-07-04 22:17:23 +02:00
vitest.config.mjs fix: import in vitest config 2025-05-01 23:49:47 +02:00
warm.js add CHANGELOG.md + basic script to generate 2025-11-27 22:25:32 +01:00

strudel

Live coding patterns on the web https://strudel.cc/

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