Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 8 additions & 14 deletions src/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ The `async` and `blocking` features are mutually exclusive - enabling both cause
- `src/absolute/` - Unrestricted file system tools
- `src/allowed/` - Sandboxed file system tools
- `src/bash.rs`, `src/task.rs`, etc. - Standalone tools
- `llm-coding-tools-serdesai/` - serdesAI framework Tool implementations
- `src/absolute/` - Unrestricted file system tools
- `src/allowed/` - Sandboxed file system tools
- `src/schema.rs` - Schema building utilities
- `src/convert.rs` - Type conversions between core and serdesAI

# Code & Performance Guidelines

Expand All @@ -31,7 +36,6 @@ This is a high-performance library. Optimize aggressively.
- `String::with_capacity(estimated_len)`
- `Vec::with_capacity(count)`
- `BufReader::with_capacity(size, reader)`
- Use power-of-two sizes for allocator efficiency: `.next_power_of_two()`
- Prefer `&str` / `&[T]` returns over owned types when lifetime allows
- Use `Cow<'_, str>` for conditional ownership (e.g., `String::from_utf8_lossy`)
- Use `&'static str` for compile-time constant strings
Expand Down Expand Up @@ -71,23 +75,13 @@ This is a high-performance library. Optimize aggressively.
All must pass without warnings:

```bash
# Test async mode (default)
cargo build -p llm-coding-tools-core && cargo build -p llm-coding-tools-rig --quiet
cargo test -p llm-coding-tools-core && cargo test -p llm-coding-tools-rig --quiet
cargo clippy -p llm-coding-tools-core && cargo clippy -p llm-coding-tools-rig --quiet -- -D warnings

# Test blocking mode (llm-coding-tools-core only, rig is inherently async)
cargo test -p llm-coding-tools-core --no-default-features --features blocking --quiet

cargo doc --workspace --no-deps --quiet
cargo fmt --all --quiet
cargo build -p llm-coding-tools-core && cargo build -p llm-coding-tools-rig --quiet && cargo build -p llm-coding-tools-serdesai --quiet && cargo test -p llm-coding-tools-core && cargo test -p llm-coding-tools-rig --quiet && cargo test -p llm-coding-tools-serdesai --quiet && cargo clippy -p llm-coding-tools-core -- -D warnings && cargo clippy -p llm-coding-tools-rig --quiet -- -D warnings && cargo clippy -p llm-coding-tools-serdesai --quiet -- -D warnings && cargo test -p llm-coding-tools-core --no-default-features --features blocking --quiet && cargo doc --workspace --no-deps --quiet && cargo fmt --all
```

Note: `llm-coding-tools-rig` is async-only (implements rig's async `Tool` trait).
Note: `llm-coding-tools-rig` and `llm-coding-tools-serdesai` are async-only (implement async `Tool` traits).
The `blocking` feature only applies to `llm-coding-tools-core`.

For individual crates:
```bash
cargo publish --dry-run -p llm-coding-tools-core --quiet
cargo publish --dry-run -p llm-coding-tools-rig --quiet
cargo publish --dry-run -p llm-coding-tools-core --quiet && cargo publish --dry-run -p llm-coding-tools-rig --quiet && cargo publish --dry-run -p llm-coding-tools-serdesai --quiet
```
Loading