An open API service indexing awesome lists of open source software.

https://github.com/thetnaingtn/synrk

Synchronize your forks with ease
https://github.com/thetnaingtn/synrk

bubble bubbletea cli fork github github-api go synchronize

Last synced: 3 months ago
JSON representation

Synchronize your forks with ease

Awesome Lists containing this project

README

          


synrk



synrk is a CLI tool that you can use to synchronize your forks with upstream repositories. You can select more than one repository at a time and synchronize them.

----

>[!warning]
> **`synrk` was previously known as `forky`**. The package has been renamed for clarity and future development. The codebase remains the same—only the name has changed.
>
> `forky` is now deprecated and will no longer receive updates.

## Demo
### Dark
![forky-dark](./forky-dark.gif)
### Light
![forky-light](./forky-light.gif)
## How does synrk work basically?
**synrk** detect the `default` branch(`main`, `master`, or `trunk` whatever it is) of your forked repository and will try to compare it with the upstream repository's `same-named` branch to find how many commits behind by your forked repositories are. Then it will show available forks which left behind the upstream repositories to synchronize.
## Installation
### Mac OS
```sh
brew install thetnaingtn/tap/synrk
```
### npm
Are you a Node.js developer or Node.js is installed on your system? Perfect! **synrk** also available as **npm** package
```sh
npx synrk@latest --token `your github token`
```

## Usage
```sh
synrk --token `your github token`
```
## Keymaps
You can use the following keys to interact with **synrk**
| Key | Description |
|:-----------------|:--------------------------------------------|
| a | Select all forks |
| n | Select none of the forks |
| space | Toggle(select/unselect) the fork |
| r | Refresh |
| m | Merge the selected fork with upstream branch|
| q | Quit |