Contributing
Thanks for your interest in contributing to Spotiline!
Code of Conduct
Be respectful, inclusive, and professional in all interactions.
Development Setup
git clone https://github.com/ejafee/spotiline.git
cd spotiline
cargo build
cargo test
PR Guidelines
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/my-feature) - Write tests for new functionality
- Run tests before committing (
cargo test) - Format code with
cargo fmt - Run clippy for lints (
cargo clippy) - Commit with clear, concise messages
- Push and create a pull request
Testing
cargo test --all
Acceptance tests (from PRD):
- Daemon runs 24h without memory leaks
spotiline status --json | jq .outputs valid JSON- TUI space key responds <100ms
- Network disconnect logs
[ERROR]with timestamp
Roadmap (v1.1+)
- Synced lyrics (lrclib.net integration)
- Podcast support
- Real-time FFT visualizer
- Playlist management
- Spotify Free tier support (if possible)
Questions?
Open an issue on GitHub.