buster/apps/api/libs/CLAUDE.md

2.4 KiB

Buster API Libraries

This directory contains the modular libraries that make up the Buster API. Each library has a specific purpose and follows the architectural principles outlined in the main CLAUDE.md file.

Library CLAUDE.md Template

Below is a template that should be used when creating CLAUDE.md files for each library. Copy this template into each library's directory and fill it out with the specific details for that library.

# [Library Name] - Agent Guidance

## Purpose & Role

Brief 1-2 sentence description of what this library does and its role in the overall system.

## Key Functionality

- List major capabilities provided by this library
- Include key modules and their purposes
- Highlight public interfaces and how they should be used

## Internal Organization

### Directory Structure

src/ ├── module1.rs - Purpose of this module ├── module2/ │ ├── submodule1.rs - Purpose of this submodule │ └── mod.rs ├── types.rs - Core types used throughout the library └── lib.rs - Public exports and library documentation


### Key Modules

- `module1`: Detailed explanation of what this module does
- `module2`: Explanation of this module's functionality
- `types`: Description of the core types and why they're designed this way

## Usage Patterns

```rust
// Simple example of how to use this library
use library_name::SomeType;

fn example() -> Result<(), Error> {
    let instance = SomeType::new()?;
    instance.do_something()?;
    // ...
    Ok(())
}

Common Implementation Patterns

  • Describe typical usage patterns
  • Include best practices for using this library
  • Note any gotchas or non-obvious behavior

Dependencies

  • Internal Dependencies:

    • List library dependencies within the codebase and why they're needed
  • External Dependencies:

    • List key external crates and their purposes in this library

Code Navigation Tips

  • Important entry points to start exploring the code
  • Key type definitions to understand
  • Relationships between important components
  • How to trace execution flow through the library

Testing Guidelines

  • Guidance on how to test this library
  • Any specific test utilities or fixtures provided
  • How to run just the tests for this library: cargo test -p library_name

## Existing Libraries

See the main [CLAUDE.md](../../CLAUDE.md) file for a complete list of libraries and their purposes.