Skip to main content

Crate wsb_github

Crate wsb_github 

Source
Expand description

GitHub for every project under $PRJ, mirrored once per machine.

  • client speaks GitHub: REST, and GraphQL for Projects boards.
  • mirror is the machine’s copy, in $PRJ/.state/github.db, shared by every process.
  • targets and checkout say what every project has on GitHub: its worktrees’ repositories and commits, and the boards it references (boards).
  • sync keeps the mirror current; service is everything a person does — reads from the mirror, writes through GitHub.
  • cli is wsb github.

The token is the GitHub CLI’s login, else GITHUB_TOKEN (token).

Re-exports§

pub use client::parse_github_url;
pub use client::GitHubClient;
pub use mirror::Mirror;
pub use mirror::Scope;
pub use mirror::Standing;
pub use service::Failure;
pub use service::Service;

Modules§

boards
The boards a project references.
checkout
What one checkout holds: the GitHub repositories in it, and the commit each is checked out at.
cli
wsb github — the machine’s GitHub mirror from the command line.
client
The GitHub API: REST for repositories, issues, gists and the rest, and GraphQL for Projects boards.
mirror
The machine’s copy of what GitHub said.
output
What the command line says, for a person or for a program.
service
Everything a person does with GitHub here, once.
sync
Keeping the mirror current.
targets
What the machine’s mirror holds: everything every project under $PRJ has on GitHub.
token
Where the GitHub token comes from.