docs: map existing codebase
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
# 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*
|
||||
Reference in New Issue
Block a user