# AGENTS.md ## Introduction This is a modern Rust project for a Gemini server. Follow these guidelines for development, testing, and security. ## Testing - Use unit tests for individual components and integration tests for end-to-end features. - Test at appropriate levels to ensure reliability. ## Development Practices - Do not remove features unless explicitly ordered, especially those mentioned in README.md. - Pre-commit hooks run all tests before commits. - Follow modern Rust best practices. - Fix all compiler warnings before committing—they often indicate future bugs. ## Security - Cybersecurity is critical. Never remove guards for remote user input validation, such as URLs or file paths. ## Planning and Tracking - Use local BACKLOG.md to see planned work. - For multi-phase changes, add TODO items below the user story with checkboxes and update them during implementation. ## Tools - Use cargo for building and testing. - Run clippy for code quality checks. - Use fmt for code formatting. - Use --quiet flag to suppress startup output during testing. - Follow project-specific tool usage as needed. ## Logging - Use tracing for logging in nginx/apache style. - Output goes to stderr for journald/systemd handling. - No custom log files or eprintln.