# rust-scraper: Clean Architecture Web Scraper in Rust
A highly-performant, modular web scraper built with Rust, following Clean Architecture principles and featuring a Ratatui-based TUI.
## 🏗️ Architecture Summary
This project strictly follows Clean Architecture:
- **Domain**: Entities and business rules (traits).
- **Application**: Use cases and orchestration.
- **Infrastructure**: HTTP (reqwest), Persistence, etc.
- **Adapters**: CLI and TUI (Ratatui).
## 🛠️ Tech Stack
- **Language**: Rust (Stable)
- **Async**: Tokio
- **CLI/TUI**: Ratatui, Clap
- **Error Handling**: thiserror, anyhow
- **Serialization**: Serde
## 📁 Key Directories
- `src/domain`: Core logic.
- `src/application`: Use cases.
- `src/infra`: External world implementations.
- `src/presentation`: User interfaces (TUI/CLI).
- `tests/`: Integration tests.
- `.github/AGENT_INSTRUCTIONS.md`: Rules for AI agents.
## 🚀 Common Commands
- `cargo build`: Build the project.
- `cargo test`: Run tests.
- `cargo run`: Launch the TUI interface.
- `cargo clippy`: Quality checks.
## 🧠 LLM Context
- **Preferred Agent**: RUST-JARVIS (Expert Rust Architect).
- **Constraint**: Zero-panic policy (`unwrap()` prohibited).
- **Style**: Direct, sarcatic, senior-level code reviews.