xai-org/grok-build
Rust
Captured source
source ↗xai-org/grok-build
Description: SpaceXAI's coding agent harness and TUI. Fullscreen, mouse interactive, extensible.
Language: Rust
License: Apache-2.0
Stars: 6990
Forks: 1079
Open issues: 0
Created: 2026-07-14T20:04:23Z
Pushed: 2026-07-16T05:46:12Z
Default branch: main
Fork: no
Archived: no
README:
---
Installing the released binary
Prebuilt binaries are published for macOS, Linux, and Windows:
curl -fsSL https://x.ai/cli/install.sh | bash # macOS / Linux / Git Bash irm https://x.ai/cli/install.ps1 | iex # Windows PowerShell grok --version
See the changelog for the latest fixes, features, and improvements in each release.
Building from source
Requirements:
- Rust — the toolchain is pinned by [
rust-toolchain.toml](rust-toolchain.toml);
rustup installs it automatically on first build.
- protoc — proto codegen resolves [
bin/protoc](bin/protoc) (a
dotslash launcher) or falls back to a protoc on PATH / $PROTOC.
- macOS and Linux are supported build hosts; Windows builds are best-effort
and not currently tested from this tree.
cargo run -p xai-grok-pager-bin # build + launch the TUI cargo build -p xai-grok-pager-bin --release # release binary: target/release/xai-grok-pager cargo check -p xai-grok-pager-bin # fast validation
The binary artifact is named xai-grok-pager; official installs ship it as grok. On first launch it opens your browser to authenticate — see the [authentication guide](crates/codegen/xai-grok-pager/docs/user-guide/02-authentication.md).
Documentation
Full online documentation is available at docs.x.ai/build/overview.
The user guide ships with the pager crate: [crates/codegen/xai-grok-pager/docs/user-guide/](crates/codegen/xai-grok-pager/docs/user-guide/) — getting started, keyboard shortcuts, slash commands, configuration, theming, MCP servers, skills, plugins, hooks, headless mode, sandboxing, and more.
Repository layout
| Path | Contents | |------|----------| | crates/codegen/xai-grok-pager-bin | Composition-root package; builds the xai-grok-pager binary | | crates/codegen/xai-grok-pager | The TUI: scrollback, prompt, modals, rendering | | crates/codegen/xai-grok-shell | Agent runtime + leader/stdio/headless entry points | | crates/codegen/xai-grok-tools | Tool implementations (terminal, file edit, search, ...) | | crates/codegen/xai-grok-workspace | Host filesystem, VCS, execution, checkpoints | | crates/codegen/... | The rest of the CLI crate closure (config, MCP, markdown, sandbox, ...) | | crates/common/, crates/build/, prod/mc/ | Small shared leaf crates pulled in by the closure | | third_party/ | Vendored upstream source (Mermaid diagram stack) — see below |
> [!IMPORTANT] > The root Cargo.toml (workspace members, dependency versions, lints, > profiles) is generated — treat it as read-only. Prefer editing per-crate > Cargo.toml files.
Development
cargo check -p # always target specific crates; full-workspace builds are slow cargo test -p xai-grok-config # per-crate tests cargo clippy -p # lint config: clippy.toml at the repo root cargo fmt --all # rustfmt.toml at the repo root
Contributing
> [!NOTE] > External contributions are not accepted. See [CONTRIBUTING.md](CONTRIBUTING.md).
License
First-party code in this repository is licensed under the Apache License, Version 2.0 — see [LICENSE](LICENSE).
Third-party and vendored code remains under its original licenses. See:
- [
THIRD-PARTY-NOTICES](THIRD-PARTY-NOTICES) — crates.io / git dependencies,
bundled UI themes, and in-tree source ports (including openai/codex and sst/opencode tool implementations)
- [
crates/codegen/xai-grok-tools/THIRD_PARTY_NOTICES.md](crates/codegen/xai-grok-tools/THIRD_PARTY_NOTICES.md)
— crate-local notice for the codex and opencode ports (license texts + Apache §4(b) change notice)
- [
third_party/NOTICE](third_party/NOTICE) — vendored Mermaid-stack index
Excerpt shown — open the source for the full document.