π An AI-powered development planning tool that transforms your ideas into detailed, executable development plans
Now with a fully functional web interface! π
DevPlan Orchestrator is a Python-based LLM orchestration tool that automatically generates and maintains comprehensive development plans by coordinating multiple AI providers. Perfect for developers, project managers, and teams who want to accelerate their planning process with AI.
DevPlan Orchestrator accepts user inputs (project requirements, languages, frameworks) and generates detailed, executable development plans. It supports multiple LLM providers (OpenAI, Requesty, generic OpenAI-compatible APIs) and integrates with Git for automatic documentation and version control.
- οΏ½ Web Interface (NEW! π§ In Progress): Browser-based UI for non-technical users - no command line needed!
- οΏ½π Multi-LLM Configuration: Use different models/providers for each pipeline stage - optimize costs and performance
- π Provider-Agnostic: Support for OpenAI, Generic OpenAI-compatible APIs, and custom providers
- β‘ Async Performance: Efficient concurrent API calls with configurable rate limiting
- π Multi-Phase Pipeline: project design β basic plan β detailed plan β handoff prompt
- πΎ State Persistence: Resumable workflows with checkpoint system - never lose progress
- π― Git Integration: Automatic commits and version control for all generated artifacts
- π Documentation Generation: Beautiful, structured documentation with Jinja2 templates
- π§ͺ Battle-Tested: 414 passing tests with 73% code coverage
- π‘οΈ Robust: Exponential backoff retry logic and comprehensive error handling
- π¨ Flexible: Customizable templates and configuration for your workflow
- π¨ Interactive Mode: Guided questionnaire for easy project setup
- π Secure Configuration: Encrypted API key storage with web-based management
pip install devussy-
Clone the repository
git clone https://github.com/mojomast/devussy-fresh.git cd devussy-fresh -
Install in development mode
pip install -e .Or with development dependencies:
pip install -e ".[dev]" -
Configure environment variables Copy
.env.exampleto.envand fill in your API keys:cp .env.example .env
Required environment variables:
OPENAI_API_KEY- Your OpenAI API key (for OpenAI provider)GENERIC_API_KEY- API key for generic OpenAI-compatible providersGENERIC_API_BASE_URL- Base URL for generic providerREQUESTY_API_KEY- API key for Requesty provider (optional)
NEW: Per-Stage API Keys (optional):
DESIGN_API_KEY- API key specifically for design stageDEVPLAN_API_KEY- API key specifically for devplan stageHANDOFF_API_KEY- API key specifically for handoff stage
See Multi-LLM Configuration Guide for details on using different models per stage.
After installation, verify that the CLI is working:
devussy versionYou should see version 0.3.2 and the tool information.
The fully functional browser-based interface! Perfect for both technical and non-technical users.
Start the servers:
# Terminal 1: Start the backend API
python -m src.web.app
# Terminal 2: Start the frontend dev server
cd frontend
npm install # First time only
npm run devVisit: http://localhost:3000
Features:
- β¨ Project Management: Create, monitor, and manage devplan projects
- π Analytics Dashboard: View project statistics and success metrics
- π Search & Filter: Find projects quickly with real-time search and filters
- π Template System: Save successful configurations for reuse
- Create templates from completed projects
- Search templates by name/description or filter by tags
- Export/import templates as JSON files
- π¨ Dark Mode: Toggle between light and dark themes
- π Markdown Viewer: Beautiful rendering of documentation with syntax highlighting
- π₯ File Operations: Download individual files or entire project as ZIP
- β‘ Live Progress: Real-time WebSocket streaming during generation
- π Configuration Management: Secure API key storage and testing
- π Pagination: Browse through large project lists easily (12 per page)
Note: Web interface is now fully functional and production-ready (Phases 11-16 complete)!
- Backend: 100% complete with comprehensive testing
- Frontend: 100% complete with 42 component tests
- All features working including real-time updates, templates, dark mode, and more!
The easiest way to get started is with the interactive questionnaire:
devussy interactive-designYou'll be guided through a series of questions to define your project, and the tool will generate a complete design for you.
Initialize a new project:
devussy init-repo ./my-projectGenerate a complete development plan:
devussy run-full-pipeline \
--name "My Web App" \
--languages "Python,TypeScript" \
--requirements "Build a REST API with authentication" \
--frameworks "FastAPI,React"Initialize a new project repository with DevPlan Orchestrator structure.
devussy init-repo [PATH] [OPTIONS]Arguments:
PATH- Path to initialize (defaults to current directory)
Options:
--remote, -r- Git remote URL to add--force, -f- Force initialization even if directory not empty
Example:
devussy init-repo ./my-project --remote https://github.com/mojomast/devussy.gitGenerate a project design from user inputs.
devussy generate-design [OPTIONS]Required Options:
--name, -n- Project name--languages, -l- Comma-separated programming languages--requirements, -r- Project requirements
Optional Options:
--frameworks, -f- Comma-separated frameworks--apis, -a- Comma-separated external APIs--config, -c- Path to config file--provider, -p- LLM provider override (openai, generic, requesty)--model, -m- Model override--output-dir, -o- Output directory--output-path- Specific output file path--streaming- Enable token streaming--verbose, -v- Enable verbose logging--debug- Enable debug mode with full tracebacks
Example:
devussy generate-design \
--name "E-commerce API" \
--languages "Python,JavaScript" \
--requirements "Build a scalable e-commerce backend" \
--frameworks "FastAPI,PostgreSQL" \
--apis "Stripe,SendGrid" \
--verboseGenerate a project design through an interactive guided questionnaire. Perfect for users who prefer a conversational experience over command-line flags.
devussy interactive-design [OPTIONS]Features:
- π― Guided questionnaire with helpful prompts
- π‘ Smart conditional questions based on your answers
- π Examples and help text for each question
- πΎ Save and resume sessions
- π¨ Beautiful CLI interface with progress indicators
Options:
--config, -c- Path to config file--provider, -p- LLM provider override--model, -m- Model override--output-dir, -o- Output directory--save-session- Save session to file (path)--resume-session- Resume from saved session (path)--streaming- Enable token streaming--verbose, -v- Enable verbose logging--debug- Enable debug mode
Example - Basic Interactive Session:
devussy interactive-design
# Follow the prompts to answer questions about your projectExample - Save Session:
devussy interactive-design --save-session my-project-session.jsonExample - Resume Previous Session:
devussy interactive-design --resume-session my-project-session.jsonQuestions Asked: The interactive questionnaire covers:
- Project name and type (Web App, API, CLI, etc.)
- Programming languages
- Frameworks (frontend/backend)
- Database requirements
- Authentication needs
- External API integrations
- Deployment platform
- Testing and CI/CD requirements
- Documentation level
Questions adapt based on your answers - for example, frontend framework questions only appear if you're building a web application.
Generate a development plan from an existing project design.
devussy generate-devplan DESIGN_FILE [OPTIONS]Arguments:
DESIGN_FILE- Path to project design JSON file
Options:
--config, -c- Path to config file--provider, -p- LLM provider override--model, -m- Model override--output-dir, -o- Output directory--output-path- Specific output file path--max-concurrent- Maximum concurrent API requests--streaming- Enable token streaming--verbose, -v- Enable verbose logging--debug- Enable debug mode with full tracebacks
Example:
devussy generate-devplan docs/design.json --max-concurrent 10 --verboseGenerate a handoff prompt from a development plan.
devussy generate-handoff DEVPLAN_FILE [OPTIONS]Arguments:
DEVPLAN_FILE- Path to devplan JSON file
Required Options:
--name, -n- Project name
Options:
--config, -c- Path to config file--output-dir, -o- Output directory--output-path- Specific output file path--verbose, -v- Enable verbose logging--debug- Enable debug mode with full tracebacks
Example:
devussy generate-handoff docs/devplan.json --name "My Project"Run the complete pipeline from inputs to handoff prompt.
devussy run-full-pipeline [OPTIONS]Required Options:
--name, -n- Project name--languages, -l- Comma-separated programming languages--requirements, -r- Project requirements
Optional Options:
--frameworks, -f- Comma-separated frameworks--apis, -a- Comma-separated external APIs--config, -c- Path to config file--provider, -p- LLM provider override--model, -m- Model override--output-dir, -o- Output directory--max-concurrent- Maximum concurrent API requests--streaming- Enable token streaming--verbose, -v- Enable verbose logging--debug- Enable debug mode with full tracebacks
Example:
devussy run-full-pipeline \
--name "ML Pipeline" \
--languages "Python" \
--requirements "Build a machine learning training pipeline" \
--frameworks "PyTorch,FastAPI,Docker" \
--provider openai \
--model gpt-4 \
--max-concurrent 5 \
--verboseDisplay version information.
devussy version# Step 1: Initialize repository
devussy init-repo ./my-app
# Step 2: Navigate to directory
cd my-app
# Step 3: Set up environment variables
cp .env.example .env
# Edit .env and add your API keys
# Step 4: Generate complete plan
devussy run-full-pipeline \
--name "My App" \
--languages "Python,JavaScript" \
--requirements "Build a web application with user auth" \
--frameworks "FastAPI,React"
# Step 5: Review generated files
ls docs/
# Output: project_design.md devplan.md handoff_prompt.md# Step 1: Generate project design
devussy generate-design \
--name "Data Pipeline" \
--languages "Python" \
--requirements "ETL pipeline for processing data" \
--output-path ./design.json
# Step 2: Review and modify design.json if needed
cat design.json
# Step 3: Generate devplan from design
devussy generate-devplan design.json --output-path ./devplan.json
# Step 4: Generate handoff prompt
devussy generate-handoff devplan.json --name "Data Pipeline"# Using OpenAI (default)
devussy run-full-pipeline \
--name "Project" \
--languages "Python" \
--requirements "Build an API" \
--provider openai \
--model gpt-4
# Using a custom OpenAI-compatible API
export GENERIC_BASE_URL="https://api.example.com/v1"
export GENERIC_API_KEY="your-key"
devussy run-full-pipeline \
--name "Project" \
--languages "Python" \
--requirements "Build an API" \
--provider genericConfiguration is managed through config/config.yaml. Key settings include:
llm_provider: Choose from "openai", "generic", or "requesty"model: Model identifier (e.g., "gpt-4")temperature: Sampling temperature (0.0-2.0)max_tokens: Maximum tokens to generateapi_key: API key (can also be set via environment variables)
Override global settings for specific pipeline stages:
design_model: Model for project design generationdevplan_model: Model for devplan generationhandoff_model: Model for handoff prompt generation
Example - Cost Optimization:
# Use GPT-4 for complex design, GPT-3.5-turbo for structured devplan
model: gpt-4
devplan_model: gpt-3.5-turboExample - Different API Keys:
export DESIGN_API_KEY="sk-design-account-..."
export DEVPLAN_API_KEY="sk-devplan-account-..."max_concurrent_requests: Limit concurrent API callsretry: Retry settings for failed requestsstreaming_enabled: Enable/disable token streaming
See config/config.yaml for all available options, or read the Multi-LLM Configuration Guide for detailed usage.
- Web Interface Guide - Browser-based UI for non-technical users (NEW! π)
- Multi-LLM Configuration Guide - Use different models per pipeline stage
- Multi-LLM Quick Start - Quick reference for multi-LLM setup
- Architecture Overview - System design and module descriptions
- Provider Guide - How to add new LLM providers
- Testing Guide - Testing strategy and coverage
- API Documentation - Auto-generated API docs
devussy/
βββ src/ # Source code
β βββ clients/ # LLM client implementations
β β βββ factory.py # Client factory for provider selection
β β βββ openai_client.py # OpenAI API client
β β βββ generic_client.py # Generic OpenAI-compatible client
β β βββ requesty_client.py # Requesty API client
β βββ pipeline/ # Pipeline stages
β β βββ project_design.py # Project design generation
β β βββ basic_devplan.py # Basic devplan generation
β β βββ detailed_devplan.py # Detailed devplan generation
β β βββ handoff_prompt.py # Handoff prompt generation
β β βββ compose.py # Pipeline orchestration
β βββ cli.py # Command-line interface
β βββ config.py # Configuration management
β βββ llm_client.py # Abstract LLM client interface
β βββ concurrency.py # Concurrency control
β βββ retry.py # Retry logic with exponential backoff
β βββ templates.py # Template loading and rendering
β βββ citations.py # Citation embedding
β βββ git_manager.py # Git operations
β βββ file_manager.py # File operations
β βββ doc_logger.py # Documentation logging
β βββ doc_index.py # Documentation indexing
β βββ models.py # Data models
β βββ logger.py # Logging configuration
β βββ run_scheduler.py # Task scheduling
β βββ state_manager.py # State persistence
βββ tests/ # Tests (117+ comprehensive tests)
β βββ unit/ # Unit tests
β βββ test_config.py # Configuration tests (34 tests)
β βββ test_llm_clients.py # LLM client tests (29 tests)
β βββ test_concurrency.py # Concurrency tests (13 tests)
β βββ test_retry.py # Retry logic tests (18 tests)
β βββ test_templates.py # Template tests (23 tests)
β βββ test_documentation.py # Documentation tests
β βββ test_git_manager.py # Git integration tests (17 tests)
βββ templates/ # Jinja2 prompt templates
β βββ docs/ # Documentation templates
β βββ project_design.jinja # Project design prompt
β βββ basic_devplan.jinja # Basic devplan prompt
β βββ detailed_devplan.jinja # Detailed devplan prompt
β βββ handoff_prompt.jinja # Handoff prompt template
βββ config/ # Configuration files
β βββ config.yaml # Main configuration
βββ docs/ # Generated documentation
β βββ update_log.md # Documentation update log
βββ scripts/ # Build and utility scripts
β βββ build_docs.py # API documentation generator
βββ examples/ # Example projects (future)
pytest tests/# Format code
black src/
# Check style
flake8 src/
# Sort imports
isort src/pytest --cov=src --cov-report=html tests/See CONTRIBUTING.md for guidelines on:
- Setting up development environment
- Running tests and linting
- Submitting pull requests
- Code style expectations
This project is licensed under the MIT License - see the LICENSE file for details.
- Phase 1: Project Initialization
- Phase 2: Core Abstractions
- Phase 3: Prompt Generation Pipeline
- Phase 4: Command-Line Interface
- Phase 5: Git Integration
- Phase 6: Documentation Generation
- Phase 7: Testing (456 comprehensive tests: 414 backend + 42 frontend, 73% coverage) β
- Phase 8: CI/CD (GitHub Actions workflows, coverage reporting, automated releases)
- Phase 9: Multi-LLM Support (Different models per stage with stage-specific configuration) β
- Phase 10: Packaging and Distribution (v0.3.2 ready for PyPI - Oct 21, 2025) β
- Phase 11: Web Interface - Configuration System (Settings UI with encrypted API keys) β
- Phase 12: Web Interface - Core Features (Project CRUD, WebSocket streaming, file viewing) β
- Phase 13: Web Interface - Polish & Testing (Toast notifications, error boundary, skeleton loaders, 42 tests) β
- Phase 14: Web Interface - Enhanced UI (Dark mode, markdown rendering, file operations) β
- Phase 15: Advanced UI Features (Search/filter, templates system, analytics dashboard) β
- Phase 16: Template & Project Management (Create from projects, import/export, pagination) β
- Phase 17: Production Deployment (PyPI publish, demo instance, documentation site)
- Phase 18: Advanced Analytics (Charts, cost tracking, performance metrics)
- Phase 19: E2E Testing (Playwright tests for full workflow validation)
- Phase 20: Performance Optimization (Caching, lazy loading, WebSocket improvements)
For questions, issues, or feature requests, please open an issue on the GitHub repository.