2026-03-05 20:30:19 +09:00
|
|
|
# AGENTS.md
|
2026-01-15 08:21:37 +09:00
|
|
|
|
2026-03-05 20:30:19 +09:00
|
|
|
## Introduction
|
|
|
|
|
This is a modern Rust project for a Gemini server. Follow these guidelines for
|
|
|
|
|
development, testing, and security.
|
2026-01-16 00:17:34 +00:00
|
|
|
|
2026-01-16 06:00:18 +00:00
|
|
|
## Testing
|
2026-03-05 20:30:19 +09:00
|
|
|
- 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.
|