diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..9dd658a --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,34 @@ +# Contributing + +## Reporting Bugs + +Open an [issue](https://github.com/boldandbrad/spin/issues) with details. + +## Pull Requests + +1. Fork the repo +2. Make your changes +3. Run `go build ./... && go vet ./...` to verify +4. Submit a PR + +## Release Process + +When releasing a new version: + +1. **Update CHANGELOG.md** on `main`: + - Rename `## [Unreleased]` to `## [VERSION] - DATE` (e.g., `## [0.2.0] - 2026-04-18`) + - Add the release date + - Commit and push to `main` + +2. **Create the release**: + - Go to [Actions → Release → Run workflow](https://github.com/boldandbrad/spin/actions/workflows/release.yml) + - Enter the version (e.g., `v0.2.0`) + - Click "Run workflow" + +3. **Add release notes**: + - Copy the changelog section for the new version + - Paste into the GitHub release body + +## Development + +See [README.md](./README.md) for usage. \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 787df1c..0655ea7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: version: - description: 'Release version (e.g., v0.1.0)' + description: 'Release version (e.g., v0.1.0). Remember to update CHANGELOG.md on main before running!' required: true type: string diff --git a/README.md b/README.md index b171ab3..2a0bac8 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,11 @@ Interactively or programmatically scrobble tracks and albums to last.fm from the terminal. That's it. +> **Note**: The `main` branch represents active development. For specific +> releases, see the README associated with that tag on +> [GitHub](https://github.com/boldandbrad/spin/tags). See +> [CHANGELOG](./CHANGELOG.md) for release notes. + ## Install ```sh @@ -176,6 +181,13 @@ spin history -n 50 # set the number of results - 🔧 No config: just works out of the box - 🔒 Secure: session keys stored in system keychain +## Inspiration + +Spin was inspired by these projects: + +- [scrobbler](https://github.com/hauzer/scrobbler) - A simple CLI Last.fm scrobbler +- [OpenWebScrobbler](https://github.com/elamperti/OpenWebScrobbler) - A web-based scrobbler + ## License [MIT](./LICENSE)