-
Notifications
You must be signed in to change notification settings - Fork 152
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:
- Python package management using
uvfor blazing-fast dependency resolution - Extended CLI commands beyond
init(e.g.,resume,config,dev,build,deploy) - Multi-IDE support with automatic configuration (VS Code, Windsurf, Antigravity, JetBrains IDEs)
- Integration with popular LLM CLIs (Crush, Qwen Code, Gemini CLI, OpenRouter, etc.)
- Rich, comprehensive documentation with real-world use cases and best practices
- 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
initcommand 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 deploymentPhase 2: Python Package Management with uv
- Use
uvinstead of pip/poetry for:- Ultra-fast dependency resolution: 10-100x faster than pip
- Deterministic builds:
uv sync --frozenfor reproducible environments - Simplified configuration:
pyproject.toml+uv.lock - Built-in script running:
uv runfor 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), ZedAuto-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 providerSupported 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 + backendEach template includes:
- Pre-configured dependencies
- Example agent implementation
- Test suite structure
- Documentation on extending
Phase 6: Rich Documentation & Use Cases
Add comprehensive guides covering:
- Getting Started - Quick setup, first agent, 5-minute tutorial
- 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)
- LLM Provider Integration - Step-by-step for each provider
- Advanced Topics:
- Production deployment (Docker, cloud platforms)
- Monitoring & observability
- Fine-tuning workflows
- Cost optimization
- Prompt engineering best practices
- API Reference - Comprehensive CLI command docs
- 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
- Keep CLI minimal, delegate to make/scripts - Less cohesive UX
- Use Poetry instead of uv - Good but slower; uv is next-gen
- Create separate plugin system - More complex, slower adoption
- 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
- Priority: Important for my use case (Builds on [Feature]: CLI should prompt for target directory and project name when creating a better agentΒ #27, significantly improves DX)
- Estimated Complexity: Medium-Complex (New commands, integrations, docs)
- Impact: High (Positions better-agents as production-ready, attracts contributors)
π Related Issues & References
- Builds on: [Feature]: CLI should prompt for target directory and project name when creating a better agentΒ #27 (CLI directory/project selection)
- Inspired by:
create-react-app,uv new,cargo new,deno init - Ecosystem: uv docs, Crush, Qwen Code
β 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-appandcargo - Encourages contributions through clear CLI patterns
- Establishes better-agents as the go-to Python agent framework