Cursor rule Cursor
ASCII-only apilog/apierror/tape strings; use $NN char codes for arrows.
Cursor rule Cursor
ASCII-only apilog/apierror/tape strings; use $NN char codes for arrows.
Cursor rule Cursor
When changing #synth voices, osc/algo params, or native synthsource / algovoice.
Cursor rule Cursor
Require repro + log-pinned diagnosis before multiplayer/memory/sync fixes.
Cursor rule Cursor
Where to put documentation (Blume spine, colocated zss docs, ROM, ops).
Cursor rule Cursor
Require user-run manual prove gate before product bugfixes; no speculative fix loops.
Cursor rule Cursor
Test fixture layout — all assets under ./ops/fixtures/, use fixturepaths.ts.
Cursor rule Cursor
Naming conventions for methods, variables, and constants.
Cursor rule Cursor
Do not re-add the in-browser.
Cursor rule Cursor
Ban barrels and all re-export facades; import only from defining modules.
Cursor rule Cursor
Ban dynamic import as a workaround for cycles, load order, or soft deps.
Cursor rule Cursor
Ban fallback / graceful-degradation paths as workarounds for bugs or missing data.
Cursor rule Cursor
Bound tests, scripts, and dev servers — never let tooling hang without a timeout or kill plan.
Cursor rule Cursor
No test harness HTML — headed Playwright only for browser debugging and parity.
Cursor rule Cursor
Do not add new CI tooling, GitHub Actions, or citty tasks.
Cursor rule Cursor
Ban new subsystems/layers as bug fixes; fix root cause in existing code.
Cursor rule Cursor
Ban ../ parent imports; use zss/ or cafe/ aliases or ./ same-folder imports.
Cursor rule Cursor
Task manifest conventions (citty CLI).
Cursor rule Cursor
Museum ZZT corpus profanity/slur scan, sanitize, and verify workflow.