Files
keep/AGENT.md
2025-09-11 17:24:38 -03:00

2.1 KiB

Agent Configuration

IMPORTANT: Prefer to use the write_file tool if the edit is for the majority of a file, or if you are correcting previous problems made edits from other tools.

Commands

IMPORTANT: Always export TERM=dumb. IMPORTANT: The cargo command cannot be ran in parallel.

Build

  • Build: TERM=dumb cargo build
  • Build release: TERM=dumb cargo build --release

Test

  • Run all tests: TERM=dumb cargo test
  • Run specific test: TERM=dumb cargo test TEST_NAME
  • Run tests with output: TERM=dumb cargo test -- --nocapture

Lint/Format Commands

  • Check formatting: TERM=dumb cargo fmt --check
  • Format code: TERM=dumb cargo fmt
  • Lint: TERM=dumb cargo clippy
  • Lint with errors: TERM=dumb cargo clippy -- -D warnings

Code Style Guidelines

Imports

  • Group imports in order: standard library, external crates, local modules
  • Use explicit imports over glob imports (use std::fs::File; not use std::fs::*;)

Formatting

  • Use rustfmt (configured via rustfmt.toml if exists)
  • Max line length: 100 characters
  • Indent with 4 spaces

Types

  • Prefer explicit types in public API
  • Use &str for string literals, String for owned strings
  • Use Option<T> for optional values, Result<T, E> for error handling

Naming Conventions

  • Use snake_case for variables and functions
  • Use PascalCase for types and traits
  • Use UPPER_SNAKE_CASE for constants and statics

Error Handling

  • Use anyhow::Result for most error handling
  • Use anyhow::Context to add context to errors
  • Avoid unwrap() in production code

Documentation

  • Document all public APIs with rustdoc
  • Use examples in documentation when helpful

Procedures

Fix build problems

Use this plan with sequential thinking:

  • Check the project using TERM=dumb cargo check
  • Identify the cause of any errors and warnings
  • If there are no errors or warnings, stop
  • If there are errors are warnings, create a plan to fix errors and warnings
  • Fix the files one at a time, not in parallel
  • Use the write_file tool to output the complete version of the corrected file