3.6 KiB
3.6 KiB
Technology Stack
Analysis Date: 2026-02-28
Languages
Primary:
- Rust - CLI/TUI application for markdown bulletin board system
Runtime
Environment:
- Rust compiler and runtime
Package Manager:
- Cargo
- Lockfile:
Cargo.lockpresent
Frameworks
Core:
- ratatui 0.30.0 - Terminal user interface (TUI) framework for building rich CLI applications
Build:
- cargo - Rust package manager and build system
Key Dependencies
Critical:
- ratatui 0.30.0 - Main TUI framework providing terminal rendering, event handling, and widgets
- ratatui-core - Core functionality for ratatui
- ratatui-crossterm - Crossterm backend integration for ratatui
- ratatui-macros - Proc macros for ratatui
- ratatui-termwiz - Termwiz backend support for ratatui
- ratatui-widgets - Widget library for ratatui
Terminal & Input:
- crossterm 0.29.0 - Cross-platform terminal manipulation library (Windows/Unix compatible)
- signal-hook - Unix signal handling for clean shutdowns
- signal-hook-mio - Integration between signal-hook and mio
- termwiz - Terminal operations library with wide character support
- terminfo - Terminal capability detection
- vtparse - VT100 escape sequence parser
- utf8parse - UTF-8 parsing utilities
UI Rendering & Text:
- unicode-width - Calculate display width of unicode characters
- unicode-truncate - Truncate unicode strings to display width
- unicode-segmentation - Segment unicode text
- wezterm-bidi - Bidirectional text support
- fancy-regex - Advanced regex support with lookahead/lookbehind
- regex 1.x - Regular expression library
Graphics & Color:
- csscolorparser 0.6.2 - Parse CSS color strings
- wezterm-color-types - Color type definitions
- euclid - 2D and 3D geometry primitives
- line-clipping - Line clipping algorithms
Data Structures & Utilities:
- indexmap - Hash map preserving insertion order
- hashbrown - Faster hashmap implementation
- smallvec - Vector that stores small amounts inline
- itertools - Iterator extensions
- nom - Parser combinators library
- pest - PEG parser generator
- strum/strum_macros - Enum utilities and macros
Serialization:
- serde/serde_json - Serialization framework
- base64 - Base64 encoding/decoding
Error Handling:
- anyhow 1.0.102 - Flexible error handling
- thiserror - Structured error types
Platform Support:
- libc - C library bindings (Unix)
- rustix - Wrapper around system calls
- nix - Unix-like API bindings
- winapi - Windows API bindings
- windows-sys - Windows system APIs
- parking_lot - Synchronization primitives
Hashing & Crypto:
- sha2 - SHA-2 digest algorithms
- xxhash-rust - xxHash algorithm
UUID & ID Generation:
- uuid - UUID generation and parsing
- mac_address - MAC address utilities
Logging:
- log - Logging facade
Development & Macros:
- syn - Rust syntax tree parsing
- quote - Quoting for proc macros
- proc-macro2 - Proc macro utilities
- darling - Attribute macro argument parsing
Configuration
Build Configuration:
- Edition: 2024 (Rust edition)
- Target: Binary executable
- Manifest:
Cargo.toml
Dependencies Management:
- Lock file:
Cargo.lockensures reproducible builds - All dependencies from crates.io registry
- Transitive dependency management handled by Cargo
Platform Requirements
Development:
- Rust toolchain (cargo)
- POSIX-compliant system (Linux, macOS) or Windows
- Terminal support for modern escape sequences
Production:
- Binary compiled for target platform (Linux, macOS, Windows)
- Terminal with VT100 escape sequence support
- UTF-8 capable terminal
Stack analysis: 2026-02-28