docs/developer/AGENTS.md
Project Overview
Agent Lab is a Gradio-based platform for testing AI agents across multiple models
Tech Stack: Python 3.11+, Gradio v5, pydantic-ai, OpenRouter API, pytest
Architecture: 3-layer (UI → Runtime → API)
Code Standards
- Use type hints for all functions and classes
- Write docstrings in Google style format
- Follow PEP 8 with black formatting
- Minimum test coverage: 90%
- Use pydantic models for all data validation
Testing Requirements
- Location: tests/ directory mirrors src/ structure
- Run tests:
pytest tests/ -v --cov=src --cov-report=term-missing - Each feature must include:
- Unit tests for all functions
- Integration tests for component interactions
- Example usage in tests/examples/
- All tests must pass before committing
Git Workflow
- No new branches (work on current branch)
- Atomic commits (one logical change per commit)
- Commit message format: "type(scope): description"
- Types: feat, fix, docs, test, refactor, perf, chore
- Never amend existing commits
- Always ensure clean worktree:
git statusshould show "working tree clean"
File Organization
- Components: src/components/ (UI and Gradio interfaces)
- Services: src/services/ (business logic, API integrations)
- Models: src/models/ (pydantic data models)
- Utils: src/utils/ (helper functions)
- Tests: tests/ (mirrors src/ structure)
Dependencies Management
- Use requirements.txt for Python dependencies
- Pin major versions, allow minor updates
- Document any new dependencies in comments
PR and Review Standards
- All changes require review before merging
- PR description must include:
- What changed and why
- How to test the changes
- Any breaking changes or migrations
- Link to relevant issue or feature request