{"id":30195173,"url":"https://github.com/gkosmo/rcrewai","last_synced_at":"2025-08-18T09:03:19.631Z","repository":{"id":309563188,"uuid":"1036664349","full_name":"gkosmo/rcrewAI","owner":"gkosmo","description":"Agent orchestration","archived":false,"fork":false,"pushed_at":"2025-08-12T14:30:24.000Z","size":219,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-12T16:27:20.651Z","etag":null,"topics":["ai-agents","orchestrator","ruby"],"latest_commit_sha":null,"homepage":"https://gkosmo.github.io/rcrewAI","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gkosmo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-12T12:06:40.000Z","updated_at":"2025-08-12T14:30:30.000Z","dependencies_parsed_at":"2025-08-12T16:28:04.875Z","dependency_job_id":"c26a5e26-0684-46ef-b190-f9b47cf06098","html_url":"https://github.com/gkosmo/rcrewAI","commit_stats":null,"previous_names":["gkosmo/rcrewai"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/gkosmo/rcrewAI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkosmo%2FrcrewAI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkosmo%2FrcrewAI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkosmo%2FrcrewAI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkosmo%2FrcrewAI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gkosmo","download_url":"https://codeload.github.com/gkosmo/rcrewAI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkosmo%2FrcrewAI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270178059,"owners_count":24540340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","orchestrator","ruby"],"created_at":"2025-08-13T04:01:40.643Z","updated_at":"2025-08-14T05:17:34.749Z","avatar_url":"https://github.com/gkosmo.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RCrewAI\n\n![Ruby](https://img.shields.io/badge/ruby-%23CC342D.svg?style=for-the-badge\u0026logo=ruby\u0026logoColor=white)\n![AI](https://img.shields.io/badge/AI-Agents-blue?style=for-the-badge)\n![Production Ready](https://img.shields.io/badge/Production-Ready-green?style=for-the-badge)\n\nBuild powerful AI agent crews in Ruby that work together to accomplish complex tasks.\n\nRCrewAI is a Ruby implementation of the CrewAI framework, allowing you to create autonomous AI agents that collaborate to solve problems and complete tasks with human oversight and enterprise-grade features.\n\n## 🚀 Features\n\n- **🤖 Intelligent Agents**: AI agents with reasoning loops, memory, and tool usage capabilities\n- **🔗 Multi-LLM Support**: OpenAI, Anthropic (Claude), Google (Gemini), Azure OpenAI, and Ollama\n- **🛠️ Rich Tool Ecosystem**: Web search, file operations, SQL, email, code execution, PDF processing, and custom tools\n- **🧠 Agent Memory**: Short-term and long-term memory for learning from past executions\n- **🤝 Human-in-the-Loop**: Interactive approval workflows, human guidance, and collaborative decision making\n- **⚡ Advanced Task System**: Dependencies, retries, async/concurrent execution, and context sharing\n- **🏗️ Hierarchical Teams**: Manager agents that coordinate and delegate tasks to specialist agents\n- **🔒 Production Ready**: Security controls, error handling, logging, monitoring, and sandboxing\n- **🎯 Flexible Orchestration**: Sequential, hierarchical, and concurrent execution modes\n- **💎 Ruby-First Design**: Built specifically for Ruby developers with idiomatic patterns\n\n## 📦 Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'rcrewai'\n```\n\nAnd then execute:\n\n```bash\n$ bundle install\n```\n\nOr install it yourself as:\n\n```bash\n$ gem install rcrewai\n```\n\n## 🏃‍♂️ Quick Start\n\n```ruby\nrequire 'rcrewai'\n\n# Configure your LLM provider\nRCrewAI.configure do |config|\n  config.llm_provider = :openai  # or :anthropic, :google, :azure, :ollama\n  config.temperature = 0.1\nend\n\n# Create intelligent agents with specialized tools\nresearcher = RCrewAI::Agent.new(\n  name: \"researcher\",\n  role: \"Senior Research Analyst\",\n  goal: \"Uncover cutting-edge developments in AI\",\n  backstory: \"Expert at finding and analyzing the latest tech trends\",\n  tools: [RCrewAI::Tools::WebSearch.new],\n  verbose: true\n)\n\nwriter = RCrewAI::Agent.new(\n  name: \"writer\", \n  role: \"Tech Content Strategist\",\n  goal: \"Create compelling technical content\",\n  backstory: \"Skilled at transforming research into engaging articles\",\n  tools: [RCrewAI::Tools::FileWriter.new]\n)\n\n# Create crew with sequential process\ncrew = RCrewAI::Crew.new(\"ai_research_crew\")\ncrew.add_agent(researcher)\ncrew.add_agent(writer)\n\n# Define tasks with dependencies\nresearch_task = RCrewAI::Task.new(\n  name: \"research_ai_trends\",\n  description: \"Research the latest developments in AI for 2024\",\n  agent: researcher,\n  expected_output: \"Comprehensive report on AI trends with key insights\"\n)\n\nwriting_task = RCrewAI::Task.new(\n  name: \"write_article\",\n  description: \"Write an engaging 1000-word article about AI trends\",\n  agent: writer,\n  context: [research_task],  # Uses research results as context\n  expected_output: \"Publication-ready article saved as ai_trends.md\"\n)\n\ncrew.add_task(research_task)\ncrew.add_task(writing_task)\n\n# Execute - agents will reason, search, and produce real results!\nresults = crew.execute\nputs \"✅ Crew completed #{results[:completed_tasks]}/#{results[:total_tasks]} tasks\"\n```\n\n## 🎯 Key Capabilities\n\n### 🧠 Advanced Agent Intelligence\n- **Multi-step Reasoning**: Complex problem decomposition and solving\n- **Tool Selection**: Intelligent tool usage based on task requirements  \n- **Context Awareness**: Memory-driven decision making from past executions\n- **Learning Capability**: Short-term and long-term memory systems\n\n### 🛠️ Comprehensive Tool Ecosystem\n- **Web Search**: DuckDuckGo integration for research\n- **File Operations**: Read/write files with security controls\n- **SQL Database**: Secure database querying with connection management\n- **Email Integration**: SMTP email sending with attachment support\n- **Code Execution**: Sandboxed code execution environment\n- **PDF Processing**: Text extraction and document processing\n- **Custom Tools**: Extensible framework for building specialized tools\n\n### 🤝 Human-in-the-Loop Integration\n- **Interactive Approval**: Human confirmation for sensitive operations\n- **Real-time Guidance**: Human input during agent reasoning processes\n- **Task Confirmation**: Human approval before executing critical tasks\n- **Result Validation**: Human review and revision of agent outputs\n- **Error Recovery**: Human intervention when agents encounter failures\n\n### 🏗️ Enterprise-Grade Orchestration  \n- **Hierarchical Teams**: Manager agents coordinate and delegate to specialists\n- **Async Execution**: Parallel task processing with intelligent dependency management\n- **Delegation Systems**: Automatic task assignment based on agent capabilities\n- **Process Types**: Sequential, hierarchical, and consensual execution modes\n\n## 🔧 LLM Provider Support\n\n```ruby\n# OpenAI (GPT-4, GPT-3.5, etc.)\nRCrewAI.configure do |config|\n  config.llm_provider = :openai\n  config.openai_api_key = ENV['OPENAI_API_KEY']\n  config.model = 'gpt-4'\nend\n\n# Anthropic Claude\nRCrewAI.configure do |config|\n  config.llm_provider = :anthropic\n  config.anthropic_api_key = ENV['ANTHROPIC_API_KEY'] \n  config.model = 'claude-3-sonnet-20240229'\nend\n\n# Google Gemini\nRCrewAI.configure do |config|\n  config.llm_provider = :google\n  config.google_api_key = ENV['GOOGLE_API_KEY']\n  config.model = 'gemini-pro'\nend\n\n# Azure OpenAI\nRCrewAI.configure do |config|\n  config.llm_provider = :azure\n  config.azure_api_key = ENV['AZURE_OPENAI_API_KEY']\n  config.azure_endpoint = ENV['AZURE_OPENAI_ENDPOINT']\n  config.model = 'gpt-4'\nend\n\n# Local Ollama\nRCrewAI.configure do |config|\n  config.llm_provider = :ollama\n  config.ollama_url = 'http://localhost:11434'\n  config.model = 'llama2'\nend\n```\n\n## 💡 Examples\n\n### Hierarchical Team with Human Oversight\n\n```ruby\n# Create a hierarchical crew with manager coordination\ncrew = RCrewAI::Crew.new(\"enterprise_team\", process: :hierarchical)\n\n# Manager agent coordinates the team\nmanager = RCrewAI::Agent.new(\n  name: \"project_manager\",\n  role: \"Senior Project Manager\", \n  goal: \"Coordinate team execution efficiently\",\n  manager: true,\n  allow_delegation: true\n)\n\n# Specialist agents with human-in-the-loop capabilities\ndata_analyst = RCrewAI::Agent.new(\n  name: \"data_analyst\",\n  role: \"Senior Data Analyst\",\n  goal: \"Analyze data with human validation\",\n  tools: [RCrewAI::Tools::SqlDatabase.new],\n  human_input: true,                      # Enable human interaction\n  require_approval_for_tools: true,       # Human approves SQL queries\n  require_approval_for_final_answer: true # Human validates analysis\n)\n\ncrew.add_agent(manager)\ncrew.add_agent(data_analyst)\n\n# Execute with async/hierarchical coordination\nresults = crew.execute(async: true, max_concurrency: 2)\n```\n\n### Async/Concurrent Execution\n\n```ruby\n# Tasks that can run in parallel\nresearch_task = RCrewAI::Task.new(\n  name: \"market_research\",\n  description: \"Research market trends\",\n  async: true\n)\n\nanalysis_task = RCrewAI::Task.new(\n  name: \"competitive_analysis\", \n  description: \"Analyze competitors\",\n  async: true\n)\n\ncrew.add_task(research_task)\ncrew.add_task(analysis_task)\n\n# Execute with parallel processing\nresults = crew.execute(\n  async: true,\n  max_concurrency: 4,\n  timeout: 300\n)\n```\n\n## 🛠️ CLI Usage\n\n```bash\n# Create a new crew\n$ rcrewai new my_research_crew --process sequential\n\n# Create agents with tools\n$ rcrewai agent new researcher \\\n  --role \"Senior Research Analyst\" \\\n  --tools web_search,file_writer \\\n  --human-input\n\n# Create tasks with dependencies  \n$ rcrewai task new research \\\n  --description \"Research latest AI developments\" \\\n  --agent researcher \\\n  --async\n\n# Run crews\n$ rcrewai run --crew my_research_crew --async\n```\n\n## 📚 Examples \u0026 Documentation\n\n- **[Getting Started Guide](docs/tutorials/getting-started.md)**: Learn the basics\n- **[Human-in-the-Loop Example](examples/human_in_the_loop_example.rb)**: Interactive AI workflows\n- **[Hierarchical Teams](examples/hierarchical_crew_example.rb)**: Manager coordination\n- **[Async Execution](examples/async_execution_example.rb)**: Performance optimization\n- **[API Documentation](docs/api/)**: Complete API reference\n\n## 🎯 Use Cases\n\nRCrewAI excels in scenarios requiring:\n\n- **🔍 Research \u0026 Analysis**: Multi-source research with data correlation\n- **📝 Content Creation**: Collaborative content development workflows  \n- **🏢 Business Intelligence**: Data analysis and strategic planning\n- **🛠️ Development Workflows**: Code analysis, testing, and documentation\n- **📊 Data Processing**: ETL workflows with validation\n- **🤖 Customer Support**: Intelligent routing and response generation\n- **🎯 Decision Making**: Multi-criteria analysis with human oversight\n\n## 🏗️ Architecture\n\nRCrewAI provides a flexible, production-ready architecture:\n\n```\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   Crew Layer    │    │  Human Layer    │    │   Tool Layer    │\n│                 │    │                 │    │                 │\n│ • Orchestration │    │ • Approvals     │    │ • Web Search    │\n│ • Process Types │    │ • Guidance      │    │ • File Ops      │\n│ • Async Exec    │    │ • Reviews       │    │ • SQL Database  │\n│ • Dependencies  │    │ • Interventions │    │ • Email         │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n         │                        │                        │\n         └──────────────┬─────────────────┬─────────────────┘\n                        │                 │\n              ┌─────────────────┐    ┌─────────────────┐\n              │   Agent Layer   │    │   LLM Layer     │\n              │                 │    │                 │\n              │ • Reasoning     │    │ • OpenAI        │\n              │ • Memory        │    │ • Anthropic     │\n              │ • Tool Usage    │    │ • Google        │\n              │ • Delegation    │    │ • Azure         │\n              └─────────────────┘    └─────────────────┘\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n\n## 📄 License\n\nRCrewAI is released under the [MIT License](LICENSE).\n\n## 📞 Support\n\n- **Documentation**: [https://gkosmo.github.io/rcrewAI/](https://gkosmo.github.io/rcrewAI/)\n- **Issues**: [GitHub Issues](https://github.com/gkosmo/rcrewAI/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/gkosmo/rcrewAI/discussions)\n\n## 🌟 Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=gkosmo/rcrewAI\u0026type=Date)](https://star-history.com/#gkosmo/rcrewAI\u0026Date)\n\n---\n\nMade with ❤️ by the RCrewAI community","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgkosmo%2Frcrewai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgkosmo%2Frcrewai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgkosmo%2Frcrewai/lists"}