diff --git a/AGENTS.md b/AGENTS.md index 44d2439..0fdf1ac 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,10 +5,13 @@ This file provides essential information for agentic coding agents working on th ## Project Overview rhttpd is a high-performance, configurable HTTP server written in Rust that supports: -- Multi-site hosting on a single port -- Multiple proxy types (reverse, forward, TCP) -- JavaScript dynamic configuration -- Static file serving with MIME type detection +- Multi-site hosting on a single port with host-based routing +- Multiple proxy types (reverse, forward, TCP/WebSocket) +- JavaScript dynamic configuration via QuickJS (rquickjs) +- Static file serving with automatic MIME type detection +- Load balancing with 5 algorithms (round_robin, least_connections, weighted_round_robin, ip_hash, random) +- Connection pooling and health checking +- Three-tier middleware system (global, site, route level) ## Build, Test, and Development Commands @@ -51,6 +54,11 @@ cargo doc --open cargo clean ``` +### Test Structure +- **Unit tests**: 3 tests in `src/config/tests.rs` (config serialization, default config, route pattern matching) +- **Integration tests**: 6 tests in `tests/integration_tests.rs` (static files, config loading, connection pool, load balancer, TCP proxy, TCP proxy stats) +- **Current status**: All tests pass (3 unit + 6 integration = 9 total) + ## Code Style Guidelines ### General Rust Conventions