A sophisticated meta-orchestration system that enables users to create complex AI workflows through natural language descriptions called "vibes". The system uses a Kiro-based "Dirigent" agent to analyze user goals and dynamically generate YAML configurations for specialized CrewAI agent teams.
- Python 3.11 or higher
- OpenAI API key
- Serper API key (optional, for web search functionality)
- Clone and setup the project:
git clone <repository-url>
cd dirigent-ai
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt- Configure environment variables:
cp .env.template .env
# Edit .env file with your API keys:
# OPENAI_API_KEY=your_openai_api_key_here
# SERPER_API_KEY=your_serper_api_key_here (optional)- Run system diagnostics:
python -m dirigent_ai.main --diagnosticsRun with a vibe file:
python -m dirigent_ai.main --vibe-file vibes/gamebook_creation.txt --executeRun with direct text input:
python -m dirigent_ai.main --vibe-text "Create a comprehensive market research report on electric vehicles" --executeValidation mode (no crew execution):
python -m dirigent_ai.main --vibe-file vibes/real_estate_search.txtDirigent AI implements a meta-orchestration pattern with two main components:
- Purpose: Intelligent configuration generator
- Input: Natural language "vibes" (user goals)
- Output: Valid YAML configurations for CrewAI teams
- Location: Kiro steering document (
.kiro/steering/dirigent-agent.md)
- Purpose: Universal execution engine
- Input: YAML configurations from Dirigent Agent
- Output: Executed AI workflows and results
- Location:
dirigent_ai/skeleton_runner.py
User Vibe β Skeleton Runner β Dirigent Agent β YAML Config β CrewAI Execution β Results
dirigent-ai/
βββ dirigent_ai/ # Main package
β βββ __init__.py
β βββ main.py # Entry point
β βββ config.py # Configuration management
β βββ skeleton_runner.py # Core orchestration logic
β βββ kiro_interface.py # Kiro agent communication
β βββ crew_manager.py # CrewAI management
β βββ tool_registry.py # Available tools registry
β βββ vibe_loader.py # Input handling
β βββ yaml_config.py # YAML processing
β βββ setup.py # Installation script
β βββ requirements.txt # Dependencies
β βββ README.md # Package documentation
βββ vibes/ # Example vibe files
β βββ gamebook_creation.txt
β βββ real_estate_search.txt
β βββ test_simple.txt
βββ output/ # Generated results
βββ logs/ # Application logs
βββ .kiro/ # Kiro configuration
β βββ specs/dirigent-ai/ # Project specifications
β βββ steering/dirigent-agent.md # Dirigent agent configuration
βββ .env.template # Environment template
βββ requirements.txt # Project dependencies
βββ README.md # This file
The system includes the following CrewAI tools that can be assigned to agents:
| Tool Name | Purpose | Use Cases |
|---|---|---|
web_search |
SerperDevTool for web searching | Market research, fact-checking, current events |
website_scraper |
WebsiteSearchTool for content extraction | Specific site analysis, data collection |
file_reader |
FileReadTool for reading files | Document analysis, data processing |
doc_writer |
FileWriteTool for writing documents | Report generation, content creation |
python -m dirigent_ai.main [OPTIONS]
Options:
--vibe-file, -f PATH Path to text file containing vibe description
--vibe-text, -t TEXT Vibe description as direct text argument
--output, -o PATH Output file path for results (optional)
--execute Execute the generated crew (default: validation only)
--verbose, -v Enable verbose logging and save YAML config
--diagnostics Display comprehensive system diagnostics
--help, -h Show help messageCreate an interactive fantasy gamebook with multiple storylines, character development, and meaningful choices that affect the narrative outcome. Include at least 3 different character classes and branching paths based on player decisions.
Conduct comprehensive market research on the electric vehicle industry, including current market leaders, emerging technologies, consumer trends, and future projections for the next 5 years.
Find and analyze the top 10 residential properties in Austin, Texas under $500,000, including neighborhood analysis, price trends, and investment potential.
Required:
OPENAI_API_KEY: Your OpenAI API key for LLM functionality
Optional:
SERPER_API_KEY: Your Serper API key for web search capabilitiesDIRIGENT_LOG_LEVEL: Logging level (DEBUG, INFO, WARNING, ERROR)DIRIGENT_TIMEOUT: Timeout for Kiro agent calls (default: 300 seconds)DIRIGENT_MAX_RETRIES: Maximum retry attempts (default: 3)
.env: Environment variables (create from.env.template)dirigent_ai/config.py: System configuration and defaults.kiro/steering/dirigent-agent.md: Dirigent agent behavior configuration
python -m dirigent_ai.main --diagnosticsRun without --execute flag to validate YAML generation without crew execution:
python -m dirigent_ai.main --vibe-file vibes/test_simple.txt --verbosepython test_dirigent_ai_integration.py
python test_integration_workflows.py1. "Kiro agent communication error"
- Verify Kiro agent is accessible and running
- Check network connectivity
- Review
.kiro/steering/dirigent-agent.mdconfiguration
2. "Invalid YAML configuration"
- Check Dirigent agent output format
- Verify tool names match registry
- Ensure agent names are properly referenced in tasks
3. "Missing API keys"
- Verify
.envfile exists and contains required keys - Check environment variable names match exactly
- Ensure API keys are valid and have sufficient credits
4. "Tool not found in registry"
- Check available tools with
--diagnosticsflag - Verify tool names in YAML match registry exactly
- Review
dirigent_ai/tool_registry.pyfor available tools
Enable verbose logging for detailed troubleshooting:
python -m dirigent_ai.main --vibe-file your_vibe.txt --verbose --diagnostics- Application logs:
logs/dirigent.log - System logs:
docs-meta/system.log - Error logs:
docs-meta/error_log.txt
- Requirements:
.kiro/specs/dirigent-ai/requirements.md - Design:
.kiro/specs/dirigent-ai/design.md - Implementation Tasks:
.kiro/specs/dirigent-ai/tasks.md - System Architecture:
docs-meta/05_system_description.md
- Current Status:
docs-meta/02_functional_components.md - Known Issues:
docs-meta/01_current_problems.md - Setup Guide:
docs-meta/03_run_manual.md - Code Overview:
docs-meta/04_code_orientation.md
This project follows the Dirigent AI specification. See the design and requirements documents in .kiro/specs/dirigent-ai/ for detailed implementation guidelines.
- β Core infrastructure and tool registry
- β Vibe input loading and CLI interface
- β Kiro Dirigent Agent integration
- β YAML configuration generation and validation
- β Dynamic CrewAI object creation
- β Complete workflow orchestration
- β Demonstration scenarios (gamebook, real estate)
- π Integration testing and validation
- π Comprehensive documentation
[Add your license information here]
For issues and questions:
- Check the troubleshooting section above
- Review the documentation in
docs-meta/ - Check existing issues in the project repository
- Create a new issue with detailed error information and logs