# wsb-github
GitHub for every project under `$PRJ`, mirrored once per machine: issues,
pull requests, CI, releases, gists, notifications and Projects boards.
* One mirror per machine, in the workshop's database `$PRJ/.state/wsb.db`,
shared by every process.
Reads never touch the network and never need a token, and every answer says
how old it is.
* What to mirror is read from the projects: each worktree's repositories and
the commits they are on, and the boards each project works from, committed
as `boards` in its `.wsb/project.json`. Every board of the token's account
and its organisations is mirrored, cards included.
* Writes go to GitHub first, and the mirror takes GitHub's answer.
* The token is the GitHub CLI's login (`gh auth token`), else `GITHUB_TOKEN`.
```sh
wsb-github sync # or `wsb github sync`
wsb-github project items tooling --status "In progress"
```
The library is what the command line is built on; a workbench uses the same
`Service` and the same `sync::keep_current` schedule.
See the [GitHub Guide](https://jowharshamshiri.github.io/wsb/github-guide/).