🔮 Oracle
A blazing-fast Rust code inspector for the terminal
Oracle is a terminal-based application for exploring Rust codebases. It parses your Rust source files and provides an interactive interface to browse functions, structs, enums, traits, and more — all without leaving your terminal.
Built with Ratatui for a smooth, responsive TUI experience.

✨ Features
-
📦 Code Analysis — Parses Rust source files using
syn:- Functions (parameters, return types, async/const/unsafe)
- Structs (fields, derives, generics)
- Enums (variants with all field types)
- Traits (methods, associated types, supertraits)
- Impl blocks (inherent and trait implementations)
- Modules, Type aliases, Constants, Statics
-
🔍 Smart Search — Fuzzy matching with real-time filtering
-
📋 Dependency Analysis — Visualize
Cargo.tomldependencies -
🎨 Multiple Themes — Default Dark, Nord, Catppuccin Mocha, Dracula
-
⚡ Smooth Animations — Selection highlights, tab transitions
-
⌨️ Vim-style Navigation —
j/kfor movement,/for search

📦 Installation
From crates.io (recommended)
With Rust and Cargo installed:
The binary is still named oracle; run it with oracle.
From source
# or: make install
Pre-built binaries
See Releases for Linux (x86_64), macOS (x86_64, Apple Silicon), and Windows (x86_64) binaries.
🚀 Usage

# Cd into the project directory
# Analyze current directory (must be a Cargo project root or folder with .rs files)
⌨️ Keyboard Shortcuts
| Key | Action |
|---|---|
Tab / Shift+Tab |
Switch between panels |
↑/↓ or j/k |
Navigate list / Scroll inspector |
Enter / → / l |
View item details |
← / h |
Back to list |
/ |
Focus search |
1-4 |
Switch tabs (Types/Functions/Modules/Dependencies) |
g / G |
Jump to first/last item |
PgUp / PgDn |
Page navigation |
? |
Show help |
q / Esc |
Quit |
🛠️ Development
# See all commands
# Install development tools
# Full check (format, lint, typecheck)
# Run linter
# Run tests
# Build release
📤 Releasing (maintainers)
- Publish to crates.io (after
cargo login):make publish-dry-runthenmake publish. The crate is published as oracle-tui (the name "oracle" is taken by another project on crates.io). - GitHub Release: Push a version tag (e.g.
v0.1.0). The release workflow builds binaries for Linux, macOS (Intel + Apple Silicon), and Windows and creates a release. Optionally setCARGO_REGISTRY_TOKENin repo secrets to auto-publish to crates.io on tag push.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feat/amazing-feature) - Commit your changes using Conventional Commits
- Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
Commit Convention
We use Conventional Commits. Examples:
feat: add new search featurefix: correct parsing errordocs: update READMErefactor!: change API structure(breaking change)
📄 License
This project is licensed under the MIT License.