# 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.lock` present ## 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.lock` ensures 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*