GoThanks automatically stars Go's official repository and your go.mod github dependencies, providing a simple way to say thanks to the maintainers of the modules you use and the contributors of Go itself.

Build Status Go Report Card GoDoc

Give thanks (in the form of a GitHub ★) to your fellow Go modules maintainers.

About

GoThanks performs the following operations

  • Sends a star to Go's repo (github.com/golang.go)
  • Reads your go.mod file and sends a star to every Github repository that your app/library depends on

This is a simple way to say thanks to the maintainers of the modules you use and the contributors of Go itself.

Credits

GoThanks is a Go port of symfony/thanks implemented by Nicolas Grekas (nicolas-grekas) for PHP.

Original idea by Doug Tangren (softprops) for Rust.

Installation

$ go get -u github.com/psampaz/gothanks

Usage

In order to run GoThanks you need to have a valid Github Access Token with public_repo scope.

You can pass the token as an argument to GoThanks or store it in an environmental variable named GITHUB_TOKEN.

Inside the folder where your go.mod lives run:

$ ./gothanks -github-token=xxxxxx

or

$ export GITHUB_TOKEN=xxxxx
$ ./gothanks

Docker

Run

docker run -it --rm -v $(pwd):/home psampaz/gothanks:latest -github-token=xxxxxx

or

docker run -it --rm -v $(pwd):/home --env GITHUB_TOKEN=xxxxxx psampaz/gothanks:latest

Example

$ ./gothanks
Welcome to GoThanks :)

You are about to star you beloved dependencies.

Press y to continue or n to abort
y

Sending your love..

Repository github.com/golang/go is already starred!
Repository github.com/golang/net is already starred!
Sending a star to github.com/google/go-github
Sending a star to github.com/stretchr/testify
Sending a star to github.com/sirupsen/logrus

Thank you!

You can also run it on non-interactive environments using -y flag.

$ ./gothanks -y
Welcome to GoThanks :)

Sending your love..

Repository github.com/golang/go is already starred!
Repository github.com/google/go-github is already starred!
Repository github.com/sirkon/goproxy is already starred!
Repository github.com/golang/crypto is already starred!
Repository github.com/golang/net is already starred!
Repository github.com/golang/oauth2 is already starred!

Thank you!
Similar Resources

Provides a rest API that used to count how many times a certain repository of your github has been cloned.

Provides a rest API that used to count how many times a certain repository of your github has been cloned.

traffic-clones-api An apiserver for https://shields.io/endpoint. Description Provides a rest API that used to count how many times a certain repositor

Dec 19, 2021

This repository provides various utilities to help you build your NFT collection!

Attention! A powerful computer may be required! About This repository provides various utilities to help you build your NFT collection: Generate image

Nov 4, 2022

A corpus of popular Go modules

corpus A corpus of popular Go modules. See top-100.tsv for the latest sample. This corpus is to be used when analyzing or studying Go code.

Jan 6, 2023

Golang-module-references - A reference for how to setup a Golang project with modules - Task Management + Math Examples

Golang Module Project The purpose of this project is to act as a reference for setting up future Golang projects using modules. This project has a mat

Jan 2, 2022

Gitfofo - A cmdline tool utilized github api which can help you to explore your tech boundaries

Gitfofo - A cmdline tool utilized github api which can help you to explore your tech boundaries

why gitfofo gitfofo is a cmdline tool utilized github api which can help you to explore your tech boundaries, find more interest people in github. The

Nov 21, 2022

Ghdl - A much more convenient way to download GitHub release binaries on the command line, works on Win & Unix-like systems

ghdl Memorize ghdl as github download ghdl is a fast and simple program (and als

Oct 12, 2022

Stargather is fast GitHub repository stargazers information gathering tool

Stargather is fast GitHub repository stargazers information gathering tool that can scrapes: Organization, Location, Email, Twitter, Follow

Dec 12, 2022

Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. This repository holds my submission/answers for these challenges.

Advent of Code - Zach Howell's Answers Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels

Jan 4, 2022

Automatically generate Go test boilerplate from your source code.

Automatically generate Go test boilerplate from your source code.

gotests gotests makes writing Go tests easy. It's a Golang commandline tool that generates table driven tests based on its target source files' functi

Jan 3, 2023
Comments
  • Fix: Add new line on error

    Fix: Add new line on error

    See this on errors: Could not star github.com/satori/go PUT https://api.github.com/user/starred/satori/go: 404 Not Found []Repository github.com/golang/net is already starred!

    This commit adds the missing new line.

  • Allow periods in repository name

    Allow periods in repository name

    See fx https://github.com/satori/go.uuid

    Error I see when running gothanks: Sending a star to github.com/satori/go Could not star github.com/satori/go PUT https://api.github.com/user/starred/satori/go: 404 Not Found

  • Concurrently like all repos at once with goroutines

    Concurrently like all repos at once with goroutines

    I found that I can improve performance on potentially huge projects by liking all repos at the same time instead of sequentially. Used a separate goroutine for each repo, synced by a WaitGroup.

    Some additional thoughts:

    • Consider replacing each call to client.Activity.IsStarred() with a single initial call to client.Activity.ListStarred().
    • Not sure how GitHub API might behave with hundreds of simultaneous requests.

    I am quite new to Go and this is my first open source contribution in the language so please let me know if I missed something. Thanks!

This example implements a basic example of how to create your own modules, and how to call them from other modules

This example implements a basic example of how to create your own modules, and how to call them from other modules. In addition, an example of how to do unit tests is developed.

Feb 1, 2022
Code snippets by first time open source contributors

Introduction Golang code snippets by first time open source contributors Rules How to contribute Add a folder and create your desired code snippet fil

Oct 6, 2021
Collect stars by solving puzzles. Two puzzles will be made available on each day in the Advent calendar

Collect stars by solving puzzles. Two puzzles will be made available on each day in the Advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants one star.

Dec 6, 2021
将原项目改造成go module项目。GoReporter Use Go Modules.

GoReporter This project is a clone of https://github.com/qax-os/goreporter, use go modules. Installing Requirements go 1.16+ Graphviz go get -u github

Apr 20, 2022
TheOtherRolesInstaller - A simple tool to install the latest version of TheOtherRoles Mod

TheOtherRoles Installer This is a simple tool to install TheOtherRoles Mod for A

Sep 30, 2022
Squizit is a simple tool, that aim to help you get the grade you want, not the one you have learnt for.
Squizit is a simple tool, that aim to help you get the grade you want, not the one you have learnt for.

Squizit is a simple tool, that aim to help you get the grade you want, not the one you have learnt for. Screenshots First, input PIN Then enjoy! Hoste

Mar 11, 2022
The forgotten go tool that executes and caches binaries included in go.mod files.
The forgotten go tool that executes and caches binaries included in go.mod files.

The forgotten go tool that executes and caches binaries included in go.mod files. This makes it easy to version cli tools in your projects such as gol

Sep 27, 2022
detects conflicting requirements between multiple go.mod files

gomodconflict Prints out conflicting version requirements between multiple go.mod files. Building First download earthly. Then run: earthly +all buil

Nov 3, 2021
A toy repo used to test the functionality of "go mod why".

Mod Why Test Discussion From a module perspective: The main module (github.com/ejweber/mod-why-test) has a single direct dependency (github.com/ejwebe

Dec 1, 2021
go.mod file is the root of dependency management in Go

go.mod file is the root of dependency management in Go. All the modules which are needed or to be used in the project are maintained in go.mod file. I

Feb 9, 2022