gfas

Crates.iogfas
lib.rsgfas
version2.0.2
sourcesrc
created_at2024-07-19 06:42:51.536616
updated_at2024-08-21 15:52:19.855998
descriptionSync GitHub followings to followers
homepagehttps://github.com/jwcub/gfas
repositoryhttps://github.com/jwcub/gfas
max_upload_size
id1308331
size53,848
(Resonaa)

documentation

README

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.

Commit count: 0

cargo fmt