Source: https://seerepo.com/r/atuinsh/atuin/built
Markdown source: https://seerepo.com/r/atuinsh/atuin/built.md
Description: atuin is a Rust repo built with axum, Tokio, tower, and objc2-foundation. It stores its data in sqlx and SQLite and reaches it with sql-builder.

# What is atuin built with?

atuin is a Rust repo built with axum, Tokio, tower, and objc2-foundation. It stores its data in sqlx and SQLite, reaches it with sql-builder, signs people in with rpassword and argon2, uses AI through rmcp, makes its content with pulldown-cmark, minijinja, plist, and yaml-rust2, validates its data with schemars, deploys with tracing, tracing-subscriber, metrics, listenfd, metrics-exporter-prometheus, and 5 more, and uses rusqlite, sqlx-mysql, sqlx-postgres, sqlx-sqlite, libsqlite3-sys, and 2 more. It has 240,516 written lines, with 64 test files.

Read on November 7, 2026, at commit 28fcb3d.

Repository: https://github.com/atuinsh/atuin

## Frontend

### Interface

- **[Ratatui](https://seerepo.com/uses/ratatui)**: 15 files
- **[crossterm](https://seerepo.com/uses/crossterm)**: 14 files
- **ratatui-core**: 5 files
- **[indicatif](https://seerepo.com/uses/indicatif)**: 4 files
- **ansi-to-tui**: 1 file

## Backend

### The base

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

### Data

- **[rusqlite](https://seerepo.com/uses/rusqlite)**
- **sqlx-mysql**
- **sqlx-postgres**
- **[sqlx-sqlite](https://seerepo.com/uses/sqlx-sqlite)**
- **[sqlx](https://seerepo.com/uses/sqlx)**: 39 files
- **[SQLite](https://seerepo.com/uses/sqlite)**: 6 files · [crates/atuin-client/src/ai_session/database.rs, line 2014](https://github.com/atuinsh/atuin/blob/28fcb3db32e5550543fc7ed93537963e246abf7c/crates/atuin-client/src/ai_session/database.rs#L2014)
- **libsqlite3-sys**: 1 file
- **[MySQL](https://seerepo.com/uses/mysql)**: 1 file · [crates/atuin-server/Cargo.toml, line 55](https://github.com/atuinsh/atuin/blob/28fcb3db32e5550543fc7ed93537963e246abf7c/crates/atuin-server/Cargo.toml#L55)
- **[Postgres](https://seerepo.com/uses/postgres)**: 1 file · [crates/atuin-server/Cargo.toml, line 55](https://github.com/atuinsh/atuin/blob/28fcb3db32e5550543fc7ed93537963e246abf7c/crates/atuin-server/Cargo.toml#L55)

### Data access

- **sql-builder**: 1 file

### Sign-in

- **rpassword**: 2 files
- **[argon2](https://seerepo.com/uses/argon2)**: 1 file

### AI

- **[rmcp](https://seerepo.com/uses/rmcp)**: 1 file

## Support

### The base

- **[Tokio](https://seerepo.com/uses/tokio)**: 174 files
- **[tower](https://seerepo.com/uses/tower)**: 6 files
- **[objc2-foundation](https://seerepo.com/uses/objc2-foundation)**: 1 file

### Content

- **[pulldown-cmark](https://seerepo.com/uses/pulldown-cmark)**: 2 files
- **minijinja**: 1 file
- **[plist](https://seerepo.com/uses/plist)**: 1 file
- **yaml-rust2**: 1 file

### Validation

- **[schemars](https://seerepo.com/uses/schemars)**: 8 files

### Deploy

- **[tracing](https://seerepo.com/uses/tracing)**: 135 files
- **[tracing-subscriber](https://seerepo.com/uses/tracing-subscriber)**: 7 files
- **metrics**: 4 files
- **listenfd**: 1 file
- **metrics-exporter-prometheus**: 1 file
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 1 file
- **[opentelemetry-otlp](https://seerepo.com/uses/opentelemetry-otlp)**: 1 file
- **[tracing-appender](https://seerepo.com/uses/tracing-appender)**: 1 file
- **tracing-futures**: 1 file
- **[tracing-opentelemetry](https://seerepo.com/uses/tracing-opentelemetry)**: 1 file

### Tools

- **locked-tripwire**
- **rust-embed**
- **clap**: 50 files
- **derive_more**: 37 files
- **tree-sitter**: 2 files
- **tree-sitter-bash**: 2 files
- **axoupdater**: 1 file
- **clap_complete**: 1 file
- **clap_complete_nushell**: 1 file
- **tree-sitter-powershell**: 1 file

### Other

- **serde_regex**
- **tonic-prost**
- **eyre**: 136 files
- **serde_json**: 123 files
- **time**: 104 files
- **thiserror**: 102 files
- **tempfile**: 86 files
- **serde**: 83 files
- **futures**: 59 files
- **easy-cast**: 51 files
- **uuid**: 41 files
- **parking_lot**: 27 files
- **secrecy**: 27 files
- **async-trait**: 24 files
- **async-stream**: 22 files
- **tonic**: 20 files
- **itertools**: 19 files
- **xxhash-rust**: 17 files
- **dirs**: 16 files
- **typed-builder**: 16 files
- **rustix**: 15 files
- **rmp**: 14 files
- **serde_with**: 14 files
- **url**: 14 files
- **enum_dispatch**: 13 files
- **regex**: 13 files
- **unicode-width**: 13 files
- **reqwest**: 12 files
- **shlex**: 11 files
- **fs-err**: 10 files
- **tokio-stream**: 10 files
- **prost**: 9 files
- **semver**: 9 files
- **strum_macros**: 9 files
- **bytesize**: 8 files
- **colored**: 8 files
- **toml_edit**: 8 files
- **memchr**: 7 files
- **prost-types**: 6 files
- **windows-sys**: 6 files
- **zstd**: 6 files
- **flume**: 5 files
- **interim**: 5 files
- **rand**: 5 files
- **bytes**: 4 files
- **chrono**: 4 files
- **futures-util**: 4 files
- **notify**: 4 files
- **sysinfo**: 4 files
- **base64**: 3 files
- **config**: 3 files
- **http**: 3 files
- **notify-debouncer-full**: 3 files
- **toml**: 3 files
- **unicode-segmentation**: 3 files
- **arboard**: 2 files
- **chrono-humanize**: 2 files
- **getrandom**: 2 files
- **glob-match**: 2 files
- **hyper-util**: 2 files
- **imara-diff**: 2 files
- **ipnet**: 2 files
- **libc**: 2 files
- **portable-pty**: 2 files
- **reqwest-middleware**: 2 files
- **rmp-serde**: 2 files
- **sha2**: 2 files
- **shellexpand**: 2 files
- **strum**: 2 files
- **const_format**: 1 file
- **dashmap**: 1 file
- **eventsource-stream**: 1 file
- **fixedbitset**: 1 file
- **humantime**: 1 file
- **hyper-tls**: 1 file
- **lasso**: 1 file
- **native-tls**: 1 file
- **num-traits**: 1 file
- **objc2**: 1 file
- **objc2-service-management**: 1 file
- **palette**: 1 file
- **ref-cast**: 1 file
- **tokio-util**: 1 file
- **tonic-types**: 1 file
- **tower-http**: 1 file
- **unicode-normalization**: 1 file
- **whoami**: 1 file
- **zeroize**: 1 file

## Other repos with a similar stack

- [openinterpreter/openinterpreter](https://seerepo.com/r/openinterpreter/openinterpreter/built): axum, sqlx, libsqlite3-sys, Tokio, tower, objc2-foundation, Ratatui, crossterm, ansi-to-tui, rmcp, pulldown-cmark, schemars, tracing, tracing-subscriber, OpenTelemetry, opentelemetry-otlp, tracing-appender, tracing-opentelemetry · [Compare](https://seerepo.com/compare/atuinsh/atuin/vs/openinterpreter/openinterpreter)
- [spacedriveapp/spacedrive](https://seerepo.com/r/spacedriveapp/spacedrive/built): axum, rusqlite, sqlx-sqlite, sqlx, SQLite, Tokio, tower, objc2-foundation, Ratatui, crossterm, indicatif, argon2, rmcp, tracing, tracing-subscriber, tracing-appender · [Compare](https://seerepo.com/compare/atuinsh/atuin/vs/spacedriveapp/spacedrive)
- [unionlabs/union](https://seerepo.com/r/unionlabs/union/built): axum, sqlx-postgres, sqlx, SQLite, Postgres, Tokio, tower, Ratatui, crossterm, schemars, tracing, tracing-subscriber, OpenTelemetry, opentelemetry-otlp, tracing-opentelemetry · [Compare](https://seerepo.com/compare/atuinsh/atuin/vs/unionlabs/union)
- [warpdotdev/warp](https://seerepo.com/r/warpdotdev/warp/built): axum, libsqlite3-sys, Tokio, tower, objc2-foundation, Ratatui, rmcp, plist, schemars, tracing, tracing-subscriber, OpenTelemetry, opentelemetry-otlp, tracing-futures, tracing-opentelemetry · [Compare](https://seerepo.com/compare/atuinsh/atuin/vs/warpdotdev/warp)
- [aaif-goose/goose](https://seerepo.com/r/aaif-goose/goose/built): axum, sqlx, Tokio, indicatif, rmcp, pulldown-cmark, minijinja, schemars, tracing, tracing-subscriber, OpenTelemetry, opentelemetry-otlp, tracing-appender, tracing-futures, tracing-opentelemetry · [Compare](https://seerepo.com/compare/aaif-goose/goose/vs/atuinsh/atuin)
- [sgl-project/sglang](https://seerepo.com/r/sgl-project/sglang/built): axum, Tokio, tower, indicatif, rmcp, minijinja, tracing, tracing-subscriber, metrics, metrics-exporter-prometheus, OpenTelemetry, opentelemetry-otlp, tracing-appender, tracing-opentelemetry · [Compare](https://seerepo.com/compare/atuinsh/atuin/vs/sgl-project/sglang)

## Frequently asked questions

### What language is atuin written in?

atuin is written in Rust, with 240,516 written lines.

### What framework does atuin use?

atuin is built with axum, Tokio, tower, and objc2-foundation.

### What database does atuin use?

atuin stores its data in sqlx and SQLite and reaches it with sql-builder.

### What does atuin sign people in with?

atuin signs people in with rpassword and argon2.

### Does atuin use AI?

Yes. atuin uses AI through rmcp.

### What services does atuin use?

atuin uses rusqlite, sqlx-mysql, sqlx-postgres, sqlx-sqlite, libsqlite3-sys, MySQL, and Postgres.

### Does atuin have tests?

Yes. atuin has 64 test files.

### Which repos have a stack like atuin's?

The ones that share most of its stack: openinterpreter/openinterpreter, spacedriveapp/spacedrive, and unionlabs/union.

## 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.
