v4.1.0Home

Architecture

The technical stack and the binary layout — useful when filing bugs, reading source, or building a custom packaging.

Stack

LayerTech
LanguageRust (stable)
TUI frameworkRatatui
Terminal backendcrossterm
Async runtimetokio
Shell executionportable-pty (bash / zsh / fish / pwsh)
ConfigTOML + serde
HTTP (kit registry)reqwest + rustls
AI / vixenlocal Ollama, optional remote
Window (macOS)Cocoa via winit
Window (Linux)Wayland + X11 via winit
Window (Windows)Win32 via winit
Glyph renderingCPU (default); optional wgpu in v1.5

Binary layout

foxora-shell  (single static binary, ~15–25 MB stripped)
├─ Terminal emulator core   (crossterm + winit)
├─ Ratatui UI layer        (chrome, top bar, footer, dashboard)
├─ Shell execution         (PTY wrapper)
├─ Embedded fur            (package, service, log, doctor)
  ├─ registry client
  ├─ platform abstraction (systemd / launchd / Win SCM)
  ├─ kit installer
  └─ system doctor
└─ Vixen client            (talks to local Ollama)

Performance targets

  • Startup — <100 ms cold start to interactive prompt.
  • Keystroke latency — <5 ms p99.
  • fur install (small kit) — <3 s end-to-end.
  • fur system doctor — <500 ms.
  • Dashboard refresh — 2 Hz (every 500 ms).
  • Memory — <80 MB idle, <200 MB with dashboard + 4 panes.

Source layout

/foxora-shell/
├─ crates/
  ├─ foxora-shell/        # main binary
  ├─ fur/                 # fur library (embedded + standalone)
  ├─ foxora-theme/        # shared Ember tokens
  ├─ foxora-vixen/        # AI client
  └─ foxora-ratatui-kit/  # custom widgets
├─ assets/                 # icons, fonts, themes
├─ docs/
├─ Cargo.toml
└─ build.rs