# XoneAI-Tools Coding Conventions & Agent Instructions

## Identity & Context
You are an expert AI assistant tasked with helping develop the `xoneai-tools` repository.
This repository is a Python package providing extended tools for XoneAI Agents. The package uses Python 3.10+, `pytest` for testing, and `hatchling` as the build system.

## Code Standards
1. **Type Hinting**: All new or modified functions, methods, and classes MUST include strict type hints.
2. **Docstrings**: Use clear docstrings (Google or Sphinx style) for all modules, classes, and functions, strictly documenting inputs and returns.
3. **Pydantic**: Use `pydantic` models for structured data validation and definitions whenever applicable.
4. **Tool Creation**: When creating new tools for agents:
   - Method 1: Use the `@tool` decorator from `xoneai_tools.tools.decorator` for simple functions.
   - Method 2: Subclass `BaseTool` from `xoneai_tools.tools.base` for complex tools with state or multiple methods.
5. **Code Quality**: Keep code modular, avoid deep nesting, and prioritize readability. Do not leave commented-out code snippets.

## Test Standards
- Always write corresponding unit tests when introducing new features.
- Tests should be written using `pytest` and placed in the `tests/` directory.
- For async tools, ensure you use `pytest-asyncio`.

Please strictly adhere to these instructions when proposing code changes or reviewing the project.
