-
Notifications
You must be signed in to change notification settings - Fork 1
Engineering Process
ecamacho edited this page Jul 10, 2026
·
2 revisions
Conventions and workflows for working on Jellyx. Read alongside Contributing.
- Rust is the source of truth. Audio, state, persistence live in Rust.
- Svelte is a dumb client. Render state, send commands, nothing more.
- Audio survives UI reload. Don't put audio logic in the frontend.
- No video, no tracking, no accounts, no ads. By design. See Privacy and License.
jellyx-core pure domain (no Tauri)
jellyx-desktop Tauri app: audio, IPC, persistence, sources, updater
jellyx-cli CLI skeleton
jellyx-ffi FFI skeleton
ui/ Svelte frontend
See Architecture for the audio pipeline and IPC design.
Releases are generated from conventional commits. Use the standard prefixes:
| Type | Use for |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation |
refactor |
Non-behavior code change |
test |
Tests |
chore |
Tooling, deps, build |
perf |
Performance |
- Keep PRs focused. One concern per PR where possible.
- Link the issue you're fixing.
- Run
cargo test --workspaceandcargo build --workspacebefore requesting review.
# Dev
cargo tauri dev
# Workspace
cargo build --workspace
cargo test --workspace
# Packages
./scripts/build.sh
./scripts/build.sh linux-appimage # see NO_STRIP=1 noteSee Building from Source and Packaging Guide.
- Maintainer-driven.
- SemVer, tag
v{VERSION}, release titleJellyx {VERSION}. - Three version files must match:
jellyx-desktop/Cargo.toml,jellyx-desktop/tauri.conf.json,ui/package.json. - Release notes from
scripts/generate-release-body.sh. - Validation via
scripts/validate-release.sh <tag> <release-title> [required-asset ...]; CI supplies the full expected asset list. - See Release Process for the full checklist.
Whenever a new release tag is created, the wiki MUST be updated in the same release work unit before the release is considered done. This is non-optional. See Wiki Maintenance.
This applies to all contributors doing release work, not only maintainers.
- Contributing — PR and CLA
- Release Process — release checklist
- Wiki Maintenance — wiki update procedure