1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[]
= "vcs-github"
= "0.5.0"
= "Automate the GitHub CLI (gh) from Rust through process execution."
= true
= true
= true
= true
= true
= "README.md"
[]
# Runs `gh` inside an OS job (Windows Job Object / Linux cgroup) so the process
# tree is killed on close — no orphaned subprocesses. Also the `ProcessRunner`
# seam, `CliClient` core, and structured `Error`.
= true
# Shared processkit-coupled plumbing: the argv injection guard (`reject_flag_like`).
= { = "../cli-support", = "0.1" }
# Deserialize `gh … --json` output into typed structs (PullRequest/Issue/Repo).
= { = "1", = ["derive"] }
= "1"
# `async fn` in the object-safe `GitHubApi` trait (dyn + mockall friendly).
= "0.1"
# Auto-generated `MockGitHubApi` for consumers' tests. Test-only — enabled only
# via the `mock` feature, never compiled into production builds.
= { = "0.13", = true }
[]
# Expose the `mockall`-generated `MockGitHubApi` (and pull in processkit's mocks).
= ["dep:mockall", "processkit/mock"]
# Emit a `tracing` event per command run (forwards to processkit's `tracing`).
= ["processkit/tracing"]
# Off by default. Pulls in processkit's `cancellation` feature so `cli_client!`
# emits `GitHub::default_cancel_on(token)` — a consumer builds a cancellable client
# (every command dies when the token fires) and passes it through the facade. No new
# vcs-* API; `CancellationToken` is re-exported from `processkit`.
= ["processkit/cancellation"]
[]
# `#[tokio::test]` for the async unit/integration tests; `time` + `test-util`
# back the paused-clock cancellation test (`start_paused`, `time::timeout`).
= { = "1", = ["macros", "rt-multi-thread", "time", "test-util"] }
[]
# Build docs.rs with every feature so the optional surfaces (mock / tracing /
# cancellation / serde / stream) are documented (defaults alone hide them), and pass
# `--cfg docsrs` so feature-gated items render an "Available on feature `x`" badge.
= true
= ["--cfg", "docsrs"]
[]
= true