Skip to content

[Feature]: Enhanced AI Agent Development Experience with uv, Extended CLI Commands, and Multi-IDE SupportΒ #34

@Ash-the-practical-programmer

Description

✨ Feature Request

Building on the excellent CLI directory/project setup work (#27), this feature request proposes a comprehensive enhancement to the better-agents CLI to provide a professional-grade, production-ready developer experience for Python AI agent development.

πŸ“‹ Feature Summary

The better-agents CLI should evolve from a simple project initializer to a complete agent development lifecycle management tool with:

  1. Python package management using uv for blazing-fast dependency resolution
  2. Extended CLI commands beyond init (e.g., resume, config, dev, build, deploy)
  3. Multi-IDE support with automatic configuration (VS Code, Windsurf, Antigravity, JetBrains IDEs)
  4. Integration with popular LLM CLIs (Crush, Qwen Code, Gemini CLI, OpenRouter, etc.)
  5. Rich, comprehensive documentation with real-world use cases and best practices
  6. Project scaffolding with preset templates for common agent architectures

🎯 Problem / Use Cases

Current Limitations:

  • Manual dependency management: Users must manually install Python dependencies after project creation
  • Limited CLI scope: Only init command exists; no way to resume existing projects, manage environments, or develop iteratively
  • IDE friction: Users must manually configure IDEs; no automatic setup for common editors
  • No LLM provider integration: Each project requires separate CLI setup for providers like Ollama, Qwen Code, or Gemini
  • Sparse documentation: Limited examples of building production agents with best practices
  • Inconsistent DX: Compared to ecosystem tools like create-react-app, uv new, cargo new, the experience feels incomplete

Real-World Scenarios:

  • A developer wants to create a new agent project, initialize it with dependencies, and immediately start developing with their preferred IDE
  • A developer returns to an existing project and wants to resume development with one command that sets up the environment
  • Teams want standardized agent architectures with templates for different use cases (RAG agents, code review agents, etc.)
  • Developers need flexibility to switch between multiple LLM providers without reconfiguring each time

πŸ’‘ Proposed Solutions

Phase 1: Core CLI Enhancement

# Initialize new project (improved, builds on #27)
better-agents init --dir ./my-agent --name "my-agent" --template "basic"
# Prompts: target directory, project name, template selection, Python version, uv sync

# Resume existing project
better-agents resume ./my-agent
# Auto-detects project, installs deps via uv sync, suggests IDE launch options

# Configure project
better-agents config set provider ollama
better-agents config set ide windsurf
better-agents config set python-version 3.11

# Development server
better-agents dev --port 8000 --reload --provider ollama
# Starts agent with hot-reload, logs, monitoring

# Build for production
better-agents build --optimize --minify
# Generates optimized bundle, type-checks, lints

# Deploy scaffolding
better-agents deploy --target cloud-run
# Interactive setup for cloud deployment

Phase 2: Python Package Management with uv

  • Use uv instead of pip/poetry for:
    • Ultra-fast dependency resolution: 10-100x faster than pip
    • Deterministic builds: uv sync --frozen for reproducible environments
    • Simplified configuration: pyproject.toml + uv.lock
    • Built-in script running: uv run for project scripts

Implementation:

# better_agents/templates/pyproject.toml
[project]
name = "my-agent"
version = "0.1.0"
dependencies = [
    "python-dotenv>=1.0",
    "pydantic>=2.0",
    "litellm>=0.1.0",  # or other LLM framework
]

[tool.uv]
python-version = "3.11"

[tool.uv.scripts]
dev = "python -m agents.dev"
start = "python -m agents.main"

Phase 3: Multi-IDE Support

Auto-detect and configure popular IDEs:

better-agents init --ide windsurf  # Opens in Windsurf after setup
# or interactive selection during init
# Options: VS Code, Windsurf, Antigravity, JetBrains (PyCharm), Zed

Auto-configuration includes:

  • Python interpreter path from uv
  • Debugger setup (.vscode/launch.json, etc.)
  • Recommended extensions for AI development
  • Linting/formatting config (ruff, black via uv)

Phase 4: LLM Provider CLI Integration

Pre-configure support for multiple LLM CLIs:

# Interactive selection or flags
better-agents init --provider ollama
# or
better-agents init --provider "qwen-code"
better-agents init --provider "gemini-cli"
better-agents init --provider "crush"
better-agents init --provider "openrouter"

# Generates .env.example with provider-specific vars
# Provides quick-start docs for each provider

Supported Providers (extensible):

  • Ollama (local, open-source models)
  • Qwen Code (Alibaba's code models)
  • Gemini CLI (Google's API)
  • Crush (Model fine-tuning)
  • OpenRouter (multi-model routing)
  • Cerebras (fast inference)
  • Together AI
  • Custom endpoints

Phase 5: Project Templates & Scaffolding

better-agents init --template "rag"      # RAG pipeline with vector DB
better-agents init --template "coder"    # Code generation/review agent
better-agents init --template "chat"     # Multi-turn conversation
better-agents init --template "vision"   # Image/multimodal processing
better-agents init --template "full-stack"  # Frontend + backend

Each template includes:

  • Pre-configured dependencies
  • Example agent implementation
  • Test suite structure
  • Documentation on extending

Phase 6: Rich Documentation & Use Cases

Add comprehensive guides covering:

  1. Getting Started - Quick setup, first agent, 5-minute tutorial
  2. Agent Architectures - Patterns for different use cases:
    • RAG agents with vector DBs (Pinecone, Weaviate)
    • Code review agents
    • Research/summarization agents
    • Multi-agent orchestration
    • Tool-using agents (Function calling)
  3. LLM Provider Integration - Step-by-step for each provider
  4. Advanced Topics:
    • Production deployment (Docker, cloud platforms)
    • Monitoring & observability
    • Fine-tuning workflows
    • Cost optimization
    • Prompt engineering best practices
  5. API Reference - Comprehensive CLI command docs
  6. Examples Repository - Real working examples in /examples

πŸ”§ Implementation Roadmap

MVP (v0.2.0):
  βœ… Integrate uv for dependency management
  βœ… Add `resume` command
  βœ… Basic IDE auto-detection (VS Code, Windsurf)
  βœ… LLM provider selection during init
  
v0.3.0:
  βœ… `dev` and `build` commands
  βœ… Project templates
  βœ… Enhanced documentation structure
  βœ… Full IDE support (PyCharm, Zed, etc.)
  
v0.4.0+:
  βœ… `deploy` scaffolding
  βœ… Advanced templates & examples
  βœ… Cloud provider integrations
  βœ… VS Code Extension

🎨 Alternative Solutions

  1. Keep CLI minimal, delegate to make/scripts - Less cohesive UX
  2. Use Poetry instead of uv - Good but slower; uv is next-gen
  3. Create separate plugin system - More complex, slower adoption
  4. Focus only on directory/init ([Feature]: CLI should prompt for target directory and project name when creating a better agentΒ #27) - Valid but misses broader DX improvements

πŸ“Š Priority & Complexity

πŸ”— Related Issues & References

βœ… Additional Context

This comprehensive enhancement transforms better-agents from a project scaffolder into a complete AI agent development platform. It addresses the full developer workflow: setup β†’ develop β†’ test β†’ build β†’ deploy. By integrating modern Python tooling (uv), multi-IDE support, and LLM provider flexibility, we create a cohesive, professional DX that:

  • Reduces friction for new developers
  • Supports production use cases
  • Competes with tools like create-react-app and cargo
  • Encourages contributions through clear CLI patterns
  • Establishes better-agents as the go-to Python agent framework

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions