Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,29 @@ graft is early. The design is [docs/design.md](docs/design.md); work lands
on short-lived branches through the merge queue. See
[CONTRIBUTING.md](CONTRIBUTING.md).

## Documentation

User guide:

- [Concepts](docs/guide/concepts.md): glossary and the git-to-graft table.
- [MCP](docs/guide/mcp.md): every MCP tool, with its arguments and results.
- [Server](docs/guide/server.md): config, tokens, repositories, lines, metrics and upgrades.
- [Git migration](docs/guide/git-migration.md): import, follow GitHub, batch pull requests and export.
- [FAQ](docs/guide/faq.md): git compatibility, offline use, lines, CI and the licence.
- [Benchmarks](docs/guide/benchmarks.md): how the published timings were measured.
- [Agents](docs/agents.md): how an agent session uses graft.

[The same index](docs/guide/README.md) lives with the guide.

## How it is built

- [Design](docs/design.md)
- [Plan](docs/plan.md)
- [Decisions](docs/decisions.md)
- [Status](docs/status.md)
- [Trials](docs/trials)
- [Notes](docs/notes)

## Licence

[AGPL-3.0-only](LICENSE).
3 changes: 3 additions & 0 deletions changes/WI-2538.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# WI-2538: graft doctor checks config, server, endpoint, protocol and token

`graft doctor` prints `ok`, `fail` or `skip` for the user config, the resolved server, one unauthenticated default-line read, protocol compatibility, and a peeked token (expiry and scopes only). `--json` prints `{checks: [{name, ok, status, detail}]}` with `status` of `pass`, `fail` or `skip`. Exit 0 when every check passes, 1 when any fails or is skipped, and 2 for a usage error or an unreadable working copy before the checks run. The token is never printed.
1 change: 1 addition & 0 deletions changes/WI-2549.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- User guide pages are indexed from the README and `docs/guide/README.md`, with the engineering record under "How it is built". `scripts/check-guide-names.sh` fails when the guide names an estate host, tracker, trial or internal id.
1 change: 1 addition & 0 deletions crates/graft-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ base64.workspace = true
clap.workspace = true
clap_complete.workspace = true
clap_mangen.workspace = true
graft-auth.workspace = true
graft-client.workspace = true
graft-mirror = { path = "../graft-mirror" }
graft-node = { path = "../graft-node" }
Expand Down
8 changes: 8 additions & 0 deletions crates/graft-cli/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,14 @@ pub(crate) enum Command {
Logout(LogoutArgs),
/// Inspect user configuration
Config(ConfigArgs),
/// Check config, server, endpoint, protocol and token
///
/// Exit status:
///
/// * 0 every check passes
/// * 1 any check fails or is skipped
/// * 2 a usage error, or the working copy cannot be read, before the checks run
Doctor,
/// Create a local repository and working copy
Init(InitArgs),
/// Open a workspace and lay out a sparse working copy
Expand Down
Loading
Loading