wsb_github/lib.rs
1//! GitHub for every project under `$PRJ`, mirrored once per machine.
2//!
3//! * [`client`] speaks GitHub: REST, and GraphQL for Projects boards.
4//! * [`mirror`] is the machine's copy, in `$PRJ/.state/github.db`, shared by
5//! every process.
6//! * [`targets`] and [`checkout`] say what every project has on GitHub:
7//! its worktrees' repositories and commits, and the boards it references
8//! ([`boards`]).
9//! * [`sync`] keeps the mirror current; [`service`] is everything a person
10//! does — reads from the mirror, writes through GitHub.
11//! * [`cli`] is `wsb github`.
12//!
13//! The token is the GitHub CLI's login, else `GITHUB_TOKEN` ([`token`]).
14
15pub mod boards;
16pub mod checkout;
17pub mod cli;
18pub mod client;
19pub mod mirror;
20pub mod output;
21pub mod service;
22pub mod sync;
23pub mod targets;
24pub mod token;
25
26pub use client::{parse_github_url, GitHubClient};
27pub use mirror::{Mirror, Scope, Standing};
28pub use service::{Failure, Service};