thanks-stars

Crates.iothanks-stars
lib.rsthanks-stars
version0.10.1
created_at2025-10-22 16:58:53.112347+00
updated_at2025-10-27 11:45:53.368545+00
descriptionStar the GitHub repositories backing your project's dependencies from the command line.
homepagehttps://github.com/Kenzo-Wada/thanks-stars
repositoryhttps://github.com/Kenzo-Wada/thanks-stars
max_upload_size
id1895953
size329,761
Kenzo Wada (Kenzo-Wada)

documentation

https://github.com/Kenzo-Wada/thanks-stars#readme

README

🌟 Thanks Stars

Thanks Stars is a command-line companion that stars the GitHub repositories powering your project so you can show appreciation to the maintainers of your dependencies. It draws inspiration from teppeis/thank-you-stars, but reimagines the experience in Rust with first-class support for multiple ecosystems.

https://github.com/user-attachments/assets/d7a7b047-312e-4d56-ba5d-25ed6eb2e5ce

✨ Highlights

  • Detects dependencies across popular package managers and build tools.
  • Uses your GitHub personal access token to star repositories on your behalf.
  • Provides friendly progress output and summarizes what happened at the end of a run.

🧭 Supported Ecosystems

The following ecosystems are currently detected when you run the tool:

Ecosystem Detection Source Implementation
Cargo (Rust) Cargo.toml src/ecosystems/cargo.rs
Node.js package.json src/ecosystems/node.rs
Deno deno.lock, deno.json, deno.jsonc src/ecosystems/deno.rs
JSR jsr.json src/ecosystems/jsr.rs
Go (Go Modules) go.mod src/ecosystems/go.rs
Dart pubspec.yaml src/ecosystems/dart.rs
Composer (PHP) composer.lock / composer.json src/ecosystems/composer.rs
Ruby (Bundler) Gemfile / Gemfile.lock src/ecosystems/ruby.rs
Python pyproject.toml / requirements.txt / Pipfile / Pipfile.lock / uv.lock src/ecosystems/python.rs
R (renv) renv.lock src/ecosystems/renv.rs
Gradle gradle.lockfile / build.gradle / build.gradle.kts src/ecosystems/gradle.rs
Maven pom.xml src/ecosystems/maven.rs
Haskell package.yaml / *.cabal / stack.yaml / cabal.project src/ecosystems/haskell.rs

Looking for support for a different ecosystem? Open an ecosystem support request and tell us about the manifest and lockfiles we should detect.

🚀 Installation

Choose the installation method that best fits your environment:

🍺 Homebrew

$ brew tap Kenzo-Wada/thanks-stars
$ brew install thanks-stars

🦀 Cargo

$ cargo install thanks-stars

📦 npm

$ npm install -g thanks-stars

💻 Shell installer (macOS/Linux)

$ curl -LSfs https://github.com/Kenzo-Wada/thanks-stars/releases/latest/download/thanks-stars-installer.sh | sh

🪟 PowerShell installer (Windows)

$ iwr https://github.com/Kenzo-Wada/thanks-stars/releases/latest/download/thanks-stars-installer.ps1 -useb | iex

🐧 Linux package managers

Native packages like apt/apt-get, pacman, nix, etc... are not published yet. Until a maintainer volunteers to host those repositories, please use one of the installers above or the manual download method. Contributions toward official Linux packages are very welcome—see CONTRIBUTING.md for coordination details.

📦 Manual download

Grab the archive for your platform from the GitHub Releases page and place the thanks-stars binary somewhere on your PATH.

🛠 Usage

Authenticate once with a GitHub personal access token, then run the tool in the root of your project.

Authenticate with GitHub

$ thanks-stars auth --token ghp_your_token_here

If you omit --token, the command will prompt you to paste it securely. By default the configuration is stored in a user-specific config.toml; you can override the storage location with the THANKS_STARS_CONFIG_DIR environment variable.

Run inside your project

$ cd path/to/your/project
$ thanks-stars

Example output:

$ thanks-stars
⭐ Starred https://github.com/xxx/xxx via Cargo.toml
✅ Already starred https://github.com/xxx/xxx via package.json
...
✨ Completed! ⭐ Starred 10 repositories.

Run thanks-stars --help to explore all available options.

Preview your run with --dry-run

If you want to see which repositories would be starred without making any changes to your GitHub account, pass the --dry-run flag:

$ thanks-stars --dry-run
⭐ Would star https://github.com/xxx/xxx via Cargo.toml
✅ Already starred https://github.com/xxx/yyy via package.json
✨ Dry run complete! ⭐ 1 repository would be starred, ✅ 1 already starred.

The command still inspects your dependencies so it can report which ones are already starred, but it avoids sending any API requests that would change your starred repositories.


Thanks Stars helps you recognize the maintainers who keep your stack running—so while you're at it, don't forget to ⭐ this project too!

Commit count: 0

cargo fmt