Files
rustfs/crates/AGENTS.md

620 B

Crates Instructions

Applies to all paths under crates/.

Library Design

  • Treat crate code as reusable library code by default.
  • Prefer thiserror for library-facing error types.
  • Do not use unwrap(), expect(), or panic-driven control flow outside tests.

Testing

  • Keep unit tests close to the module they test.
  • Keep integration tests under each crate's tests/ directory.
  • Add regression tests for bug fixes and behavior changes.

Async and Performance

  • Keep async paths non-blocking.
  • Move CPU-heavy operations out of async hot paths with tokio::task::spawn_blocking when appropriate.