agno-cli


Nameagno-cli JSON
Version 2.4.7 PyPI version JSON
download
home_pagehttps://github.com/paulgg-code/agno-cli
SummaryEnhanced Agno CLI - Multi-Agent Terminal Assistant with Advanced Reasoning and Tool Integration
upload_time2025-07-24 23:41:42
maintainerNone
docs_urlNone
authorPaul Gedeon
requires_python>=3.8
licenseMIT
keywords ai cli agents multi-agent reasoning terminal assistant
VCS
bugtrack_url
requirements agno typer rich pyyaml anthropic openai yfinance pandas numpy matplotlib seaborn openpyxl pyarrow duckdb mysql-connector-python psycopg2-binary psutil docker wikipedia arxiv biopython opencv-python pillow plotly requests beautifulsoup4 lxml aiohttp pyautogui selenium
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Agno CLI Enhanced - Multi-Agent Terminal Assistant (Beta)

[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![GitHub](https://img.shields.io/badge/GitHub-Repository-blue.svg)](https://github.com/PaulGG-Code/agno-cli)
[![PyPI](https://img.shields.io/badge/PyPI-agno--cli-blue.svg)](https://pypi.org/project/agno-cli/)

A powerful, terminal-native multi-agent assistant built on the Agno AI framework. Features advanced reasoning, team collaboration, comprehensive tool integration, and performance analytics.

## ๐Ÿš€ Features

### ๐Ÿ“Š Current Implementation Status
- **โœ… Completed**: Multi-agent system, file system operations, basic CLI framework
- **๐Ÿ”„ In Progress**: Additional tool integrations (see [Implementation Plan](IMPLEMENTATION_PLAN.md))
- **๐Ÿ“‹ Planned**: 73+ Agno AI tools integration for full feature parity

### ๐Ÿค– Multi-Agent System
- **Agent Orchestration**: Coordinate multiple AI agents with different roles and specializations
- **Team Collaboration**: Agents can communicate, delegate tasks, and share context
- **Role-Based Architecture**: Leader, Worker, Contributor, Specialist, Coordinator, and Observer roles
- **Dynamic Task Assignment**: Intelligent task routing based on agent capabilities and workload

### ๐Ÿง  Advanced Reasoning & Tracing
- **Step-by-Step Reasoning**: Chain-of-Thought (CoT) and ReAct pattern support
- **Reasoning Traces**: Detailed logs of agent thought processes and decision making
- **Performance Metrics**: Token usage, response times, success rates, and confidence scores
- **Real-time Monitoring**: Live trace display with `--trace` flag

### ๐Ÿ”ง Comprehensive Tool Integration

#### โœ… File System Tools (Implemented)
- **File Operations**: Read, write, list, delete, copy, and move files
- **Directory Management**: Create directories, tree view, recursive operations
- **File Search**: Pattern-based file searching with wildcards
- **File Information**: Detailed metadata, permissions, and MIME type detection
- **Security**: Path validation and safe file operations

#### ๐Ÿ”„ Search Tools (In Development)
- **Multiple Engines**: DuckDuckGo, Google, SerpApi, Brave, SearXNG, Baidu
- **Unified Interface**: Single command for multi-engine search and result aggregation
- **Configurable**: Engine-specific settings and API key management

#### ๐Ÿ”„ Financial Tools (In Development)
- **Stock Analysis**: Real-time quotes, historical data, technical indicators
- **Portfolio Management**: Multi-stock analysis and performance comparison
- **Market Data**: Sector performance, analyst recommendations, financial statements
- **News Integration**: Company-specific news and sentiment analysis

#### ๐Ÿ”„ Math & Data Tools (In Development)
- **Advanced Calculator**: Scientific functions, variables, step-by-step solutions
- **Statistical Analysis**: Descriptive stats, correlation, regression analysis
- **CSV Analysis**: Data loading, querying, and group analysis
- **SQL Integration**: In-memory database queries and data manipulation

### ๐Ÿ‘ฅ Team Management
- **Shared Context**: Team-wide information sharing and coordination
- **Message Passing**: Inter-agent communication and broadcasting
- **Task Orchestration**: Centralized task assignment and progress tracking
- **Performance Analytics**: Team-wide metrics and individual agent performance

### ๐ŸŽฏ Enhanced CLI Experience
- **Rich Terminal UI**: Beautiful tables, panels, and formatted output
- **Interactive Chat**: Multi-agent conversations with context switching
- **Modular Commands**: Organized command structure for different functionalities
- **Export Capabilities**: JSON, CSV, Markdown output formats

> Welcome agno-cli
[![Demo 1](https://asciinema.org/a/BCraWRW2fpb6smmRKzp7ZU59E.svg)](https://asciinema.org/a/BCraWRW2fpb6smmRKzp7ZU59E3)


> Using Panda and csv with agno-cli
[![Demo 2](https://asciinema.org/a/uRajitiULt8FSGE2bdkJpimpJ.svg)](https://asciinema.org/a/uRajitiULt8FSGE2bdkJpimpJ)

> Using Duckdb, Panda and csv
[![Demo 3](https://asciinema.org/a/TVLiViDxhYo3foXViYM0R0BCS.svg)](https://asciinema.org/a/TVLiViDxhYo3foXViYM0R0BCS)

> Using Shell, Docker, Wikipedia, Arxiv, Screenshot
[![Demo 4](https://asciinema.org/a/h4sV8yv57zM7XKM6H5RMrrOp3.svg)](https://asciinema.org/a/h4sV8yv57zM7XKM6H5RMrrOp3)

> Using Finance with agno-cli
[![Demo 5](https://asciinema.org/a/XWeLQWHNYeFFvCXXiHwKDPYJp.svg)](https://asciinema.org/a/XWeLQWHNYeFFvCXXiHwKDPYJp)

> Automating Functions usign agno-cli
[![Demo 6](https://asciinema.org/a/PdSNs6QUUwRf0iWg3OYfv9Eru.svg)](https://asciinema.org/a/PdSNs6QUUwRf0iWg3OYfv9Eru)

## ๐Ÿš€ Quick Start

```bash
# Install the CLI
pip install agno-cli

# Configure with your API key
agno configure --provider anthropic --api-key your-api-key

# Start exploring
agno --help                    # See all commands
agno files --list              # List files in current directory
agno chat --quick "Hello!"     # Quick chat with AI
```

## ๐Ÿ“ฆ Installation

### Basic Installation
```bash
pip install agno-cli
```

### With All Features
```bash
pip install agno-cli[all]
```

### Selective Feature Installation
```bash
# Search tools
pip install agno-cli[search]

# Financial analysis
pip install agno-cli[fintech]

# Math and data tools
pip install agno-cli[math]

# Communication tools
pip install agno-cli[comm]

# Media tools
pip install agno-cli[media]

# Knowledge APIs
pip install agno-cli[knowledge]
```

### Development Installation
```bash
git clone https://github.com/paulgg-code/agno-cli.git
cd agno-cli
pip install -e ".[dev]"
```

## โš™๏ธ Configuration

### Initial Setup
```bash
# Configure API keys and model settings
agno configure --provider anthropic --api-key your-api-key
agno configure --model claude-3-sonnet-20240229

# Or use OpenAI
agno configure --provider openai --api-key your-openai-key
agno configure --model gpt-4

# View current configuration
agno configure --show
```

### Environment Variables
```bash
export ANTHROPIC_API_KEY="your-anthropic-key"
export OPENAI_API_KEY="your-openai-key"
export AGNO_CONFIG_DIR="~/.agno_cli"
```

## ๐ŸŽฎ Usage Examples

### Available Commands
```bash
# Core commands
agno --help                    # Show all available commands
agno version                   # Show version information

# Agent management
agno agents --help             # Agent operations
agno agents --list             # List all agents
agno agents --create           # Create new agent
agno agents --remove           # Remove agent

# Chat interface
agno chat --help               # Chat operations
agno chat                      # Interactive chat
agno chat --quick "message"    # Quick single message

# File system operations
agno files --help              # File system operations
agno files --list              # List directory contents
agno files --read file.txt     # Read file contents
agno files --write file.txt    # Write to file
agno files --delete file.txt   # Delete file
agno files --search "*.py"     # Search for files
agno files --tree              # Display directory tree

# Configuration
agno configure --help          # Configuration management
agno configure --show          # Show current config
agno configure --set           # Set configuration values
```

### Interactive Chat
```bash
# Start chat with default agent
agno chat

# Chat with specific agent with reasoning trace
agno chat --agent researcher --trace

# Quick single message
agno chat --quick "Explain quantum computing"

# Chat with context and goals
agno chat --context '{"domain": "finance"}' --goal "Analyze market trends"
```

### Agent Management
```bash
# List all agents
agno agents --list

# Create specialized agent
agno agents --create "DataAnalyst" --role specialist \
  --description "Expert in data analysis and visualization" \
  --capabilities '{"tools": ["math_tools", "csv_tools"], "skills": ["statistics", "visualization"]}'

# Check agent status
agno agents --status agent-id

# Remove agent
agno agents --remove agent-id
```

### Team Operations
```bash
# View team status
agno team --status

# Activate team for task execution
agno team --activate

# Assign task to team
agno team --task "Analyze Q3 financial performance" --priority high \
  --requirements '{"skills": ["finance", "analysis"], "tools": ["yfinance_tools"]}'

# Assign task with specific requirements
agno team --task "Research latest AI developments" --priority normal \
  --requirements '{"skills": ["research", "analysis"], "tools": ["search_tools"]}'

# Broadcast message to team
agno team --message "New market data available for analysis"

# Deactivate team
agno team --deactivate
```

### Team Management Examples

#### Creating and Managing Agents
```bash
# List all agents
agno agents --list

# Create a financial analyst agent
agno agents --create "FinancialAnalyst" --role specialist \
  --description "Expert in financial analysis and market research" \
  --capabilities '{"tools": ["financial_tools", "math_tools"], "skills": ["finance", "statistics", "analysis"]}'

# Create a research specialist agent
agno agents --create "ResearchSpecialist" --role specialist \
  --description "Expert in research and data analysis" \
  --capabilities '{"tools": ["search_tools", "wikipedia_tools", "arxiv_tools"], "skills": ["research", "analysis", "synthesis"]}'

# Create a data scientist agent
agno agents --create "DataScientist" --role specialist \
  --description "Expert in data science and machine learning" \
  --capabilities '{"tools": ["pandas_tools", "visualization_tools", "math_tools"], "skills": ["data_science", "ml", "statistics"]}'

# Check agent status and capabilities
agno agents --list
```

#### Team Activation and Task Management
```bash
# Activate the team for task execution
agno team --activate

# Assign a financial analysis task
agno team --task "Analyze stock performance for AAPL, MSFT, and GOOGL" \
  --priority high \
  --requirements '{"skills": ["finance", "analysis"], "tools": ["financial_tools"]}'

# Assign a research task
agno team --task "Research latest developments in quantum computing" \
  --priority normal \
  --requirements '{"skills": ["research", "analysis"], "tools": ["search_tools", "arxiv_tools"]}'

# Assign a data analysis task
agno team --task "Analyze customer satisfaction data and create visualizations" \
  --priority normal \
  --requirements '{"skills": ["data_science", "statistics"], "tools": ["pandas_tools", "visualization_tools"]}'

# Check team status and pending tasks
agno team --status

# Send a message to coordinate the team
agno team --message "Please prioritize the financial analysis task - deadline is approaching"

# Deactivate team when work is complete
agno team --deactivate
```

#### Task Execution and Monitoring
```bash
# Activate team to start processing tasks
agno team --activate

# Assign multiple tasks with different priorities
agno team --task "Urgent: Analyze Q4 earnings reports" --priority critical \
  --requirements '{"skills": ["finance", "analysis"], "tools": ["financial_tools"]}'

agno team --task "Research competitor analysis" --priority high \
  --requirements '{"skills": ["research", "analysis"], "tools": ["search_tools"]}'

agno team --task "Create quarterly performance dashboard" --priority normal \
  --requirements '{"skills": ["data_science", "visualization"], "tools": ["pandas_tools", "visualization_tools"]}'

# Monitor team progress
agno team --status

# Send coordination messages
agno team --message "Focus on completing the urgent earnings analysis first"

# Check task details and progress
agno team --status

# Deactivate when tasks are complete
agno team --deactivate
```

#### Advanced Team Coordination
```bash
# Create a comprehensive team setup
agno agents --create "TeamLeader" --role leader \
  --description "Team coordinator and decision maker" \
  --capabilities '{"tools": ["search_tools", "communication_tools"], "skills": ["coordination", "decision_making"]}'

agno agents --create "MarketAnalyst" --role specialist \
  --description "Market and financial analysis expert" \
  --capabilities '{"tools": ["financial_tools", "math_tools"], "skills": ["finance", "market_analysis"]}'

agno agents --create "DataEngineer" --role specialist \
  --description "Data processing and engineering expert" \
  --capabilities '{"tools": ["pandas_tools", "sql_tools"], "skills": ["data_engineering", "sql"]}'

# Activate the team
agno team --activate

# Assign complex multi-step project
agno team --task "Complete market analysis project: 1) Gather market data, 2) Analyze trends, 3) Create report" \
  --priority high \
  --requirements '{"skills": ["finance", "data_analysis", "reporting"], "tools": ["financial_tools", "pandas_tools", "visualization_tools"]}'

# Monitor progress and coordinate
agno team --status
agno team --message "Phase 1 complete - moving to trend analysis phase"

# Continue monitoring
agno team --status

# Deactivate when project is complete
agno team --deactivate
```

#### Task Persistence and State Management
```bash
# The team system automatically persists:
# - Team activation status
# - Assigned tasks and their status
# - Agent states and capabilities
# - Task execution history

# Tasks persist across CLI sessions
agno team --activate
agno team --task "Long-running analysis task" --priority normal
agno team --status

# Exit CLI and return later
# Tasks will still be there when you return
agno team --status  # Shows the same pending task

# Team activation status also persists
agno team --status  # Shows team is still active

# Deactivate when done
agno team --deactivate
```

### Search Operations
```bash
# Basic search
agno search "artificial intelligence trends 2024"

# Multi-engine search
agno search "climate change solutions" --multi --format markdown

# Specific search engine
agno search "python best practices" --engine duckduckgo --num 5
```

### Financial Analysis
```bash
# Stock information
agno finance AAPL --action info

# Stock news
agno finance TSLA --action news

# Performance analysis
agno finance MSFT --action analysis --period 2y

# Market summary
agno finance --summary
```

### Mathematical Calculations
```bash
# Basic calculation
agno calc "2^10 + sqrt(144)"

# With step-by-step solution
agno calc "solve: 2x + 5 = 13" --steps

# Set variables
agno calc --var "x=10"
agno calc "3*x + 2*x^2"

# List variables
agno calc --list-vars
```

### File System Operations
```bash
# List directory contents
agno files --list

# List with hidden files and recursive search
agno files --list --hidden --recursive

# Read file contents
agno files --read README.md

# Write content to file
agno files --write output.txt --content "Hello, World!"

# Get file information
agno files --info config.yaml

# Search for files
agno files --search "*.py"

# Create directory
agno files --mkdir new_project

# Copy file
agno files --copy source.txt:destination.txt

# Move file
agno files --move old_name.txt:new_name.txt

# Delete file (with confirmation)
agno files --delete temp_file.txt

# Delete without confirmation
agno files --delete temp_file.txt --no-confirm

# Display directory tree
agno files --tree

# Display tree with hidden files
agno files --tree --hidden
```

### CSV Data Operations
```bash
# Read and display CSV data
agno csv --read data.csv

# Read with custom encoding and delimiter
agno csv --read data.csv --encoding utf-8 --delimiter ";"

# Show sample of data
agno csv --read data.csv --sample --sample-size 5

# Get CSV file information
agno csv --info data.csv

# Analyze CSV data (statistics, data types, missing values)
agno csv --analyze data.csv

# Filter data by conditions
agno csv --read data.csv --filter '{"age": {"min": 30}}'

# Filter with multiple conditions
agno csv --read data.csv --filter '{"age": {"min": 25, "max": 35}, "city": "New York"}'

# Sort data by columns
agno csv --read data.csv --sort "age" --ascending "1"

# Sort by multiple columns
agno csv --read data.csv --sort "age,salary" --ascending "1,0"

# Convert CSV to JSON
agno csv --convert "data.csv:output.json:json"

# Convert CSV to Excel
agno csv --convert "data.csv:output.xlsx:excel"

# Write new CSV file
agno csv --write new_data.csv

# Merge CSV files
agno csv --merge "file1.csv:file2.csv:key_column" --output merged.csv
```

### Pandas Data Analysis
```bash
# Read and analyze data
agno pandas --read data.csv
agno pandas --analyze data.csv
agno pandas --read data.csv --show 10

# Clean and transform data
agno pandas --read data.csv --clean '{"handle_missing": "drop", "remove_duplicates": true}'
agno pandas --read data.csv --transform '{"columns": {"select": ["name", "age"]}, "rows": {"filter": [{"column": "age", "operator": ">=", "value": 30}]}}'

# Write data to different formats
agno pandas --read data.csv --write output.csv
agno pandas --read data.csv --write output.json --format json
agno pandas --read data.csv --write output.xlsx --format excel

# Create visualizations
agno pandas --read data.csv --visualize '{"type": "histogram", "column": "age"}' --output plot.png
agno pandas --read data.csv --visualize '{"type": "scatter", "x": "age", "y": "salary"}' --output scatter.png
```

### DuckDB Database Operations
```bash
# Basic database operations
agno duckdb --database mydb.db --file --import "data.csv:employees"
agno duckdb --database mydb.db --file --list
agno duckdb --database mydb.db --file --info

# SQL queries
agno duckdb --database mydb.db --file --query "SELECT * FROM employees WHERE age > 30"
agno duckdb --database mydb.db --file --query "SELECT name, AVG(salary) FROM employees GROUP BY department"

# Table management
agno duckdb --database mydb.db --file --create-table "products:{\"id\": \"INTEGER\", \"name\": \"VARCHAR(100)\", \"price\": \"DECIMAL(10,2)\"}"
agno duckdb --database mydb.db --file --show-table employees
agno duckdb --database mydb.db --file --export "employees:export.csv"

# Database maintenance
agno duckdb --database mydb.db --file --backup backup.db
agno duckdb --database mydb.db --file --optimize
```

### SQL Query Execution
```bash
# Basic SQL operations
agno sql --file database.db --script create_tables.sql
agno sql --file database.db --list
agno sql --file database.db --info

# SQL queries
agno sql --file database.db --query "SELECT * FROM employees WHERE age > 30"
agno sql --file database.db --query "SELECT city, AVG(salary) FROM employees GROUP BY city"

# Table management
agno sql --file database.db --show-table employees
agno sql --file database.db --backup backup.db

# Multiple database types
agno sql --type mysql --host localhost --database mydb --username user --password pass --query "SELECT * FROM users"
agno sql --type postgresql --host localhost --database mydb --username user --password pass --query "SELECT * FROM users"
```

### PostgreSQL Database Integration
```bash
# Basic PostgreSQL operations
agno postgres --host localhost --database mydb --username user --password pass --info
agno postgres --host localhost --database mydb --username user --password pass --list
agno postgres --host localhost --database mydb --username user --password pass --schemas

# PostgreSQL queries
agno postgres --host localhost --database mydb --username user --password pass --query "SELECT * FROM users WHERE age > 30"
agno postgres --host localhost --database mydb --username user --password pass --query "SELECT schema_name, table_name FROM information_schema.tables"

# Table management
agno postgres --host localhost --database mydb --username user --password pass --show-table users
agno postgres --host localhost --database mydb --username user --password pass --indexes users
agno postgres --host localhost --database mydb --username user --password pass --vacuum public.users
agno postgres --host localhost --database mydb --username user --password pass --reindex public.users

# Database maintenance
agno postgres --host localhost --database mydb --username user --password pass --backup backup.dump
agno postgres --host localhost --database mydb --username user --password pass --restore backup.dump
```

### Shell System Operations
```bash
# Basic shell operations
agno shell --command "ls -la"
agno shell --command "pwd"
agno shell --command "whoami"

# System information
agno shell --info
agno shell --process 1234
agno shell --kill 1234 --signal SIGTERM

# Script execution
agno shell --script script.sh
agno shell --live --command "tail -f log.txt"
agno shell --timeout 60 --command "long-running-process"

# Command history
agno shell --history
agno shell --history-limit 10
agno shell --clear-history
```

### Docker Container Management
```bash
# Container operations
agno docker --list
agno docker --all
agno docker --info container_id
agno docker --start container_id
agno docker --stop container_id
agno docker --restart container_id
agno docker --remove container_id --force

# Container creation
agno docker --create "nginx:latest:my-nginx"
agno docker --create "python:3.9:my-app" --command "python app.py"
agno docker --create "postgres:13:my-db" --ports "5432:5432" --env "POSTGRES_PASSWORD=mypass"

# Container execution
agno docker --exec "container_id:ls -la"
agno docker --exec "container_id:cat /etc/hosts" --exec-user root

# Container logs
agno docker --logs container_id
agno docker --logs container_id --logs-tail 50
agno docker --logs container_id --logs-follow

# Image management
agno docker --images
agno docker --pull "ubuntu:20.04"
agno docker --rmi image_id --force
agno docker --build "./app:my-app" --dockerfile "Dockerfile.prod"

# System management
agno docker --system
agno docker --prune
agno docker --prune-containers
agno docker --prune-images
```

### Wikipedia Research
```bash
# Search operations
agno wikipedia --search "Python programming"
agno wikipedia --search "Machine learning" --limit 5
agno wikipedia --suggestions "artificial intelligence"

# Article operations
agno wikipedia --summary "Python (programming language)"
agno wikipedia --article "Machine learning"
agno wikipedia --random

# Related content
agno wikipedia --related "Python (programming language)"
agno wikipedia --categories "Python (programming language)"
agno wikipedia --category-articles "Programming languages"

# Language support
agno wikipedia --language-versions "Python (programming language)"
agno wikipedia --search "Python" --language "es"

# Text analysis
agno wikipedia --keywords "Python is a high-level programming language"
agno wikipedia --clear-cache
```

### arXiv Academic Papers
```bash
# Search operations
agno arxiv --search "machine learning"
agno arxiv --search "deep learning" --max-results 5
agno arxiv --search "transformer" --filter-categories "cs.AI,cs.LG"

# Paper operations
agno arxiv --paper "2401.00123"
agno arxiv --recent --max-results 10
agno arxiv --related "2401.00123"

# Author and category operations
agno arxiv --author "Yann LeCun"
agno arxiv --category "cs.AI" --max-results 20
agno arxiv --author-info "Geoffrey Hinton"
agno arxiv --categories

# Text analysis
agno arxiv --keywords "This paper presents a novel approach to machine learning"
agno arxiv --clear-cache
```

### PubMed Medical Research
```bash
# Search operations
agno pubmed --search "cancer treatment"
agno pubmed --search "diabetes" --max-results 5
agno pubmed --search "COVID-19" --database "pmc"

# Paper operations
agno pubmed --paper "37828275"
agno pubmed --recent --max-results 10
agno pubmed --related "37828275"

# Author and journal operations
agno pubmed --author "John Smith"
agno pubmed --journal "Nature" --max-results 20
agno pubmed --author-info "Jane Doe"
agno pubmed --databases

# Text analysis
agno pubmed --keywords "This study examines the effects of treatment on patient outcomes"
agno pubmed --clear-cache
```

### Sleep & Timing Operations
```bash
# Basic sleep operations
agno sleep --duration 5
agno sleep --countdown 10
agno sleep --until "14:30:00"

# Timer and performance
agno sleep --timer "ls -la" --iterations 3
agno sleep --performance --monitor-duration 30
agno sleep --time-info

# Scheduling and rate limiting
agno sleep --schedules
agno sleep --clear-schedules
agno sleep --rate-limit-info

# Options
agno sleep --no-progress --duration 3
agno sleep --format json --time-info
```

### Hacker News Integration
```bash
# Story operations
agno hackernews --top --limit 10
agno hackernews --new --limit 5
agno hackernews --best --limit 10
agno hackernews --ask --limit 5
agno hackernews --show --limit 5
agno hackernews --jobs --limit 5

# Story details and comments
agno hackernews --story 44653072
agno hackernews --comments 44653072 --max-depth 3

# User operations
agno hackernews --user "pg"
agno hackernews --user-stories "pg" --limit 10

# Search and trending
agno hackernews --search "AI" --limit 10
agno hackernews --trending --hours 24 --limit 10
agno hackernews --updates

# Options
agno hackernews --clear-cache
agno hackernews --format json --top --limit 5
```

### Data Visualization
```bash
# Chart creation
agno visualization --chart-type line --sample --sample-size 100
agno visualization --chart-type bar --sample --sample-type categorical
agno visualization --chart-type scatter --sample --sample-type trend
agno visualization --chart-type pie --sample --sample-type categorical
agno visualization --chart-type histogram --sample --sample-size 200
agno visualization --chart-type box --sample --sample-type categorical
agno visualization --chart-type heatmap --sample

# Dashboard creation
agno visualization --dashboard --chart-types "line,bar,scatter" --sample-size 100

# Chart information
agno visualization --list-types
agno visualization --chart-info scatter

# Custom data
agno visualization --chart-type line --data-file data.csv --x-column "x" --y-column "y"
agno visualization --chart-type bar --title "Sales Data" --width 1000 --height 800

# Options
agno visualization --format json --chart-type line --sample
```

### Computer Vision Operations
```bash
# Image processing
agno opencv --image image.jpg --operation resize --width 800 --height 600
agno opencv --image image.jpg --operation filter --filter-type blur
agno opencv --image image.jpg --operation brightness_contrast --brightness 50 --contrast 1.5
agno opencv --image image.jpg --operation rotate --angle 45
agno opencv --image image.jpg --operation flip --direction horizontal
agno opencv --image image.jpg --operation crop --crop-x 100 --crop-y 100 --crop-width 200 --crop-height 200

# Object detection
agno opencv --image image.jpg --detect faces
agno opencv --image image.jpg --detect eyes
agno opencv --image image.jpg --detect bodies
agno opencv --image image.jpg --detect cars

# Feature extraction
agno opencv --image image.jpg --extract basic
agno opencv --image image.jpg --extract edges
agno opencv --image image.jpg --extract corners

# Information and lists
agno opencv --image image.jpg --info
agno opencv --list-operations
agno opencv --list-objects
agno opencv --list-features

# Options
agno opencv --format json --image image.jpg --info
```

#### Screenshot Commands
- **`agno screenshot --full-screen`**: Capture full screen screenshot
- **`agno screenshot --region x,y,width,height`**: Capture region screenshot
- **`agno screenshot --window "Window Title"`**: Capture specific window
- **`agno screenshot --webpage https://example.com`**: Capture webpage screenshot
- **`agno screenshot --element "url:selector"`**: Capture webpage element
- **`agno screenshot --scrolling https://example.com`**: Capture scrolling webpage
- **`agno screenshot --list`**: List all screenshots
- **`agno screenshot --show-info filename`**: Show screenshot information
- **`agno screenshot --screen-info`**: Show screen information
- **`agno screenshot --clear`**: Clear all screenshots

### Model Management Operations
```bash
# List and explore models
agno models --list
agno models --show gpt-4o
agno models --list-strategies
agno models --stats

# Model selection and comparison
agno models --select text_generation --strategy balanced
agno models --compare "gpt-4o,claude-3-5-sonnet,gemini-1.5-pro"

# Performance tracking
agno models --performance gpt-4o --days 7
agno models --record-performance '{"model_name":"gpt-4o","provider":"openai","test_date":"2024-01-01","latency_ms":150,"throughput_tokens_per_sec":1000}'

# Model management
agno models --register model_config.json
agno models --update "gpt-4o:temperature:0.8"
agno models --export "gpt-4o:exported_model.json"
agno models --import new_model.json

# Options
agno models --format json --list
agno models --provider openai --list
agno models --model-type text_generation --list
```

### Advanced Thinking Operations
```bash
# Start thinking sessions
agno thinking --start "Problem Title:Problem description"
agno thinking --start "Website Optimization:Improve loading speed" --framework systems_thinking

# Manage thinking sessions
agno thinking --list
agno thinking --show session_id
agno thinking --add-node "session_id:Node Title:Content:node_type"

# Problem analysis and decision making
agno thinking --analyze "How to optimize database performance"
agno thinking --decision-tree "Title:Criteria1,Criteria2:Option1,Option2,Option3"
agno thinking --experiment "Title:Scenario:Assumption1,Assumption2"

# Cognitive bias detection
agno thinking --detect-biases session_id

# Explore frameworks and biases
agno thinking --list-frameworks
agno thinking --list-biases

# Options
agno thinking --format json --list-frameworks
agno thinking --framework design_thinking --start "Title:Problem"
```

### Function Calling Operations
```bash

# Show function details
agno function --show "function_id"

# Delete a function
agno function --delete "function_id"

# Create from template
agno function --create-from-template "template_id:name:description"

# Create and manage functions
agno function --create "Function Name:Description:code_file.py"
agno function --create "fibonacci_sequence:Calculate Fibonacci sequence up to n:fibonacci.py"
agno function --execute "864546e:data=10"

agno function --execute "864546e:data=10"
agno function --list
agno function --show function_id
agno function --delete function_id

# Execute functions
agno function --execute "function_id:param1=value1,param2=value2"
agno function --execute "function_id:data=10" --timeout 60

# Templates and code generation
agno function --list-builtin
agno function --list-templates
agno function --create-from-template "template_id:name:description"

# Execution history and monitoring
agno function --history function_id
agno function --history function_id --limit 10

# Filtering and options
agno function --type python --list
agno function --tag math --list
agno function --format json --list
```

### OpenAI Integration Operations
```bash
# Chat completions
agno openai --chat "Hello, how are you?"
agno openai --chat "Explain quantum computing" --model gpt-4o --temperature 0.3
agno openai --chat "Write a Python function" --system "You are a helpful coding assistant"

# Text embeddings
agno openai --embed "This is some text to embed"
agno openai --embed "Another text for embedding" --model text-embedding-3-small

# Image generation
agno openai --generate-image "A beautiful sunset over mountains"
agno openai --generate-image "A futuristic cityscape" --size 1792x1024 --quality hd

# Audio processing
agno openai --transcribe audio_file.mp3
agno openai --transcribe audio_file.mp3 --language en
agno openai --tts "Hello, this is a test" --voice alloy

# Content moderation
agno openai --moderate "This is a test message"

# Model and history management
agno openai --list-models
agno openai --history
agno openai --history --operation-type chat_completion --limit 10

# Options
agno openai --format json --chat "Test message"
agno openai --model gpt-4o-mini --chat "Efficient response"
```

### Web Crawling Operations
```bash
# Crawl a single web page
agno crawl4ai --crawl https://example.com
agno crawl4ai --crawl https://example.com --user-agent "Custom Bot/1.0" --timeout 60

# Create and manage crawl jobs
agno crawl4ai --create-job "My Crawl:Test crawl job:https://example.com"
agno crawl4ai --create-job "Deep Crawl:Comprehensive site crawl:https://example.com" --strategy depth_first --max-depth 5 --max-pages 500

# Execute crawl jobs
agno crawl4ai --execute-job job-id-123

# List and manage jobs
agno crawl4ai --list-jobs
agno crawl4ai --show-job job-id-123
agno crawl4ai --delete-job job-id-123

# Content search and analysis
agno crawl4ai --search "Some text content" --pattern "\\b\\w+\\b" --case-sensitive
agno crawl4ai --search "HTML content" --pattern "<[^>]+>" --format json

# Options
agno crawl4ai --format json --crawl https://example.com
agno crawl4ai --strategy breadth_first --max-depth 3 --delay 2.0
```

### Reasoning Traces
```bash
# List recent traces
agno trace --list

# Show detailed trace
agno trace --show trace-id

# Export trace
agno trace --export trace-id --format markdown

# View tracer statistics
agno trace --stats
```

### Performance Metrics
```bash
# System metrics summary
agno metrics --summary

# Agent-specific metrics
agno metrics --agent agent-id

# Performance leaderboard
agno metrics --leaderboard success_rate

# Export metrics
agno metrics --export --format csv
```

## ๐Ÿ“‹ Implementation Roadmap

This project is actively being developed to achieve full feature parity with Agno AI. See our [Implementation Plan](IMPLEMENTATION_PLAN.md) for detailed progress tracking and upcoming features.

### Current Status
- **โœ… Phase 1**: File system operations completed
- **๐Ÿ”„ Phase 1**: Core infrastructure tools in progress
- **๐Ÿ“‹ Phase 2-7**: AI/ML, Business, Web, Social, Cloud, and Advanced AI tools planned

## ๐Ÿ—๏ธ Architecture

### Core Components

```
agno_cli/
โ”œโ”€โ”€ agents/           # Multi-agent system
โ”‚   โ”œโ”€โ”€ agent_state.py      # Agent state tracking
โ”‚   โ”œโ”€โ”€ orchestrator.py     # Agent coordination
โ”‚   โ””โ”€โ”€ multi_agent.py      # Multi-agent system
โ”œโ”€โ”€ reasoning/        # Reasoning and tracing
โ”‚   โ”œโ”€โ”€ tracer.py          # Step-by-step reasoning
โ”‚   โ””โ”€โ”€ metrics.py         # Performance metrics
โ”œโ”€โ”€ tools/           # Tool integrations
โ”‚   โ”œโ”€โ”€ search_tools.py    # Search engines
โ”‚   โ”œโ”€โ”€ financial_tools.py # Financial data
โ”‚   โ”œโ”€โ”€ math_tools.py      # Math and data
โ”‚   โ”œโ”€โ”€ file_system_tools.py # File system operations
โ”‚   โ”œโ”€โ”€ csv_tools.py         # CSV data operations
โ”‚   โ”œโ”€โ”€ pandas_tools.py      # Pandas data analysis
โ”‚   โ”œโ”€โ”€ duckdb_tools.py      # DuckDB database operations
โ”‚   โ”œโ”€โ”€ sql_tools.py         # SQL query execution
โ”‚   โ”œโ”€โ”€ postgres_tools.py    # PostgreSQL database integration
โ”‚   โ”œโ”€โ”€ shell_tools.py       # System command execution
โ”‚   โ”œโ”€โ”€ docker_tools.py      # Docker container management
โ”‚   โ”œโ”€โ”€ wikipedia_tools.py   # Wikipedia research and content retrieval
โ”‚   โ”œโ”€โ”€ arxiv_tools.py       # arXiv academic paper search
โ”‚   โ”œโ”€โ”€ pubmed_tools.py      # PubMed medical research papers
โ”‚   โ”œโ”€โ”€ sleep_tools.py       # Sleep and timing operations
โ”‚   โ”œโ”€โ”€ hackernews_tools.py  # Hacker News integration
โ”‚   โ”œโ”€โ”€ visualization_tools.py # Data visualization and charting
โ”‚   โ”œโ”€โ”€ opencv_tools.py # Computer vision operations
โ”‚   โ”œโ”€โ”€ models_tools.py # Model management and selection
โ”‚   โ”œโ”€โ”€ thinking_tools.py # Advanced thinking and reasoning
โ”‚   โ”œโ”€โ”€ function_tools.py # Dynamic function calling and code generation
โ”‚   โ”œโ”€โ”€ openai_tools.py # OpenAI API integration
โ”‚   โ”œโ”€โ”€ communication_tools.py # Communication
โ”‚   โ”œโ”€โ”€ knowledge_tools.py # Knowledge APIs
โ”‚   โ””โ”€โ”€ media_tools.py     # Media processing
โ”œโ”€โ”€ commands/        # CLI command modules
โ”‚   โ”œโ”€โ”€ chat_commands.py   # Chat interface
โ”‚   โ”œโ”€โ”€ agent_commands.py  # Agent management
โ”‚   โ”œโ”€โ”€ team_commands.py   # Team operations
โ”‚   โ”œโ”€โ”€ tool_commands.py   # Tool operations
โ”‚   โ”œโ”€โ”€ trace_commands.py  # Trace management
โ”‚   โ””โ”€โ”€ metrics_commands.py # Metrics analysis
โ”œโ”€โ”€ core/            # Core functionality
โ”‚   โ”œโ”€โ”€ config.py          # Configuration
โ”‚   โ”œโ”€โ”€ session.py         # Session management
โ”‚   โ””โ”€โ”€ agent.py           # Agent wrapper
โ””โ”€โ”€ cli.py           # Main CLI entry point
```

### Agent Roles

- **Leader**: Coordinates team activities, makes strategic decisions
- **Worker**: Executes assigned tasks efficiently
- **Contributor**: Provides specialized knowledge and skills
- **Specialist**: Expert in specific domains
- **Coordinator**: Facilitates communication and workflow
- **Observer**: Monitors performance and provides feedback

### Tool Categories

- **Search**: Web search across multiple engines
- **Financial**: Stock analysis, market data, portfolio management
- **Math**: Calculations, statistics, data analysis
- **File System**: Local file operations, directory management, file search
- **CSV Data**: CSV reading, writing, analysis, filtering, sorting, conversion
- **Pandas Data**: Advanced data manipulation, analysis, cleaning, transformation, visualization
- **DuckDB Database**: Lightweight database operations, SQL queries, data import/export
- **SQL Database**: General SQL query execution, multi-database support
- **PostgreSQL Database**: Specialized PostgreSQL integration, advanced features
- **Shell Operations**: Safe system command execution, process management
- **Docker Management**: Container lifecycle, image management, system monitoring
- **Wikipedia Research**: Search, content retrieval, language support, text analysis
- **arXiv Papers**: Academic paper search, author analysis, category filtering
- **PubMed Research**: Medical paper search, author analysis, journal filtering
- **Sleep & Timing**: Delay operations, performance monitoring, scheduling
- **Hacker News**: Story retrieval, comments, user profiles, trending
- **Data Visualization**: Chart generation, interactive plots, dashboards
- **Computer Vision**: Image processing, object detection, feature extraction
- **Model Management**: Model selection, comparison, performance tracking
- **Advanced Thinking**: Reasoning frameworks, problem analysis, decision trees
- **Function Calling**: Dynamic function execution, code generation, automation
- **OpenAI Integration**: Direct API access for chat, embeddings, images, audio
- **Communication**: Slack, Discord, email, GitHub integration
- **Knowledge**: Wikipedia, arXiv, news APIs
- **Media**: Image/video processing, visualization

## ๐Ÿ”ง Advanced Configuration

### Custom Agent Templates
```yaml
# ~/.agno_cli/templates/researcher.yaml
name: "Research Specialist"
role: "specialist"
description: "Expert researcher with access to knowledge APIs"
capabilities:
  tools: ["search_tools", "knowledge_tools", "reasoning_tools"]
  skills: ["research", "analysis", "synthesis"]
  modalities: ["text", "image"]
  languages: ["english", "spanish"]
instructions:
  - "Conduct thorough research using multiple sources"
  - "Provide citations and references"
  - "Synthesize information from diverse perspectives"
```

### Tool Configuration
```yaml
# ~/.agno_cli/config.yaml
tools:
  search:
    default_engine: "duckduckgo"
    engines:
      google:
        api_key: "your-google-api-key"
        search_engine_id: "your-cse-id"
      serpapi:
        api_key: "your-serpapi-key"
  financial:
    default_period: "1y"
    cache_duration: 300
  math:
    precision: 10
    show_steps_default: false
```

### Team Definitions
```json
{
  "team_id": "research_team",
  "name": "Research Team",
  "description": "Collaborative research and analysis team",
  "agents": [
    {
      "name": "Lead Researcher",
      "role": "leader",
      "capabilities": ["search", "knowledge", "coordination"]
    },
    {
      "name": "Data Analyst", 
      "role": "specialist",
      "capabilities": ["math", "financial", "visualization"]
    },
    {
      "name": "Content Writer",
      "role": "contributor", 
      "capabilities": ["writing", "synthesis", "communication"]
    }
  ],
  "shared_context": {
    "project": "Market Analysis Q4 2024",
    "deadline": "2024-12-31",
    "requirements": ["comprehensive", "data-driven", "actionable"]
  }
}
```

## ๐Ÿงช Testing & Development

### Automated Testing
```bash
# Run all tests
pytest

# Run with coverage
pytest --cov=agno_cli

# Run specific test categories
pytest -m unit
pytest -m integration
pytest -m "not slow"
```

### Manual Testing Commands
```bash
# Test file system operations
agno files --list                                    # List directory contents
agno files --list --hidden --recursive              # List with hidden files and recursive search
agno files --read README.md                         # Read file contents (text format)
agno files --read README.md --format json           # Read file contents (JSON format)
agno files --read setup.py --format text            # Read Python file
agno files --write test.txt --content "Hello World" # Write content to file
agno files --info README.md                         # Get file information
agno files --search "*.py"                          # Search for Python files
agno files --mkdir test_directory                   # Create directory
agno files --copy test.txt:test_directory/copy.txt  # Copy file
agno files --move test.txt:renamed.txt              # Move file
agno files --delete test.txt --no-confirm           # Delete file without confirmation
agno files --delete test_directory --recursive --no-confirm # Delete directory recursively
agno files --tree                                   # Display directory tree
agno files --tree --hidden                          # Display tree with hidden files

# Test CSV operations
agno csv --read sample_data.csv                     # Read CSV file
agno csv --info sample_data.csv                     # Get CSV information
agno csv --analyze sample_data.csv                  # Analyze CSV data
agno csv --read sample_data.csv --filter '{"age": {"min": 30}}' # Filter data
agno csv --read sample_data.csv --sort "age" --ascending "1" # Sort data
agno csv --convert "sample_data.csv:output.json:json" # Convert to JSON
agno csv --write new_data.csv                       # Write new CSV file

# Test pandas operations
agno pandas --read sample_data.csv                  # Read data file
agno pandas --analyze sample_data.csv               # Analyze data
agno pandas --read sample_data.csv --show 5         # Show data preview
agno pandas --read sample_data.csv --clean '{"handle_missing": "drop"}' # Clean data
agno pandas --read sample_data.csv --transform '{"columns": {"select": ["name", "age"]}}' # Transform data
agno pandas --read sample_data.csv --write output.csv # Write data

# Test DuckDB operations
agno duckdb --database test.db --file --import "sample_data.csv:employees" # Import CSV
agno duckdb --database test.db --file --list # List tables
agno duckdb --database test.db --file --query "SELECT * FROM employees WHERE age > 30" # SQL query
agno duckdb --database test.db --file --show-table employees # Show table info
agno duckdb --database test.db --file --export "employees:export.csv" # Export data

# Test SQL operations
agno sql --file test.db --script create_tables.sql # Execute SQL script
agno sql --file test.db --list # List tables
agno sql --file test.db --query "SELECT * FROM employees WHERE age > 30" # SQL query
agno sql --file test.db --show-table employees # Show table info
agno sql --file test.db --backup backup.db # Backup database

# Test PostgreSQL operations
agno postgres --host localhost --database testdb --username user --password pass --info # Database info
agno postgres --host localhost --database testdb --username user --password pass --list # List tables
agno postgres --host localhost --database testdb --username user --password pass --schemas # List schemas
agno postgres --host localhost --database testdb --username user --password pass --show-table users # Show table info
agno postgres --host localhost --database testdb --username user --password pass --indexes users # Show indexes

# Test shell operations
agno shell --info # System information
agno shell --command "ls -la" # List directory
agno shell --process $$ # Current process info
agno shell --history # Command history

# Test Docker operations
agno docker --system
agno docker --list
agno docker --images
agno docker --pull "hello-world:latest"

# Test Wikipedia operations
agno wikipedia --search "Python programming"
agno wikipedia --summary "Python (programming language)"
agno wikipedia --random

# Test arXiv operations
agno arxiv --search "machine learning"
agno arxiv --paper "2401.00123"
agno arxiv --categories

# Test PubMed operations
agno pubmed --search "cancer treatment"
agno pubmed --paper "37828275"
agno pubmed --databases

# Test sleep operations
agno sleep --time-info
agno sleep --countdown 3 --no-progress
agno sleep --performance --monitor-duration 5

# Test Hacker News operations
agno hackernews --top --limit 5
agno hackernews --story 1
agno hackernews --user "pg"

# Test visualization operations
agno visualization --list-types
agno visualization --chart-type line --sample --sample-size 50
agno visualization --dashboard --chart-types "line,bar" --sample-size 30

# Test computer vision operations
agno opencv --list-operations
agno opencv --image test_image.jpg --info
agno opencv --image test_image.jpg --operation resize --width 200 --height 150
agno opencv --image test_image.jpg --extract basic

# Test model management operations
agno models --list
agno models --show gpt-4o
agno models --list-strategies
agno models --stats

# Test advanced thinking operations
agno thinking --list-frameworks
agno thinking --list-biases
agno thinking --start "Test Problem:This is a test problem"
agno thinking --analyze "How to improve system performance"

# Test function calling operations
agno function --list-builtin
agno function --list
agno function --create "Test Function:Test description:test_file.py"

# Test OpenAI integration operations
agno openai --list-models
agno openai --moderate "This is a test message"

# Test agent operations
agno agents --list                                  # List all agents
agno agents --create "DataAnalyst" --role specialist \
  --description "Expert in data analysis" \
  --capabilities '{"tools": ["math_tools"], "skills": ["statistics"]}'

# Test chat functionality
agno chat --quick "Hello, how are you?"             # Quick chat message
agno chat --agent TeamLeader --trace                # Chat with specific agent and trace

# Test configuration
agno configure --show                               # Show current configuration
agno configure --provider anthropic --api-key test-key # Set provider and API key

# Test help and version
agno --help                                         # Show all available commands
agno files --help                                   # Show file system command help
agno version                                        # Show version information
```

### Development Environment Setup
```bash
# Activate virtual environment
pyenv activate agnocli2@virtuelenv

# Install in development mode
pip install -e .

# Run CLI directly
python -m agno_cli.cli --help

# Test specific functionality
python -c "from agno_cli.tools.file_system_tools import FileSystemToolsManager; fs = FileSystemToolsManager(); fs.list_directory()"
```

## ๐Ÿ”ง Troubleshooting

### Common Issues and Solutions

#### File System Operations
```bash
# Issue: Read command not showing output
# Solution: Use --format text or --format json explicitly
agno files --read file.txt --format text

# Issue: DateTime serialization errors
# Solution: Fixed in latest version - datetime objects are properly handled

# Issue: Permission denied errors
# Solution: Check file permissions and ensure safe path operations
agno files --info file.txt  # Check file permissions first
```

#### Agent Operations
```bash
# Issue: UnboundLocalError with multi_agent_system
# Solution: Fixed in latest version - proper initialization handling

# Issue: Agent state not loading correctly
# Solution: Check agents_state_agents.json and agents_state_orchestrator.json files
ls -la agents_state*.json  # Verify state files exist
```

#### Chat Operations
```bash
# Issue: TypeError with RunResponse objects
# Solution: Fixed in latest version - proper content extraction from RunResponse

# Issue: Markdown rendering errors
# Solution: Ensure content is string type before passing to Markdown()
```

### Debug Commands
```bash
# Check CLI installation
which agno
agno --version

# Check Python environment
python --version
pip list | grep agno

# Test file system tools directly
python -c "
from agno_cli.tools.file_system_tools import FileSystemToolsManager
fs = FileSystemToolsManager()
fs.list_directory()
"

# Check configuration
agno configure --show
```

## ๐Ÿค Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

### Development Setup
```bash
git clone https://github.com/paulgg-code/agno-cli.git
cd agno-cli
pip install -e .[dev]
pre-commit install
```

### Development Workflow Example

#### File System Tool Development Commands Used
```bash
# Initial testing and debugging
agno files --list                                    # Test basic listing
agno files --read README.md                          # Test file reading (initially failed)
agno files --read README.md --format text            # Test with explicit format
agno files --read README.md --format json            # Test JSON output

# Debug commands used during development
python -c "from agno_cli.tools.file_system_tools import FileSystemToolsManager; fs = FileSystemToolsManager(); fs.list_directory()"
python -c "from agno_cli.tools.file_system_tools import FileSystemTools; fs = FileSystemTools(); result = fs.read_file('README.md'); print(result.success)"

# Testing all file operations
agno files --write test.txt --content "Hello World"  # Test file writing
agno files --read test.txt                           # Test reading written file
agno files --info test.txt                           # Test file info
agno files --search "*.txt"                          # Test file search
agno files --mkdir test_dir                          # Test directory creation
agno files --copy test.txt:test_dir/copy.txt         # Test file copying
agno files --move test.txt:renamed.txt               # Test file moving
agno files --delete renamed.txt --no-confirm         # Test file deletion
agno files --delete test_dir --recursive --no-confirm # Test directory deletion
agno files --tree                                    # Test tree view
agno files --tree --hidden                           # Test tree with hidden files

# Help and documentation testing
agno --help                                          # Test main help
agno files --help                                    # Test file system help
```
```bash
# 1. Set up development environment
pyenv activate agnocli2@virtuelenv
pip install -e .

# 2. Test current functionality
agno --help
agno files --help

# 3. Implement new feature (example: file system tools)
# Edit agno_cli/tools/file_system_tools.py
# Edit agno_cli/cli.py to add new commands

# 4. Test the implementation
agno files --list
agno files --read README.md
agno files --write test.txt --content "test"

# 5. Debug issues (if any)
# Add debug output, test, remove debug output
python -c "from agno_cli.tools.file_system_tools import FileSystemToolsManager; fs = FileSystemToolsManager(); fs.list_directory()"

# 6. Update documentation
# Edit README.md with new commands and examples

# 7. Test all functionality
agno files --list --hidden --recursive
agno files --read README.md --format json
agno files --tree
```

### Code Style
- Use [Black](https://black.readthedocs.io/) for code formatting
- Follow [PEP 8](https://pep8.org/) style guidelines
- Add type hints for all functions
- Write comprehensive docstrings

## ๐Ÿ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- Built on the [Agno AI](https://github.com/agno-agi/agno) framework
- Inspired by multi-agent research and collaborative AI systems
- Thanks to all contributors and the open-source community

## ๐Ÿ“ž Support


- **Issues**: [GitHub Issues](https://github.com/paulgg-code/agno-cli/issues)
- **Discussions**: [GitHub Discussions](https://github.com/paulgg-code/agno-cli/discussions)

---

**Agno CLI Enhanced** - Bringing the power of multi-agent AI to your terminal! ๐Ÿš€


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/paulgg-code/agno-cli",
    "name": "agno-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ai, cli, agents, multi-agent, reasoning, terminal, assistant",
    "author": "Paul Gedeon",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/a2/58/3d120c09297669c992a136c23160fa669686f7bf9b32b88b697f79ca9012/agno_cli-2.4.7.tar.gz",
    "platform": null,
    "description": "# Agno CLI Enhanced - Multi-Agent Terminal Assistant (Beta)\n\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![GitHub](https://img.shields.io/badge/GitHub-Repository-blue.svg)](https://github.com/PaulGG-Code/agno-cli)\n[![PyPI](https://img.shields.io/badge/PyPI-agno--cli-blue.svg)](https://pypi.org/project/agno-cli/)\n\nA powerful, terminal-native multi-agent assistant built on the Agno AI framework. Features advanced reasoning, team collaboration, comprehensive tool integration, and performance analytics.\n\n## \ud83d\ude80 Features\n\n### \ud83d\udcca Current Implementation Status\n- **\u2705 Completed**: Multi-agent system, file system operations, basic CLI framework\n- **\ud83d\udd04 In Progress**: Additional tool integrations (see [Implementation Plan](IMPLEMENTATION_PLAN.md))\n- **\ud83d\udccb Planned**: 73+ Agno AI tools integration for full feature parity\n\n### \ud83e\udd16 Multi-Agent System\n- **Agent Orchestration**: Coordinate multiple AI agents with different roles and specializations\n- **Team Collaboration**: Agents can communicate, delegate tasks, and share context\n- **Role-Based Architecture**: Leader, Worker, Contributor, Specialist, Coordinator, and Observer roles\n- **Dynamic Task Assignment**: Intelligent task routing based on agent capabilities and workload\n\n### \ud83e\udde0 Advanced Reasoning & Tracing\n- **Step-by-Step Reasoning**: Chain-of-Thought (CoT) and ReAct pattern support\n- **Reasoning Traces**: Detailed logs of agent thought processes and decision making\n- **Performance Metrics**: Token usage, response times, success rates, and confidence scores\n- **Real-time Monitoring**: Live trace display with `--trace` flag\n\n### \ud83d\udd27 Comprehensive Tool Integration\n\n#### \u2705 File System Tools (Implemented)\n- **File Operations**: Read, write, list, delete, copy, and move files\n- **Directory Management**: Create directories, tree view, recursive operations\n- **File Search**: Pattern-based file searching with wildcards\n- **File Information**: Detailed metadata, permissions, and MIME type detection\n- **Security**: Path validation and safe file operations\n\n#### \ud83d\udd04 Search Tools (In Development)\n- **Multiple Engines**: DuckDuckGo, Google, SerpApi, Brave, SearXNG, Baidu\n- **Unified Interface**: Single command for multi-engine search and result aggregation\n- **Configurable**: Engine-specific settings and API key management\n\n#### \ud83d\udd04 Financial Tools (In Development)\n- **Stock Analysis**: Real-time quotes, historical data, technical indicators\n- **Portfolio Management**: Multi-stock analysis and performance comparison\n- **Market Data**: Sector performance, analyst recommendations, financial statements\n- **News Integration**: Company-specific news and sentiment analysis\n\n#### \ud83d\udd04 Math & Data Tools (In Development)\n- **Advanced Calculator**: Scientific functions, variables, step-by-step solutions\n- **Statistical Analysis**: Descriptive stats, correlation, regression analysis\n- **CSV Analysis**: Data loading, querying, and group analysis\n- **SQL Integration**: In-memory database queries and data manipulation\n\n### \ud83d\udc65 Team Management\n- **Shared Context**: Team-wide information sharing and coordination\n- **Message Passing**: Inter-agent communication and broadcasting\n- **Task Orchestration**: Centralized task assignment and progress tracking\n- **Performance Analytics**: Team-wide metrics and individual agent performance\n\n### \ud83c\udfaf Enhanced CLI Experience\n- **Rich Terminal UI**: Beautiful tables, panels, and formatted output\n- **Interactive Chat**: Multi-agent conversations with context switching\n- **Modular Commands**: Organized command structure for different functionalities\n- **Export Capabilities**: JSON, CSV, Markdown output formats\n\n> Welcome agno-cli\n[![Demo 1](https://asciinema.org/a/BCraWRW2fpb6smmRKzp7ZU59E.svg)](https://asciinema.org/a/BCraWRW2fpb6smmRKzp7ZU59E3)\n\n\n> Using Panda and csv with agno-cli\n[![Demo 2](https://asciinema.org/a/uRajitiULt8FSGE2bdkJpimpJ.svg)](https://asciinema.org/a/uRajitiULt8FSGE2bdkJpimpJ)\n\n> Using Duckdb, Panda and csv\n[![Demo 3](https://asciinema.org/a/TVLiViDxhYo3foXViYM0R0BCS.svg)](https://asciinema.org/a/TVLiViDxhYo3foXViYM0R0BCS)\n\n> Using Shell, Docker, Wikipedia, Arxiv, Screenshot\n[![Demo 4](https://asciinema.org/a/h4sV8yv57zM7XKM6H5RMrrOp3.svg)](https://asciinema.org/a/h4sV8yv57zM7XKM6H5RMrrOp3)\n\n> Using Finance with agno-cli\n[![Demo 5](https://asciinema.org/a/XWeLQWHNYeFFvCXXiHwKDPYJp.svg)](https://asciinema.org/a/XWeLQWHNYeFFvCXXiHwKDPYJp)\n\n> Automating Functions usign agno-cli\n[![Demo 6](https://asciinema.org/a/PdSNs6QUUwRf0iWg3OYfv9Eru.svg)](https://asciinema.org/a/PdSNs6QUUwRf0iWg3OYfv9Eru)\n\n## \ud83d\ude80 Quick Start\n\n```bash\n# Install the CLI\npip install agno-cli\n\n# Configure with your API key\nagno configure --provider anthropic --api-key your-api-key\n\n# Start exploring\nagno --help                    # See all commands\nagno files --list              # List files in current directory\nagno chat --quick \"Hello!\"     # Quick chat with AI\n```\n\n## \ud83d\udce6 Installation\n\n### Basic Installation\n```bash\npip install agno-cli\n```\n\n### With All Features\n```bash\npip install agno-cli[all]\n```\n\n### Selective Feature Installation\n```bash\n# Search tools\npip install agno-cli[search]\n\n# Financial analysis\npip install agno-cli[fintech]\n\n# Math and data tools\npip install agno-cli[math]\n\n# Communication tools\npip install agno-cli[comm]\n\n# Media tools\npip install agno-cli[media]\n\n# Knowledge APIs\npip install agno-cli[knowledge]\n```\n\n### Development Installation\n```bash\ngit clone https://github.com/paulgg-code/agno-cli.git\ncd agno-cli\npip install -e \".[dev]\"\n```\n\n## \u2699\ufe0f Configuration\n\n### Initial Setup\n```bash\n# Configure API keys and model settings\nagno configure --provider anthropic --api-key your-api-key\nagno configure --model claude-3-sonnet-20240229\n\n# Or use OpenAI\nagno configure --provider openai --api-key your-openai-key\nagno configure --model gpt-4\n\n# View current configuration\nagno configure --show\n```\n\n### Environment Variables\n```bash\nexport ANTHROPIC_API_KEY=\"your-anthropic-key\"\nexport OPENAI_API_KEY=\"your-openai-key\"\nexport AGNO_CONFIG_DIR=\"~/.agno_cli\"\n```\n\n## \ud83c\udfae Usage Examples\n\n### Available Commands\n```bash\n# Core commands\nagno --help                    # Show all available commands\nagno version                   # Show version information\n\n# Agent management\nagno agents --help             # Agent operations\nagno agents --list             # List all agents\nagno agents --create           # Create new agent\nagno agents --remove           # Remove agent\n\n# Chat interface\nagno chat --help               # Chat operations\nagno chat                      # Interactive chat\nagno chat --quick \"message\"    # Quick single message\n\n# File system operations\nagno files --help              # File system operations\nagno files --list              # List directory contents\nagno files --read file.txt     # Read file contents\nagno files --write file.txt    # Write to file\nagno files --delete file.txt   # Delete file\nagno files --search \"*.py\"     # Search for files\nagno files --tree              # Display directory tree\n\n# Configuration\nagno configure --help          # Configuration management\nagno configure --show          # Show current config\nagno configure --set           # Set configuration values\n```\n\n### Interactive Chat\n```bash\n# Start chat with default agent\nagno chat\n\n# Chat with specific agent with reasoning trace\nagno chat --agent researcher --trace\n\n# Quick single message\nagno chat --quick \"Explain quantum computing\"\n\n# Chat with context and goals\nagno chat --context '{\"domain\": \"finance\"}' --goal \"Analyze market trends\"\n```\n\n### Agent Management\n```bash\n# List all agents\nagno agents --list\n\n# Create specialized agent\nagno agents --create \"DataAnalyst\" --role specialist \\\n  --description \"Expert in data analysis and visualization\" \\\n  --capabilities '{\"tools\": [\"math_tools\", \"csv_tools\"], \"skills\": [\"statistics\", \"visualization\"]}'\n\n# Check agent status\nagno agents --status agent-id\n\n# Remove agent\nagno agents --remove agent-id\n```\n\n### Team Operations\n```bash\n# View team status\nagno team --status\n\n# Activate team for task execution\nagno team --activate\n\n# Assign task to team\nagno team --task \"Analyze Q3 financial performance\" --priority high \\\n  --requirements '{\"skills\": [\"finance\", \"analysis\"], \"tools\": [\"yfinance_tools\"]}'\n\n# Assign task with specific requirements\nagno team --task \"Research latest AI developments\" --priority normal \\\n  --requirements '{\"skills\": [\"research\", \"analysis\"], \"tools\": [\"search_tools\"]}'\n\n# Broadcast message to team\nagno team --message \"New market data available for analysis\"\n\n# Deactivate team\nagno team --deactivate\n```\n\n### Team Management Examples\n\n#### Creating and Managing Agents\n```bash\n# List all agents\nagno agents --list\n\n# Create a financial analyst agent\nagno agents --create \"FinancialAnalyst\" --role specialist \\\n  --description \"Expert in financial analysis and market research\" \\\n  --capabilities '{\"tools\": [\"financial_tools\", \"math_tools\"], \"skills\": [\"finance\", \"statistics\", \"analysis\"]}'\n\n# Create a research specialist agent\nagno agents --create \"ResearchSpecialist\" --role specialist \\\n  --description \"Expert in research and data analysis\" \\\n  --capabilities '{\"tools\": [\"search_tools\", \"wikipedia_tools\", \"arxiv_tools\"], \"skills\": [\"research\", \"analysis\", \"synthesis\"]}'\n\n# Create a data scientist agent\nagno agents --create \"DataScientist\" --role specialist \\\n  --description \"Expert in data science and machine learning\" \\\n  --capabilities '{\"tools\": [\"pandas_tools\", \"visualization_tools\", \"math_tools\"], \"skills\": [\"data_science\", \"ml\", \"statistics\"]}'\n\n# Check agent status and capabilities\nagno agents --list\n```\n\n#### Team Activation and Task Management\n```bash\n# Activate the team for task execution\nagno team --activate\n\n# Assign a financial analysis task\nagno team --task \"Analyze stock performance for AAPL, MSFT, and GOOGL\" \\\n  --priority high \\\n  --requirements '{\"skills\": [\"finance\", \"analysis\"], \"tools\": [\"financial_tools\"]}'\n\n# Assign a research task\nagno team --task \"Research latest developments in quantum computing\" \\\n  --priority normal \\\n  --requirements '{\"skills\": [\"research\", \"analysis\"], \"tools\": [\"search_tools\", \"arxiv_tools\"]}'\n\n# Assign a data analysis task\nagno team --task \"Analyze customer satisfaction data and create visualizations\" \\\n  --priority normal \\\n  --requirements '{\"skills\": [\"data_science\", \"statistics\"], \"tools\": [\"pandas_tools\", \"visualization_tools\"]}'\n\n# Check team status and pending tasks\nagno team --status\n\n# Send a message to coordinate the team\nagno team --message \"Please prioritize the financial analysis task - deadline is approaching\"\n\n# Deactivate team when work is complete\nagno team --deactivate\n```\n\n#### Task Execution and Monitoring\n```bash\n# Activate team to start processing tasks\nagno team --activate\n\n# Assign multiple tasks with different priorities\nagno team --task \"Urgent: Analyze Q4 earnings reports\" --priority critical \\\n  --requirements '{\"skills\": [\"finance\", \"analysis\"], \"tools\": [\"financial_tools\"]}'\n\nagno team --task \"Research competitor analysis\" --priority high \\\n  --requirements '{\"skills\": [\"research\", \"analysis\"], \"tools\": [\"search_tools\"]}'\n\nagno team --task \"Create quarterly performance dashboard\" --priority normal \\\n  --requirements '{\"skills\": [\"data_science\", \"visualization\"], \"tools\": [\"pandas_tools\", \"visualization_tools\"]}'\n\n# Monitor team progress\nagno team --status\n\n# Send coordination messages\nagno team --message \"Focus on completing the urgent earnings analysis first\"\n\n# Check task details and progress\nagno team --status\n\n# Deactivate when tasks are complete\nagno team --deactivate\n```\n\n#### Advanced Team Coordination\n```bash\n# Create a comprehensive team setup\nagno agents --create \"TeamLeader\" --role leader \\\n  --description \"Team coordinator and decision maker\" \\\n  --capabilities '{\"tools\": [\"search_tools\", \"communication_tools\"], \"skills\": [\"coordination\", \"decision_making\"]}'\n\nagno agents --create \"MarketAnalyst\" --role specialist \\\n  --description \"Market and financial analysis expert\" \\\n  --capabilities '{\"tools\": [\"financial_tools\", \"math_tools\"], \"skills\": [\"finance\", \"market_analysis\"]}'\n\nagno agents --create \"DataEngineer\" --role specialist \\\n  --description \"Data processing and engineering expert\" \\\n  --capabilities '{\"tools\": [\"pandas_tools\", \"sql_tools\"], \"skills\": [\"data_engineering\", \"sql\"]}'\n\n# Activate the team\nagno team --activate\n\n# Assign complex multi-step project\nagno team --task \"Complete market analysis project: 1) Gather market data, 2) Analyze trends, 3) Create report\" \\\n  --priority high \\\n  --requirements '{\"skills\": [\"finance\", \"data_analysis\", \"reporting\"], \"tools\": [\"financial_tools\", \"pandas_tools\", \"visualization_tools\"]}'\n\n# Monitor progress and coordinate\nagno team --status\nagno team --message \"Phase 1 complete - moving to trend analysis phase\"\n\n# Continue monitoring\nagno team --status\n\n# Deactivate when project is complete\nagno team --deactivate\n```\n\n#### Task Persistence and State Management\n```bash\n# The team system automatically persists:\n# - Team activation status\n# - Assigned tasks and their status\n# - Agent states and capabilities\n# - Task execution history\n\n# Tasks persist across CLI sessions\nagno team --activate\nagno team --task \"Long-running analysis task\" --priority normal\nagno team --status\n\n# Exit CLI and return later\n# Tasks will still be there when you return\nagno team --status  # Shows the same pending task\n\n# Team activation status also persists\nagno team --status  # Shows team is still active\n\n# Deactivate when done\nagno team --deactivate\n```\n\n### Search Operations\n```bash\n# Basic search\nagno search \"artificial intelligence trends 2024\"\n\n# Multi-engine search\nagno search \"climate change solutions\" --multi --format markdown\n\n# Specific search engine\nagno search \"python best practices\" --engine duckduckgo --num 5\n```\n\n### Financial Analysis\n```bash\n# Stock information\nagno finance AAPL --action info\n\n# Stock news\nagno finance TSLA --action news\n\n# Performance analysis\nagno finance MSFT --action analysis --period 2y\n\n# Market summary\nagno finance --summary\n```\n\n### Mathematical Calculations\n```bash\n# Basic calculation\nagno calc \"2^10 + sqrt(144)\"\n\n# With step-by-step solution\nagno calc \"solve: 2x + 5 = 13\" --steps\n\n# Set variables\nagno calc --var \"x=10\"\nagno calc \"3*x + 2*x^2\"\n\n# List variables\nagno calc --list-vars\n```\n\n### File System Operations\n```bash\n# List directory contents\nagno files --list\n\n# List with hidden files and recursive search\nagno files --list --hidden --recursive\n\n# Read file contents\nagno files --read README.md\n\n# Write content to file\nagno files --write output.txt --content \"Hello, World!\"\n\n# Get file information\nagno files --info config.yaml\n\n# Search for files\nagno files --search \"*.py\"\n\n# Create directory\nagno files --mkdir new_project\n\n# Copy file\nagno files --copy source.txt:destination.txt\n\n# Move file\nagno files --move old_name.txt:new_name.txt\n\n# Delete file (with confirmation)\nagno files --delete temp_file.txt\n\n# Delete without confirmation\nagno files --delete temp_file.txt --no-confirm\n\n# Display directory tree\nagno files --tree\n\n# Display tree with hidden files\nagno files --tree --hidden\n```\n\n### CSV Data Operations\n```bash\n# Read and display CSV data\nagno csv --read data.csv\n\n# Read with custom encoding and delimiter\nagno csv --read data.csv --encoding utf-8 --delimiter \";\"\n\n# Show sample of data\nagno csv --read data.csv --sample --sample-size 5\n\n# Get CSV file information\nagno csv --info data.csv\n\n# Analyze CSV data (statistics, data types, missing values)\nagno csv --analyze data.csv\n\n# Filter data by conditions\nagno csv --read data.csv --filter '{\"age\": {\"min\": 30}}'\n\n# Filter with multiple conditions\nagno csv --read data.csv --filter '{\"age\": {\"min\": 25, \"max\": 35}, \"city\": \"New York\"}'\n\n# Sort data by columns\nagno csv --read data.csv --sort \"age\" --ascending \"1\"\n\n# Sort by multiple columns\nagno csv --read data.csv --sort \"age,salary\" --ascending \"1,0\"\n\n# Convert CSV to JSON\nagno csv --convert \"data.csv:output.json:json\"\n\n# Convert CSV to Excel\nagno csv --convert \"data.csv:output.xlsx:excel\"\n\n# Write new CSV file\nagno csv --write new_data.csv\n\n# Merge CSV files\nagno csv --merge \"file1.csv:file2.csv:key_column\" --output merged.csv\n```\n\n### Pandas Data Analysis\n```bash\n# Read and analyze data\nagno pandas --read data.csv\nagno pandas --analyze data.csv\nagno pandas --read data.csv --show 10\n\n# Clean and transform data\nagno pandas --read data.csv --clean '{\"handle_missing\": \"drop\", \"remove_duplicates\": true}'\nagno pandas --read data.csv --transform '{\"columns\": {\"select\": [\"name\", \"age\"]}, \"rows\": {\"filter\": [{\"column\": \"age\", \"operator\": \">=\", \"value\": 30}]}}'\n\n# Write data to different formats\nagno pandas --read data.csv --write output.csv\nagno pandas --read data.csv --write output.json --format json\nagno pandas --read data.csv --write output.xlsx --format excel\n\n# Create visualizations\nagno pandas --read data.csv --visualize '{\"type\": \"histogram\", \"column\": \"age\"}' --output plot.png\nagno pandas --read data.csv --visualize '{\"type\": \"scatter\", \"x\": \"age\", \"y\": \"salary\"}' --output scatter.png\n```\n\n### DuckDB Database Operations\n```bash\n# Basic database operations\nagno duckdb --database mydb.db --file --import \"data.csv:employees\"\nagno duckdb --database mydb.db --file --list\nagno duckdb --database mydb.db --file --info\n\n# SQL queries\nagno duckdb --database mydb.db --file --query \"SELECT * FROM employees WHERE age > 30\"\nagno duckdb --database mydb.db --file --query \"SELECT name, AVG(salary) FROM employees GROUP BY department\"\n\n# Table management\nagno duckdb --database mydb.db --file --create-table \"products:{\\\"id\\\": \\\"INTEGER\\\", \\\"name\\\": \\\"VARCHAR(100)\\\", \\\"price\\\": \\\"DECIMAL(10,2)\\\"}\"\nagno duckdb --database mydb.db --file --show-table employees\nagno duckdb --database mydb.db --file --export \"employees:export.csv\"\n\n# Database maintenance\nagno duckdb --database mydb.db --file --backup backup.db\nagno duckdb --database mydb.db --file --optimize\n```\n\n### SQL Query Execution\n```bash\n# Basic SQL operations\nagno sql --file database.db --script create_tables.sql\nagno sql --file database.db --list\nagno sql --file database.db --info\n\n# SQL queries\nagno sql --file database.db --query \"SELECT * FROM employees WHERE age > 30\"\nagno sql --file database.db --query \"SELECT city, AVG(salary) FROM employees GROUP BY city\"\n\n# Table management\nagno sql --file database.db --show-table employees\nagno sql --file database.db --backup backup.db\n\n# Multiple database types\nagno sql --type mysql --host localhost --database mydb --username user --password pass --query \"SELECT * FROM users\"\nagno sql --type postgresql --host localhost --database mydb --username user --password pass --query \"SELECT * FROM users\"\n```\n\n### PostgreSQL Database Integration\n```bash\n# Basic PostgreSQL operations\nagno postgres --host localhost --database mydb --username user --password pass --info\nagno postgres --host localhost --database mydb --username user --password pass --list\nagno postgres --host localhost --database mydb --username user --password pass --schemas\n\n# PostgreSQL queries\nagno postgres --host localhost --database mydb --username user --password pass --query \"SELECT * FROM users WHERE age > 30\"\nagno postgres --host localhost --database mydb --username user --password pass --query \"SELECT schema_name, table_name FROM information_schema.tables\"\n\n# Table management\nagno postgres --host localhost --database mydb --username user --password pass --show-table users\nagno postgres --host localhost --database mydb --username user --password pass --indexes users\nagno postgres --host localhost --database mydb --username user --password pass --vacuum public.users\nagno postgres --host localhost --database mydb --username user --password pass --reindex public.users\n\n# Database maintenance\nagno postgres --host localhost --database mydb --username user --password pass --backup backup.dump\nagno postgres --host localhost --database mydb --username user --password pass --restore backup.dump\n```\n\n### Shell System Operations\n```bash\n# Basic shell operations\nagno shell --command \"ls -la\"\nagno shell --command \"pwd\"\nagno shell --command \"whoami\"\n\n# System information\nagno shell --info\nagno shell --process 1234\nagno shell --kill 1234 --signal SIGTERM\n\n# Script execution\nagno shell --script script.sh\nagno shell --live --command \"tail -f log.txt\"\nagno shell --timeout 60 --command \"long-running-process\"\n\n# Command history\nagno shell --history\nagno shell --history-limit 10\nagno shell --clear-history\n```\n\n### Docker Container Management\n```bash\n# Container operations\nagno docker --list\nagno docker --all\nagno docker --info container_id\nagno docker --start container_id\nagno docker --stop container_id\nagno docker --restart container_id\nagno docker --remove container_id --force\n\n# Container creation\nagno docker --create \"nginx:latest:my-nginx\"\nagno docker --create \"python:3.9:my-app\" --command \"python app.py\"\nagno docker --create \"postgres:13:my-db\" --ports \"5432:5432\" --env \"POSTGRES_PASSWORD=mypass\"\n\n# Container execution\nagno docker --exec \"container_id:ls -la\"\nagno docker --exec \"container_id:cat /etc/hosts\" --exec-user root\n\n# Container logs\nagno docker --logs container_id\nagno docker --logs container_id --logs-tail 50\nagno docker --logs container_id --logs-follow\n\n# Image management\nagno docker --images\nagno docker --pull \"ubuntu:20.04\"\nagno docker --rmi image_id --force\nagno docker --build \"./app:my-app\" --dockerfile \"Dockerfile.prod\"\n\n# System management\nagno docker --system\nagno docker --prune\nagno docker --prune-containers\nagno docker --prune-images\n```\n\n### Wikipedia Research\n```bash\n# Search operations\nagno wikipedia --search \"Python programming\"\nagno wikipedia --search \"Machine learning\" --limit 5\nagno wikipedia --suggestions \"artificial intelligence\"\n\n# Article operations\nagno wikipedia --summary \"Python (programming language)\"\nagno wikipedia --article \"Machine learning\"\nagno wikipedia --random\n\n# Related content\nagno wikipedia --related \"Python (programming language)\"\nagno wikipedia --categories \"Python (programming language)\"\nagno wikipedia --category-articles \"Programming languages\"\n\n# Language support\nagno wikipedia --language-versions \"Python (programming language)\"\nagno wikipedia --search \"Python\" --language \"es\"\n\n# Text analysis\nagno wikipedia --keywords \"Python is a high-level programming language\"\nagno wikipedia --clear-cache\n```\n\n### arXiv Academic Papers\n```bash\n# Search operations\nagno arxiv --search \"machine learning\"\nagno arxiv --search \"deep learning\" --max-results 5\nagno arxiv --search \"transformer\" --filter-categories \"cs.AI,cs.LG\"\n\n# Paper operations\nagno arxiv --paper \"2401.00123\"\nagno arxiv --recent --max-results 10\nagno arxiv --related \"2401.00123\"\n\n# Author and category operations\nagno arxiv --author \"Yann LeCun\"\nagno arxiv --category \"cs.AI\" --max-results 20\nagno arxiv --author-info \"Geoffrey Hinton\"\nagno arxiv --categories\n\n# Text analysis\nagno arxiv --keywords \"This paper presents a novel approach to machine learning\"\nagno arxiv --clear-cache\n```\n\n### PubMed Medical Research\n```bash\n# Search operations\nagno pubmed --search \"cancer treatment\"\nagno pubmed --search \"diabetes\" --max-results 5\nagno pubmed --search \"COVID-19\" --database \"pmc\"\n\n# Paper operations\nagno pubmed --paper \"37828275\"\nagno pubmed --recent --max-results 10\nagno pubmed --related \"37828275\"\n\n# Author and journal operations\nagno pubmed --author \"John Smith\"\nagno pubmed --journal \"Nature\" --max-results 20\nagno pubmed --author-info \"Jane Doe\"\nagno pubmed --databases\n\n# Text analysis\nagno pubmed --keywords \"This study examines the effects of treatment on patient outcomes\"\nagno pubmed --clear-cache\n```\n\n### Sleep & Timing Operations\n```bash\n# Basic sleep operations\nagno sleep --duration 5\nagno sleep --countdown 10\nagno sleep --until \"14:30:00\"\n\n# Timer and performance\nagno sleep --timer \"ls -la\" --iterations 3\nagno sleep --performance --monitor-duration 30\nagno sleep --time-info\n\n# Scheduling and rate limiting\nagno sleep --schedules\nagno sleep --clear-schedules\nagno sleep --rate-limit-info\n\n# Options\nagno sleep --no-progress --duration 3\nagno sleep --format json --time-info\n```\n\n### Hacker News Integration\n```bash\n# Story operations\nagno hackernews --top --limit 10\nagno hackernews --new --limit 5\nagno hackernews --best --limit 10\nagno hackernews --ask --limit 5\nagno hackernews --show --limit 5\nagno hackernews --jobs --limit 5\n\n# Story details and comments\nagno hackernews --story 44653072\nagno hackernews --comments 44653072 --max-depth 3\n\n# User operations\nagno hackernews --user \"pg\"\nagno hackernews --user-stories \"pg\" --limit 10\n\n# Search and trending\nagno hackernews --search \"AI\" --limit 10\nagno hackernews --trending --hours 24 --limit 10\nagno hackernews --updates\n\n# Options\nagno hackernews --clear-cache\nagno hackernews --format json --top --limit 5\n```\n\n### Data Visualization\n```bash\n# Chart creation\nagno visualization --chart-type line --sample --sample-size 100\nagno visualization --chart-type bar --sample --sample-type categorical\nagno visualization --chart-type scatter --sample --sample-type trend\nagno visualization --chart-type pie --sample --sample-type categorical\nagno visualization --chart-type histogram --sample --sample-size 200\nagno visualization --chart-type box --sample --sample-type categorical\nagno visualization --chart-type heatmap --sample\n\n# Dashboard creation\nagno visualization --dashboard --chart-types \"line,bar,scatter\" --sample-size 100\n\n# Chart information\nagno visualization --list-types\nagno visualization --chart-info scatter\n\n# Custom data\nagno visualization --chart-type line --data-file data.csv --x-column \"x\" --y-column \"y\"\nagno visualization --chart-type bar --title \"Sales Data\" --width 1000 --height 800\n\n# Options\nagno visualization --format json --chart-type line --sample\n```\n\n### Computer Vision Operations\n```bash\n# Image processing\nagno opencv --image image.jpg --operation resize --width 800 --height 600\nagno opencv --image image.jpg --operation filter --filter-type blur\nagno opencv --image image.jpg --operation brightness_contrast --brightness 50 --contrast 1.5\nagno opencv --image image.jpg --operation rotate --angle 45\nagno opencv --image image.jpg --operation flip --direction horizontal\nagno opencv --image image.jpg --operation crop --crop-x 100 --crop-y 100 --crop-width 200 --crop-height 200\n\n# Object detection\nagno opencv --image image.jpg --detect faces\nagno opencv --image image.jpg --detect eyes\nagno opencv --image image.jpg --detect bodies\nagno opencv --image image.jpg --detect cars\n\n# Feature extraction\nagno opencv --image image.jpg --extract basic\nagno opencv --image image.jpg --extract edges\nagno opencv --image image.jpg --extract corners\n\n# Information and lists\nagno opencv --image image.jpg --info\nagno opencv --list-operations\nagno opencv --list-objects\nagno opencv --list-features\n\n# Options\nagno opencv --format json --image image.jpg --info\n```\n\n#### Screenshot Commands\n- **`agno screenshot --full-screen`**: Capture full screen screenshot\n- **`agno screenshot --region x,y,width,height`**: Capture region screenshot\n- **`agno screenshot --window \"Window Title\"`**: Capture specific window\n- **`agno screenshot --webpage https://example.com`**: Capture webpage screenshot\n- **`agno screenshot --element \"url:selector\"`**: Capture webpage element\n- **`agno screenshot --scrolling https://example.com`**: Capture scrolling webpage\n- **`agno screenshot --list`**: List all screenshots\n- **`agno screenshot --show-info filename`**: Show screenshot information\n- **`agno screenshot --screen-info`**: Show screen information\n- **`agno screenshot --clear`**: Clear all screenshots\n\n### Model Management Operations\n```bash\n# List and explore models\nagno models --list\nagno models --show gpt-4o\nagno models --list-strategies\nagno models --stats\n\n# Model selection and comparison\nagno models --select text_generation --strategy balanced\nagno models --compare \"gpt-4o,claude-3-5-sonnet,gemini-1.5-pro\"\n\n# Performance tracking\nagno models --performance gpt-4o --days 7\nagno models --record-performance '{\"model_name\":\"gpt-4o\",\"provider\":\"openai\",\"test_date\":\"2024-01-01\",\"latency_ms\":150,\"throughput_tokens_per_sec\":1000}'\n\n# Model management\nagno models --register model_config.json\nagno models --update \"gpt-4o:temperature:0.8\"\nagno models --export \"gpt-4o:exported_model.json\"\nagno models --import new_model.json\n\n# Options\nagno models --format json --list\nagno models --provider openai --list\nagno models --model-type text_generation --list\n```\n\n### Advanced Thinking Operations\n```bash\n# Start thinking sessions\nagno thinking --start \"Problem Title:Problem description\"\nagno thinking --start \"Website Optimization:Improve loading speed\" --framework systems_thinking\n\n# Manage thinking sessions\nagno thinking --list\nagno thinking --show session_id\nagno thinking --add-node \"session_id:Node Title:Content:node_type\"\n\n# Problem analysis and decision making\nagno thinking --analyze \"How to optimize database performance\"\nagno thinking --decision-tree \"Title:Criteria1,Criteria2:Option1,Option2,Option3\"\nagno thinking --experiment \"Title:Scenario:Assumption1,Assumption2\"\n\n# Cognitive bias detection\nagno thinking --detect-biases session_id\n\n# Explore frameworks and biases\nagno thinking --list-frameworks\nagno thinking --list-biases\n\n# Options\nagno thinking --format json --list-frameworks\nagno thinking --framework design_thinking --start \"Title:Problem\"\n```\n\n### Function Calling Operations\n```bash\n\n# Show function details\nagno function --show \"function_id\"\n\n# Delete a function\nagno function --delete \"function_id\"\n\n# Create from template\nagno function --create-from-template \"template_id:name:description\"\n\n# Create and manage functions\nagno function --create \"Function Name:Description:code_file.py\"\nagno function --create \"fibonacci_sequence:Calculate Fibonacci sequence up to n:fibonacci.py\"\nagno function --execute \"864546e:data=10\"\n\nagno function --execute \"864546e:data=10\"\nagno function --list\nagno function --show function_id\nagno function --delete function_id\n\n# Execute functions\nagno function --execute \"function_id:param1=value1,param2=value2\"\nagno function --execute \"function_id:data=10\" --timeout 60\n\n# Templates and code generation\nagno function --list-builtin\nagno function --list-templates\nagno function --create-from-template \"template_id:name:description\"\n\n# Execution history and monitoring\nagno function --history function_id\nagno function --history function_id --limit 10\n\n# Filtering and options\nagno function --type python --list\nagno function --tag math --list\nagno function --format json --list\n```\n\n### OpenAI Integration Operations\n```bash\n# Chat completions\nagno openai --chat \"Hello, how are you?\"\nagno openai --chat \"Explain quantum computing\" --model gpt-4o --temperature 0.3\nagno openai --chat \"Write a Python function\" --system \"You are a helpful coding assistant\"\n\n# Text embeddings\nagno openai --embed \"This is some text to embed\"\nagno openai --embed \"Another text for embedding\" --model text-embedding-3-small\n\n# Image generation\nagno openai --generate-image \"A beautiful sunset over mountains\"\nagno openai --generate-image \"A futuristic cityscape\" --size 1792x1024 --quality hd\n\n# Audio processing\nagno openai --transcribe audio_file.mp3\nagno openai --transcribe audio_file.mp3 --language en\nagno openai --tts \"Hello, this is a test\" --voice alloy\n\n# Content moderation\nagno openai --moderate \"This is a test message\"\n\n# Model and history management\nagno openai --list-models\nagno openai --history\nagno openai --history --operation-type chat_completion --limit 10\n\n# Options\nagno openai --format json --chat \"Test message\"\nagno openai --model gpt-4o-mini --chat \"Efficient response\"\n```\n\n### Web Crawling Operations\n```bash\n# Crawl a single web page\nagno crawl4ai --crawl https://example.com\nagno crawl4ai --crawl https://example.com --user-agent \"Custom Bot/1.0\" --timeout 60\n\n# Create and manage crawl jobs\nagno crawl4ai --create-job \"My Crawl:Test crawl job:https://example.com\"\nagno crawl4ai --create-job \"Deep Crawl:Comprehensive site crawl:https://example.com\" --strategy depth_first --max-depth 5 --max-pages 500\n\n# Execute crawl jobs\nagno crawl4ai --execute-job job-id-123\n\n# List and manage jobs\nagno crawl4ai --list-jobs\nagno crawl4ai --show-job job-id-123\nagno crawl4ai --delete-job job-id-123\n\n# Content search and analysis\nagno crawl4ai --search \"Some text content\" --pattern \"\\\\b\\\\w+\\\\b\" --case-sensitive\nagno crawl4ai --search \"HTML content\" --pattern \"<[^>]+>\" --format json\n\n# Options\nagno crawl4ai --format json --crawl https://example.com\nagno crawl4ai --strategy breadth_first --max-depth 3 --delay 2.0\n```\n\n### Reasoning Traces\n```bash\n# List recent traces\nagno trace --list\n\n# Show detailed trace\nagno trace --show trace-id\n\n# Export trace\nagno trace --export trace-id --format markdown\n\n# View tracer statistics\nagno trace --stats\n```\n\n### Performance Metrics\n```bash\n# System metrics summary\nagno metrics --summary\n\n# Agent-specific metrics\nagno metrics --agent agent-id\n\n# Performance leaderboard\nagno metrics --leaderboard success_rate\n\n# Export metrics\nagno metrics --export --format csv\n```\n\n## \ud83d\udccb Implementation Roadmap\n\nThis project is actively being developed to achieve full feature parity with Agno AI. See our [Implementation Plan](IMPLEMENTATION_PLAN.md) for detailed progress tracking and upcoming features.\n\n### Current Status\n- **\u2705 Phase 1**: File system operations completed\n- **\ud83d\udd04 Phase 1**: Core infrastructure tools in progress\n- **\ud83d\udccb Phase 2-7**: AI/ML, Business, Web, Social, Cloud, and Advanced AI tools planned\n\n## \ud83c\udfd7\ufe0f Architecture\n\n### Core Components\n\n```\nagno_cli/\n\u251c\u2500\u2500 agents/           # Multi-agent system\n\u2502   \u251c\u2500\u2500 agent_state.py      # Agent state tracking\n\u2502   \u251c\u2500\u2500 orchestrator.py     # Agent coordination\n\u2502   \u2514\u2500\u2500 multi_agent.py      # Multi-agent system\n\u251c\u2500\u2500 reasoning/        # Reasoning and tracing\n\u2502   \u251c\u2500\u2500 tracer.py          # Step-by-step reasoning\n\u2502   \u2514\u2500\u2500 metrics.py         # Performance metrics\n\u251c\u2500\u2500 tools/           # Tool integrations\n\u2502   \u251c\u2500\u2500 search_tools.py    # Search engines\n\u2502   \u251c\u2500\u2500 financial_tools.py # Financial data\n\u2502   \u251c\u2500\u2500 math_tools.py      # Math and data\n\u2502   \u251c\u2500\u2500 file_system_tools.py # File system operations\n\u2502   \u251c\u2500\u2500 csv_tools.py         # CSV data operations\n\u2502   \u251c\u2500\u2500 pandas_tools.py      # Pandas data analysis\n\u2502   \u251c\u2500\u2500 duckdb_tools.py      # DuckDB database operations\n\u2502   \u251c\u2500\u2500 sql_tools.py         # SQL query execution\n\u2502   \u251c\u2500\u2500 postgres_tools.py    # PostgreSQL database integration\n\u2502   \u251c\u2500\u2500 shell_tools.py       # System command execution\n\u2502   \u251c\u2500\u2500 docker_tools.py      # Docker container management\n\u2502   \u251c\u2500\u2500 wikipedia_tools.py   # Wikipedia research and content retrieval\n\u2502   \u251c\u2500\u2500 arxiv_tools.py       # arXiv academic paper search\n\u2502   \u251c\u2500\u2500 pubmed_tools.py      # PubMed medical research papers\n\u2502   \u251c\u2500\u2500 sleep_tools.py       # Sleep and timing operations\n\u2502   \u251c\u2500\u2500 hackernews_tools.py  # Hacker News integration\n\u2502   \u251c\u2500\u2500 visualization_tools.py # Data visualization and charting\n\u2502   \u251c\u2500\u2500 opencv_tools.py # Computer vision operations\n\u2502   \u251c\u2500\u2500 models_tools.py # Model management and selection\n\u2502   \u251c\u2500\u2500 thinking_tools.py # Advanced thinking and reasoning\n\u2502   \u251c\u2500\u2500 function_tools.py # Dynamic function calling and code generation\n\u2502   \u251c\u2500\u2500 openai_tools.py # OpenAI API integration\n\u2502   \u251c\u2500\u2500 communication_tools.py # Communication\n\u2502   \u251c\u2500\u2500 knowledge_tools.py # Knowledge APIs\n\u2502   \u2514\u2500\u2500 media_tools.py     # Media processing\n\u251c\u2500\u2500 commands/        # CLI command modules\n\u2502   \u251c\u2500\u2500 chat_commands.py   # Chat interface\n\u2502   \u251c\u2500\u2500 agent_commands.py  # Agent management\n\u2502   \u251c\u2500\u2500 team_commands.py   # Team operations\n\u2502   \u251c\u2500\u2500 tool_commands.py   # Tool operations\n\u2502   \u251c\u2500\u2500 trace_commands.py  # Trace management\n\u2502   \u2514\u2500\u2500 metrics_commands.py # Metrics analysis\n\u251c\u2500\u2500 core/            # Core functionality\n\u2502   \u251c\u2500\u2500 config.py          # Configuration\n\u2502   \u251c\u2500\u2500 session.py         # Session management\n\u2502   \u2514\u2500\u2500 agent.py           # Agent wrapper\n\u2514\u2500\u2500 cli.py           # Main CLI entry point\n```\n\n### Agent Roles\n\n- **Leader**: Coordinates team activities, makes strategic decisions\n- **Worker**: Executes assigned tasks efficiently\n- **Contributor**: Provides specialized knowledge and skills\n- **Specialist**: Expert in specific domains\n- **Coordinator**: Facilitates communication and workflow\n- **Observer**: Monitors performance and provides feedback\n\n### Tool Categories\n\n- **Search**: Web search across multiple engines\n- **Financial**: Stock analysis, market data, portfolio management\n- **Math**: Calculations, statistics, data analysis\n- **File System**: Local file operations, directory management, file search\n- **CSV Data**: CSV reading, writing, analysis, filtering, sorting, conversion\n- **Pandas Data**: Advanced data manipulation, analysis, cleaning, transformation, visualization\n- **DuckDB Database**: Lightweight database operations, SQL queries, data import/export\n- **SQL Database**: General SQL query execution, multi-database support\n- **PostgreSQL Database**: Specialized PostgreSQL integration, advanced features\n- **Shell Operations**: Safe system command execution, process management\n- **Docker Management**: Container lifecycle, image management, system monitoring\n- **Wikipedia Research**: Search, content retrieval, language support, text analysis\n- **arXiv Papers**: Academic paper search, author analysis, category filtering\n- **PubMed Research**: Medical paper search, author analysis, journal filtering\n- **Sleep & Timing**: Delay operations, performance monitoring, scheduling\n- **Hacker News**: Story retrieval, comments, user profiles, trending\n- **Data Visualization**: Chart generation, interactive plots, dashboards\n- **Computer Vision**: Image processing, object detection, feature extraction\n- **Model Management**: Model selection, comparison, performance tracking\n- **Advanced Thinking**: Reasoning frameworks, problem analysis, decision trees\n- **Function Calling**: Dynamic function execution, code generation, automation\n- **OpenAI Integration**: Direct API access for chat, embeddings, images, audio\n- **Communication**: Slack, Discord, email, GitHub integration\n- **Knowledge**: Wikipedia, arXiv, news APIs\n- **Media**: Image/video processing, visualization\n\n## \ud83d\udd27 Advanced Configuration\n\n### Custom Agent Templates\n```yaml\n# ~/.agno_cli/templates/researcher.yaml\nname: \"Research Specialist\"\nrole: \"specialist\"\ndescription: \"Expert researcher with access to knowledge APIs\"\ncapabilities:\n  tools: [\"search_tools\", \"knowledge_tools\", \"reasoning_tools\"]\n  skills: [\"research\", \"analysis\", \"synthesis\"]\n  modalities: [\"text\", \"image\"]\n  languages: [\"english\", \"spanish\"]\ninstructions:\n  - \"Conduct thorough research using multiple sources\"\n  - \"Provide citations and references\"\n  - \"Synthesize information from diverse perspectives\"\n```\n\n### Tool Configuration\n```yaml\n# ~/.agno_cli/config.yaml\ntools:\n  search:\n    default_engine: \"duckduckgo\"\n    engines:\n      google:\n        api_key: \"your-google-api-key\"\n        search_engine_id: \"your-cse-id\"\n      serpapi:\n        api_key: \"your-serpapi-key\"\n  financial:\n    default_period: \"1y\"\n    cache_duration: 300\n  math:\n    precision: 10\n    show_steps_default: false\n```\n\n### Team Definitions\n```json\n{\n  \"team_id\": \"research_team\",\n  \"name\": \"Research Team\",\n  \"description\": \"Collaborative research and analysis team\",\n  \"agents\": [\n    {\n      \"name\": \"Lead Researcher\",\n      \"role\": \"leader\",\n      \"capabilities\": [\"search\", \"knowledge\", \"coordination\"]\n    },\n    {\n      \"name\": \"Data Analyst\", \n      \"role\": \"specialist\",\n      \"capabilities\": [\"math\", \"financial\", \"visualization\"]\n    },\n    {\n      \"name\": \"Content Writer\",\n      \"role\": \"contributor\", \n      \"capabilities\": [\"writing\", \"synthesis\", \"communication\"]\n    }\n  ],\n  \"shared_context\": {\n    \"project\": \"Market Analysis Q4 2024\",\n    \"deadline\": \"2024-12-31\",\n    \"requirements\": [\"comprehensive\", \"data-driven\", \"actionable\"]\n  }\n}\n```\n\n## \ud83e\uddea Testing & Development\n\n### Automated Testing\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov=agno_cli\n\n# Run specific test categories\npytest -m unit\npytest -m integration\npytest -m \"not slow\"\n```\n\n### Manual Testing Commands\n```bash\n# Test file system operations\nagno files --list                                    # List directory contents\nagno files --list --hidden --recursive              # List with hidden files and recursive search\nagno files --read README.md                         # Read file contents (text format)\nagno files --read README.md --format json           # Read file contents (JSON format)\nagno files --read setup.py --format text            # Read Python file\nagno files --write test.txt --content \"Hello World\" # Write content to file\nagno files --info README.md                         # Get file information\nagno files --search \"*.py\"                          # Search for Python files\nagno files --mkdir test_directory                   # Create directory\nagno files --copy test.txt:test_directory/copy.txt  # Copy file\nagno files --move test.txt:renamed.txt              # Move file\nagno files --delete test.txt --no-confirm           # Delete file without confirmation\nagno files --delete test_directory --recursive --no-confirm # Delete directory recursively\nagno files --tree                                   # Display directory tree\nagno files --tree --hidden                          # Display tree with hidden files\n\n# Test CSV operations\nagno csv --read sample_data.csv                     # Read CSV file\nagno csv --info sample_data.csv                     # Get CSV information\nagno csv --analyze sample_data.csv                  # Analyze CSV data\nagno csv --read sample_data.csv --filter '{\"age\": {\"min\": 30}}' # Filter data\nagno csv --read sample_data.csv --sort \"age\" --ascending \"1\" # Sort data\nagno csv --convert \"sample_data.csv:output.json:json\" # Convert to JSON\nagno csv --write new_data.csv                       # Write new CSV file\n\n# Test pandas operations\nagno pandas --read sample_data.csv                  # Read data file\nagno pandas --analyze sample_data.csv               # Analyze data\nagno pandas --read sample_data.csv --show 5         # Show data preview\nagno pandas --read sample_data.csv --clean '{\"handle_missing\": \"drop\"}' # Clean data\nagno pandas --read sample_data.csv --transform '{\"columns\": {\"select\": [\"name\", \"age\"]}}' # Transform data\nagno pandas --read sample_data.csv --write output.csv # Write data\n\n# Test DuckDB operations\nagno duckdb --database test.db --file --import \"sample_data.csv:employees\" # Import CSV\nagno duckdb --database test.db --file --list # List tables\nagno duckdb --database test.db --file --query \"SELECT * FROM employees WHERE age > 30\" # SQL query\nagno duckdb --database test.db --file --show-table employees # Show table info\nagno duckdb --database test.db --file --export \"employees:export.csv\" # Export data\n\n# Test SQL operations\nagno sql --file test.db --script create_tables.sql # Execute SQL script\nagno sql --file test.db --list # List tables\nagno sql --file test.db --query \"SELECT * FROM employees WHERE age > 30\" # SQL query\nagno sql --file test.db --show-table employees # Show table info\nagno sql --file test.db --backup backup.db # Backup database\n\n# Test PostgreSQL operations\nagno postgres --host localhost --database testdb --username user --password pass --info # Database info\nagno postgres --host localhost --database testdb --username user --password pass --list # List tables\nagno postgres --host localhost --database testdb --username user --password pass --schemas # List schemas\nagno postgres --host localhost --database testdb --username user --password pass --show-table users # Show table info\nagno postgres --host localhost --database testdb --username user --password pass --indexes users # Show indexes\n\n# Test shell operations\nagno shell --info # System information\nagno shell --command \"ls -la\" # List directory\nagno shell --process $$ # Current process info\nagno shell --history # Command history\n\n# Test Docker operations\nagno docker --system\nagno docker --list\nagno docker --images\nagno docker --pull \"hello-world:latest\"\n\n# Test Wikipedia operations\nagno wikipedia --search \"Python programming\"\nagno wikipedia --summary \"Python (programming language)\"\nagno wikipedia --random\n\n# Test arXiv operations\nagno arxiv --search \"machine learning\"\nagno arxiv --paper \"2401.00123\"\nagno arxiv --categories\n\n# Test PubMed operations\nagno pubmed --search \"cancer treatment\"\nagno pubmed --paper \"37828275\"\nagno pubmed --databases\n\n# Test sleep operations\nagno sleep --time-info\nagno sleep --countdown 3 --no-progress\nagno sleep --performance --monitor-duration 5\n\n# Test Hacker News operations\nagno hackernews --top --limit 5\nagno hackernews --story 1\nagno hackernews --user \"pg\"\n\n# Test visualization operations\nagno visualization --list-types\nagno visualization --chart-type line --sample --sample-size 50\nagno visualization --dashboard --chart-types \"line,bar\" --sample-size 30\n\n# Test computer vision operations\nagno opencv --list-operations\nagno opencv --image test_image.jpg --info\nagno opencv --image test_image.jpg --operation resize --width 200 --height 150\nagno opencv --image test_image.jpg --extract basic\n\n# Test model management operations\nagno models --list\nagno models --show gpt-4o\nagno models --list-strategies\nagno models --stats\n\n# Test advanced thinking operations\nagno thinking --list-frameworks\nagno thinking --list-biases\nagno thinking --start \"Test Problem:This is a test problem\"\nagno thinking --analyze \"How to improve system performance\"\n\n# Test function calling operations\nagno function --list-builtin\nagno function --list\nagno function --create \"Test Function:Test description:test_file.py\"\n\n# Test OpenAI integration operations\nagno openai --list-models\nagno openai --moderate \"This is a test message\"\n\n# Test agent operations\nagno agents --list                                  # List all agents\nagno agents --create \"DataAnalyst\" --role specialist \\\n  --description \"Expert in data analysis\" \\\n  --capabilities '{\"tools\": [\"math_tools\"], \"skills\": [\"statistics\"]}'\n\n# Test chat functionality\nagno chat --quick \"Hello, how are you?\"             # Quick chat message\nagno chat --agent TeamLeader --trace                # Chat with specific agent and trace\n\n# Test configuration\nagno configure --show                               # Show current configuration\nagno configure --provider anthropic --api-key test-key # Set provider and API key\n\n# Test help and version\nagno --help                                         # Show all available commands\nagno files --help                                   # Show file system command help\nagno version                                        # Show version information\n```\n\n### Development Environment Setup\n```bash\n# Activate virtual environment\npyenv activate agnocli2@virtuelenv\n\n# Install in development mode\npip install -e .\n\n# Run CLI directly\npython -m agno_cli.cli --help\n\n# Test specific functionality\npython -c \"from agno_cli.tools.file_system_tools import FileSystemToolsManager; fs = FileSystemToolsManager(); fs.list_directory()\"\n```\n\n## \ud83d\udd27 Troubleshooting\n\n### Common Issues and Solutions\n\n#### File System Operations\n```bash\n# Issue: Read command not showing output\n# Solution: Use --format text or --format json explicitly\nagno files --read file.txt --format text\n\n# Issue: DateTime serialization errors\n# Solution: Fixed in latest version - datetime objects are properly handled\n\n# Issue: Permission denied errors\n# Solution: Check file permissions and ensure safe path operations\nagno files --info file.txt  # Check file permissions first\n```\n\n#### Agent Operations\n```bash\n# Issue: UnboundLocalError with multi_agent_system\n# Solution: Fixed in latest version - proper initialization handling\n\n# Issue: Agent state not loading correctly\n# Solution: Check agents_state_agents.json and agents_state_orchestrator.json files\nls -la agents_state*.json  # Verify state files exist\n```\n\n#### Chat Operations\n```bash\n# Issue: TypeError with RunResponse objects\n# Solution: Fixed in latest version - proper content extraction from RunResponse\n\n# Issue: Markdown rendering errors\n# Solution: Ensure content is string type before passing to Markdown()\n```\n\n### Debug Commands\n```bash\n# Check CLI installation\nwhich agno\nagno --version\n\n# Check Python environment\npython --version\npip list | grep agno\n\n# Test file system tools directly\npython -c \"\nfrom agno_cli.tools.file_system_tools import FileSystemToolsManager\nfs = FileSystemToolsManager()\nfs.list_directory()\n\"\n\n# Check configuration\nagno configure --show\n```\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Development Setup\n```bash\ngit clone https://github.com/paulgg-code/agno-cli.git\ncd agno-cli\npip install -e .[dev]\npre-commit install\n```\n\n### Development Workflow Example\n\n#### File System Tool Development Commands Used\n```bash\n# Initial testing and debugging\nagno files --list                                    # Test basic listing\nagno files --read README.md                          # Test file reading (initially failed)\nagno files --read README.md --format text            # Test with explicit format\nagno files --read README.md --format json            # Test JSON output\n\n# Debug commands used during development\npython -c \"from agno_cli.tools.file_system_tools import FileSystemToolsManager; fs = FileSystemToolsManager(); fs.list_directory()\"\npython -c \"from agno_cli.tools.file_system_tools import FileSystemTools; fs = FileSystemTools(); result = fs.read_file('README.md'); print(result.success)\"\n\n# Testing all file operations\nagno files --write test.txt --content \"Hello World\"  # Test file writing\nagno files --read test.txt                           # Test reading written file\nagno files --info test.txt                           # Test file info\nagno files --search \"*.txt\"                          # Test file search\nagno files --mkdir test_dir                          # Test directory creation\nagno files --copy test.txt:test_dir/copy.txt         # Test file copying\nagno files --move test.txt:renamed.txt               # Test file moving\nagno files --delete renamed.txt --no-confirm         # Test file deletion\nagno files --delete test_dir --recursive --no-confirm # Test directory deletion\nagno files --tree                                    # Test tree view\nagno files --tree --hidden                           # Test tree with hidden files\n\n# Help and documentation testing\nagno --help                                          # Test main help\nagno files --help                                    # Test file system help\n```\n```bash\n# 1. Set up development environment\npyenv activate agnocli2@virtuelenv\npip install -e .\n\n# 2. Test current functionality\nagno --help\nagno files --help\n\n# 3. Implement new feature (example: file system tools)\n# Edit agno_cli/tools/file_system_tools.py\n# Edit agno_cli/cli.py to add new commands\n\n# 4. Test the implementation\nagno files --list\nagno files --read README.md\nagno files --write test.txt --content \"test\"\n\n# 5. Debug issues (if any)\n# Add debug output, test, remove debug output\npython -c \"from agno_cli.tools.file_system_tools import FileSystemToolsManager; fs = FileSystemToolsManager(); fs.list_directory()\"\n\n# 6. Update documentation\n# Edit README.md with new commands and examples\n\n# 7. Test all functionality\nagno files --list --hidden --recursive\nagno files --read README.md --format json\nagno files --tree\n```\n\n### Code Style\n- Use [Black](https://black.readthedocs.io/) for code formatting\n- Follow [PEP 8](https://pep8.org/) style guidelines\n- Add type hints for all functions\n- Write comprehensive docstrings\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built on the [Agno AI](https://github.com/agno-agi/agno) framework\n- Inspired by multi-agent research and collaborative AI systems\n- Thanks to all contributors and the open-source community\n\n## \ud83d\udcde Support\n\n\n- **Issues**: [GitHub Issues](https://github.com/paulgg-code/agno-cli/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/paulgg-code/agno-cli/discussions)\n\n---\n\n**Agno CLI Enhanced** - Bringing the power of multi-agent AI to your terminal! \ud83d\ude80\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Enhanced Agno CLI - Multi-Agent Terminal Assistant with Advanced Reasoning and Tool Integration",
    "version": "2.4.7",
    "project_urls": {
        "Changelog": "https://github.com/paulgg-code/agno-cli/blob/main/CHANGELOG.md",
        "Homepage": "https://github.com/paulgg-code/agno-cli",
        "Issues": "https://github.com/paulgg-code/agno-cli/issues",
        "Repository": "https://github.com/paulgg-code/agno-cli"
    },
    "split_keywords": [
        "ai",
        " cli",
        " agents",
        " multi-agent",
        " reasoning",
        " terminal",
        " assistant"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9e33807288e9c13fcf240a8f1e11157b98ad9cac36a1febef5fef879ab7f51b0",
                "md5": "344d657a7af083ed7a9c6568d1a1b103",
                "sha256": "b5c7f136655cb667110622f651e5fb238b465b77f27969448bb4e8a967ecb532"
            },
            "downloads": -1,
            "filename": "agno_cli-2.4.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "344d657a7af083ed7a9c6568d1a1b103",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 235180,
            "upload_time": "2025-07-24T23:41:40",
            "upload_time_iso_8601": "2025-07-24T23:41:40.719218Z",
            "url": "https://files.pythonhosted.org/packages/9e/33/807288e9c13fcf240a8f1e11157b98ad9cac36a1febef5fef879ab7f51b0/agno_cli-2.4.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a2583d120c09297669c992a136c23160fa669686f7bf9b32b88b697f79ca9012",
                "md5": "b9b28153c658f2da0d89fb4234b0c50c",
                "sha256": "ae41bb97e5bf14eb6fac4ddbf8e787231b7aaf971aa270ec0a9433b279ae0cb7"
            },
            "downloads": -1,
            "filename": "agno_cli-2.4.7.tar.gz",
            "has_sig": false,
            "md5_digest": "b9b28153c658f2da0d89fb4234b0c50c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 244032,
            "upload_time": "2025-07-24T23:41:42",
            "upload_time_iso_8601": "2025-07-24T23:41:42.260014Z",
            "url": "https://files.pythonhosted.org/packages/a2/58/3d120c09297669c992a136c23160fa669686f7bf9b32b88b697f79ca9012/agno_cli-2.4.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-24 23:41:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "paulgg-code",
    "github_project": "agno-cli",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "agno",
            "specs": [
                [
                    ">=",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "typer",
            "specs": [
                [
                    ">=",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    ">=",
                    "13.0.0"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    ">=",
                    "6.0"
                ]
            ]
        },
        {
            "name": "anthropic",
            "specs": [
                [
                    ">=",
                    "0.25.0"
                ]
            ]
        },
        {
            "name": "openai",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "yfinance",
            "specs": [
                [
                    ">=",
                    "0.2.65"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.7.0"
                ]
            ]
        },
        {
            "name": "seaborn",
            "specs": [
                [
                    ">=",
                    "0.12.0"
                ]
            ]
        },
        {
            "name": "openpyxl",
            "specs": [
                [
                    ">=",
                    "3.1.0"
                ]
            ]
        },
        {
            "name": "pyarrow",
            "specs": [
                [
                    ">=",
                    "12.0.0"
                ]
            ]
        },
        {
            "name": "duckdb",
            "specs": [
                [
                    ">=",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "mysql-connector-python",
            "specs": [
                [
                    ">=",
                    "8.0.0"
                ]
            ]
        },
        {
            "name": "psycopg2-binary",
            "specs": [
                [
                    ">=",
                    "2.9.0"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    ">=",
                    "7.0.0"
                ]
            ]
        },
        {
            "name": "docker",
            "specs": [
                [
                    ">=",
                    "7.0.0"
                ]
            ]
        },
        {
            "name": "wikipedia",
            "specs": [
                [
                    ">=",
                    "1.4.0"
                ]
            ]
        },
        {
            "name": "arxiv",
            "specs": [
                [
                    ">=",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "biopython",
            "specs": [
                [
                    ">=",
                    "1.85"
                ]
            ]
        },
        {
            "name": "opencv-python",
            "specs": [
                [
                    ">=",
                    "4.8.0"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    ">=",
                    "10.0.0"
                ]
            ]
        },
        {
            "name": "plotly",
            "specs": [
                [
                    ">=",
                    "5.15.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    ">=",
                    "4.12.0"
                ]
            ]
        },
        {
            "name": "lxml",
            "specs": [
                [
                    ">=",
                    "4.9.0"
                ]
            ]
        },
        {
            "name": "aiohttp",
            "specs": [
                [
                    ">=",
                    "3.8.0"
                ]
            ]
        },
        {
            "name": "pyautogui",
            "specs": [
                [
                    ">=",
                    "0.9.54"
                ]
            ]
        },
        {
            "name": "selenium",
            "specs": [
                [
                    ">=",
                    "4.15.0"
                ]
            ]
        }
    ],
    "lcname": "agno-cli"
}
        
Elapsed time: 0.47922s