5 releases (stable)

2.0.2 Aug 21, 2024
1.0.0 Jul 19, 2024
0.1.0 Jul 19, 2024

#40 in #follow

Download history 206/week @ 2024-07-18 25/week @ 2024-07-25 4/week @ 2024-08-01 230/week @ 2024-08-15 130/week @ 2024-08-22 4/week @ 2024-09-12 4/week @ 2024-09-19

180 downloads per month

Unlicense

17KB
98 lines

gfas

GitHub Following Auto Synchronization

GitHub Actions Crates.io Downloads License GitHub repo size GitHub Repo stars GitHub commit activity GitHub contributors

Overview

gfas synchronizes your GitHub followings to your followers. It runs on CLI and can be scheduled automatically with GitHub Actions.

Usage

GitHub Actions

  • Fork this repository.
  • Create a personal access token with the user:follow permission.
  • Set an action secret named TOKEN in the repository containing the token value.
  • You are ready to follow back automatically!
  • (Optional) Modify the scheduled time in .github/workflow/sync.yml. By default, it runs at 0 minutes past the hour every 6 hours.
  • (Optional) Maybe you want to trigger the Sync workflow manually to see the effect.

CLI

$ cargo install gfas
$ gfas --help
Sync GitHub followings to followers

Usage: gfas.exe [OPTIONS] --user <USER> --token <TOKEN>

Options:
  -u, --user <USER>    Current user
  -t, --token <TOKEN>  Access token
  -v, --verbose...     Increase logging verbosity
  -q, --quiet...       Decrease logging verbosity
  -h, --help           Print help
  -V, --version        Print version

API

This crate also exports some GitHub API bindings which can be used to build your application.

$ cargo add gfas
use gfas::GitHub;

let github = GitHub::with_token("<TOKEN>")?;

github.follow("<USER-TO-FOLLOW>").await?;

Refer to the Documentation for more information.

Development

$ git clone https://github.com/jwcub/gfas.git
$ cd gfas
$ cargo build --release
$ ./target/release/gfas --help

Contributing

Before pushing your commits, be sure to run through all the checks:

$ cargo clippy
$ cargo fmt
$ cargo build
$ cargo doc --no-deps --lib

License

This project is licensed under the Unlicense.

Dependencies

~8–20MB
~259K SLoC