Add "bundle" command: create zip with song + referenced files
- Dominant language
- C
- Stars
- 13
- Forks
- 1
- Avg merge
- 19m
- Merged PRs (30d)
- 4
Description
Add a "bundle" command (or equivalent save-for-distribution flow) that packages a song and all referenced assets into a single ZIP suitable for distribution.
Acceptance criteria / expected behavior:
- "bundle" button on settings screen, near save/load
- Load a zip bundle with existing "load" button
- Produces a .zip containing the main song file plus any referenced files (samples, wavetables, CLAP plugin data, etc.) with relative paths preserved.
- Resolves and includes referenced files from local paths and project-relative references; warns (but still includes) for missing external files.
- Deterministic output: same input produces same zip contents/order where possible.
- CLI: `poketrack --bundle `
- Tests: add a unit/integration test that creates a sample project with referenced files and verifies the produced zip contains expected files and manifest.
Notes:
- Keep the feature optional; it should not alter existing save behavior.
Contributor guide
Research direction
Trace the settings screen's save/load flow and the CLI entry point for `poketrack --bundle `; first inspect how referenced assets and relative paths are represented. Add a bundle path that preserves existing save behavior, then add a unit or integration test creating referenced files and checking the ZIP contents, order, and manifest.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- cli, desktop, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100