Source: https://seerepo.com/r/xai-org/grok-build/built
Markdown source: https://seerepo.com/r/xai-org/grok-build/built.md
Description: grok-build is a Rust repo built with axum, Tokio, tower, and axum-server. It stores its data in SQLite and signs people in with jsonwebtoken, oauth2, and hmac.

# What is grok-build built with?

grok-build is a Rust repo built with axum, Tokio, tower, and axum-server. It stores its data in SQLite, signs people in with jsonwebtoken, oauth2, and hmac, uses AI through async-openai, agent-client-protocol, rmcp, bm25, and OpenAI, watches its errors with Sentry, makes its content with kamadak-exif, image, minijinja, pulldown-cmark, infer, and 8 more, validates its data with schemars and jsonschema, is tested with libfuzzer-sys, deploys with tracing, tracing-subscriber, prometheus, OpenTelemetry, tracing-appender, and 8 more, and uses aws-sdk-s3, rusqlite, moka, and sqlite-vec. It has 1,982,128 written lines, with 1,077 test files.

Read on November 8, 2026, at commit 2bdd1d6.

Repository: https://github.com/xai-org/grok-build

## Frontend

### Styles

- **anstyle**: 10 files
- **fontdb**: 1 file

### Interface

- **[Ratatui](https://seerepo.com/uses/ratatui)**: 223 files
- **[crossterm](https://seerepo.com/uses/crossterm)**: 102 files
- **alacritty_terminal**: 3 files
- **[ansi-to-tui](https://seerepo.com/uses/ansi-to-tui)**: 2 files
- **ratatui-core**: 2 files
- **[indicatif](https://seerepo.com/uses/indicatif)**: 1 file
- **tiny-skia**: 1 file

## Backend

### The base

- **[axum](https://seerepo.com/uses/axum)**: 43 files

### Data

- **[aws-sdk-s3](https://seerepo.com/uses/aws-sdk-s3)**
- **[rusqlite](https://seerepo.com/uses/rusqlite)**
- **[SQLite](https://seerepo.com/uses/sqlite)**: 35 files · [crates/codegen/xai-grok-memory/src/v2.rs, line 11](https://github.com/xai-org/grok-build/blob/2bdd1d6a6369de0e8c68132ea4539e9abd9e14a8/crates/codegen/xai-grok-memory/src/v2.rs#L11)
- **[moka](https://seerepo.com/uses/moka)**: 1 file
- **[sqlite-vec](https://seerepo.com/uses/sqlite-vec)**: 1 file

### Sign-in

- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 6 files
- **[oauth2](https://seerepo.com/uses/oauth2)**: 3 files
- **[hmac](https://seerepo.com/uses/hmac)**: 1 file

### AI

- **async-openai**
- **[agent-client-protocol](https://seerepo.com/uses/agent-client-protocol)**: 298 files
- **[rmcp](https://seerepo.com/uses/rmcp)**: 13 files
- **bm25**: 1 file

### Services

- **[OpenAI](https://seerepo.com/uses/openai)**: 13 files · [crates/codegen/xai-grok-sampling-types/src/lib.rs, line 36](https://github.com/xai-org/grok-build/blob/2bdd1d6a6369de0e8c68132ea4539e9abd9e14a8/crates/codegen/xai-grok-sampling-types/src/lib.rs#L36)
- **[Sentry](https://seerepo.com/uses/sentry)**: 1 file · [crates/codegen/xai-grok-telemetry/src/sentry.rs, line 6](https://github.com/xai-org/grok-build/blob/2bdd1d6a6369de0e8c68132ea4539e9abd9e14a8/crates/codegen/xai-grok-telemetry/src/sentry.rs#L6)

## Support

### The base

- **[Tokio](https://seerepo.com/uses/tokio)**: 625 files
- **[tower](https://seerepo.com/uses/tower)**: 2 files
- **axum-server**: 1 file

### Content

- **kamadak-exif**
- **[image](https://seerepo.com/uses/image)**: 21 files
- **minijinja**: 5 files
- **[pulldown-cmark](https://seerepo.com/uses/pulldown-cmark)**: 5 files
- **[infer](https://seerepo.com/uses/infer)**: 4 files
- **linkify**: 2 files
- **[zip](https://seerepo.com/uses/zip)**: 2 files
- **htmd**: 1 file
- **html-escape**: 1 file
- **pdf_oxide**: 1 file
- **[quick-xml](https://seerepo.com/uses/quick-xml)**: 1 file
- **[resvg](https://seerepo.com/uses/resvg)**: 1 file
- **scraper**: 1 file

### Validation

- **[schemars](https://seerepo.com/uses/schemars)**: 63 files
- **[jsonschema](https://seerepo.com/uses/jsonschema)**: 2 files

### Testing

- **libfuzzer-sys**

### Deploy

- **[tracing](https://seerepo.com/uses/tracing)**: 839 files
- **[tracing-subscriber](https://seerepo.com/uses/tracing-subscriber)**: 28 files
- **[prometheus](https://seerepo.com/uses/prometheus)**: 15 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 9 files
- **[tracing-appender](https://seerepo.com/uses/tracing-appender)**: 6 files
- **[tracing-opentelemetry](https://seerepo.com/uses/tracing-opentelemetry)**: 4 files
- **[log](https://seerepo.com/uses/log)**: 3 files
- **[opentelemetry-otlp](https://seerepo.com/uses/opentelemetry-otlp)**: 3 files
- **fastrace-opentelemetry**: 2 files
- **[opentelemetry-http](https://seerepo.com/uses/opentelemetry-http)**: 2 files
- **[env_logger](https://seerepo.com/uses/env-logger)**: 1 file
- **prometheus-parse**: 1 file
- **tracing-chrome**: 1 file

### Tools

- **clap**: 32 files
- **tree-sitter**: 11 files
- **derive_more**: 4 files
- **clap_complete**: 3 files
- **ts-rs**: 2 files
- **dhat**: 1 file
- **pprof**: 1 file
- **tree-sitter-bash**: 1 file
- **tree-sitter-go**: 1 file
- **tree-sitter-javascript**: 1 file
- **tree-sitter-python**: 1 file
- **tree-sitter-rust**: 1 file
- **tree-sitter-typescript**: 1 file

### Other

- **encoding_rs**
- **humantime-serde**
- **md5**
- **sha1**
- **tonic-prost**
- **serde_json**: 779 files
- **serde**: 609 files
- **tempfile**: 333 files
- **anyhow**: 204 files
- **chrono**: 188 files
- **thiserror**: 134 files
- **uuid**: 125 files
- **tokio-util**: 121 files
- **async-trait**: 120 files
- **dunce**: 117 files
- **strum**: 110 files
- **toml**: 99 files
- **parking_lot**: 89 files
- **unicode-width**: 88 files
- **reqwest**: 85 files
- **libc**: 72 files
- **indexmap**: 66 files
- **url**: 55 files
- **base64**: 51 files
- **futures**: 50 files
- **git2**: 44 files
- **regex**: 29 files
- **ignore**: 24 files
- **blake3**: 21 files
- **dashmap**: 20 files
- **arc-swap**: 18 files
- **fs2**: 18 files
- **sha2**: 18 files
- **gix**: 17 files
- **futures-util**: 14 files
- **semver**: 12 files
- **unicode-segmentation**: 12 files
- **windows**: 12 files
- **toml_edit**: 11 files
- **async-stream**: 10 files
- **globset**: 10 files
- **http**: 10 files
- **reqwest-middleware**: 10 files
- **urlencoding**: 10 files
- **nix**: 9 files
- **shellexpand**: 9 files
- **textwrap**: 9 files
- **portable-pty**: 8 files
- **rand**: 7 files
- **syntect**: 7 files
- **tokio-tungstenite**: 7 files
- **windows-sys**: 7 files
- **zstd**: 7 files
- **bytes**: 6 files
- **fastrace**: 6 files
- **flate2**: 6 files
- **notify**: 6 files
- **nucleo**: 6 files
- **similar**: 6 files
- **strip-ansi-escapes**: 6 files
- **which**: 6 files
- **num_cpus**: 5 files
- **opentelemetry-proto**: 5 files
- **rustls**: 5 files
- **tar**: 5 files
- **crossbeam**: 4 files
- **gethostname**: 4 files
- **prost**: 4 files
- **rcgen**: 4 files
- **serde_yaml**: 4 files
- **webbrowser**: 4 files
- **backon**: 3 files
- **educe**: 3 files
- **glob**: 3 files
- **notify-debouncer-full**: 3 files
- **rustc-hash**: 3 files
- **serde_ignored**: 3 files
- **shlex**: 3 files
- **tonic**: 3 files
- **tower-http**: 3 files
- **wait-timeout**: 3 files
- **ahash**: 2 files
- **bstr**: 2 files
- **core-foundation**: 2 files
- **dirs**: 2 files
- **hashbrown**: 2 files
- **httparse**: 2 files
- **mimalloc**: 2 files
- **nohash-hasher**: 2 files
- **once_cell**: 2 files
- **rayon**: 2 files
- **reflink-copy**: 2 files
- **rhai**: 2 files
- **smallvec**: 2 files
- **supports-color**: 2 files
- **tokio-stream**: 2 files
- **walkdir**: 2 files
- **webpki-roots**: 2 files
- **anstyle-parse**: 1 file
- **arboard**: 1 file
- **async-compression**: 1 file
- **aws-config**: 1 file
- **aws-smithy-http-client**: 1 file
- **backtrace**: 1 file
- **camino**: 1 file
- **cpal**: 1 file
- **crc32fast**: 1 file
- **dark-light**: 1 file
- **eventsource-stream**: 1 file
- **fastrace-tonic**: 1 file
- **fastrand**: 1 file
- **notify-debouncer-mini**: 1 file
- **objc2**: 1 file
- **petgraph**: 1 file
- **process-wrap**: 1 file
- **rapidhash**: 1 file
- **ring**: 1 file
- **rustls-native-certs**: 1 file
- **same-file**: 1 file
- **serde_path_to_error**: 1 file
- **signal-hook**: 1 file
- **siphasher**: 1 file
- **sse-stream**: 1 file
- **subtle**: 1 file
- **tikv-jemalloc-ctl**: 1 file
- **tikv-jemalloc-sys**: 1 file
- **tikv-jemallocator**: 1 file
- **time**: 1 file
- **tokio-retry**: 1 file
- **tokio-rustls**: 1 file
- **unicode-bidi**: 1 file
- **unicode-normalization**: 1 file
- **vte**: 1 file
- **whoami**: 1 file
- **wildmatch**: 1 file
- **wl-clipboard-rs**: 1 file
- **zbus**: 1 file
- **zeroize**: 1 file

## Other repos with a similar stack

- [openai/codex](https://seerepo.com/r/openai/codex/built): axum, SQLite, Sentry, Tokio, tower, Ratatui, crossterm, ansi-to-tui, jsonwebtoken, oauth2, hmac, rmcp, bm25, image, pulldown-cmark, linkify, zip, quick-xml, schemars, tracing, tracing-subscriber, OpenTelemetry, tracing-appender, tracing-opentelemetry, log, opentelemetry-otlp, opentelemetry-http · [Compare](https://seerepo.com/compare/openai/codex/vs/xai-org/grok-build)
- [openinterpreter/openinterpreter](https://seerepo.com/r/openinterpreter/openinterpreter/built): axum, Sentry, Tokio, tower, Ratatui, crossterm, ansi-to-tui, jsonwebtoken, hmac, agent-client-protocol, rmcp, bm25, image, pulldown-cmark, zip, quick-xml, schemars, tracing, tracing-subscriber, OpenTelemetry, tracing-appender, tracing-opentelemetry, log, opentelemetry-otlp, env_logger · [Compare](https://seerepo.com/compare/openinterpreter/openinterpreter/vs/xai-org/grok-build)
- [zed-industries/zed](https://seerepo.com/r/zed-industries/zed/built): axum, aws-sdk-s3, moka, Tokio, tower, alacritty_terminal, jsonwebtoken, agent-client-protocol, image, pulldown-cmark, linkify, quick-xml, resvg, schemars, jsonschema, tracing, tracing-subscriber, prometheus, log, env_logger · [Compare](https://seerepo.com/compare/xai-org/grok-build/vs/zed-industries/zed)
- [warpdotdev/warp](https://seerepo.com/r/warpdotdev/warp/built): axum, Sentry, Tokio, tower, fontdb, Ratatui, oauth2, rmcp, image, infer, zip, resvg, schemars, tracing, tracing-subscriber, OpenTelemetry, tracing-opentelemetry, log, opentelemetry-otlp, env_logger · [Compare](https://seerepo.com/compare/warpdotdev/warp/vs/xai-org/grok-build)
- [aaif-goose/goose](https://seerepo.com/r/aaif-goose/goose/built): axum, Tokio, axum-server, indicatif, oauth2, agent-client-protocol, rmcp, image, minijinja, pulldown-cmark, zip, schemars, jsonschema, tracing, tracing-subscriber, OpenTelemetry, tracing-appender, tracing-opentelemetry, opentelemetry-otlp · [Compare](https://seerepo.com/compare/aaif-goose/goose/vs/xai-org/grok-build)
- [janhq/jan](https://seerepo.com/r/janhq/jan/built): rusqlite, SQLite, OpenAI, Tokio, Ratatui, indicatif, oauth2, hmac, agent-client-protocol, rmcp, pulldown-cmark, infer, zip, quick-xml, schemars, log, env_logger · [Compare](https://seerepo.com/compare/janhq/jan/vs/xai-org/grok-build)

## Frequently asked questions

### What language is grok-build written in?

grok-build is written in Rust, with 1,982,128 written lines.

### What framework does grok-build use?

grok-build is built with axum, Tokio, tower, and axum-server.

### What database does grok-build use?

grok-build stores its data in SQLite.

The proof: [crates/codegen/xai-grok-memory/src/v2.rs, line 11](https://github.com/xai-org/grok-build/blob/2bdd1d6a6369de0e8c68132ea4539e9abd9e14a8/crates/codegen/xai-grok-memory/src/v2.rs#L11)

### What does grok-build sign people in with?

grok-build signs people in with jsonwebtoken, oauth2, and hmac.

### Does grok-build use AI?

Yes. grok-build uses AI through async-openai, agent-client-protocol, rmcp, bm25, and OpenAI.

### What services does grok-build use?

grok-build watches its errors with Sentry and uses aws-sdk-s3, rusqlite, moka, and sqlite-vec.

The proof: [crates/codegen/xai-grok-telemetry/src/sentry.rs, line 6](https://github.com/xai-org/grok-build/blob/2bdd1d6a6369de0e8c68132ea4539e9abd9e14a8/crates/codegen/xai-grok-telemetry/src/sentry.rs#L6)

### Does grok-build have tests?

Yes. grok-build has 1,077 test files and is tested with libfuzzer-sys.

### Which repos have a stack like grok-build's?

The ones that share most of its stack: openai/codex, openinterpreter/openinterpreter, and zed-industries/zed.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
