# 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, at `$PRJ/.state/github.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 references in
`$PRJ/.state/projects/<project>/github.json`.
* 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/).