About this project

CrewAI is an open-source Python framework for building multi-agent automation. It provides high-level abstractions and low-level APIs for production workflows, centered on two complementary primitives: Crews and Flows. Crews are teams of role-based AI agents that collaborate autonomously on tasks. Each agent can have a role, goal, backstory, LLM, tools, memory, and knowledge. Tasks can be organized in sequential or hierarchical processes, with support for structured output (Pydantic/JSON), human review, and output files. Flows are event-driven workflows with fine-grained execution control, state management (e.g., Pydantic-based state), conditional branching, and routing using decorators such as @start, @listen, @router, and logical operators or_/and_. Crews and Flows can be combined: a Flow can invoke Crews as steps while keeping business logic in regular Python. The project includes a CLI (crewai) installed via uv. Projects are JSON-first: agents are defined in agents/*.jsonc, crew-level settings and tasks in crew.jsonc, with optional tools/, knowledge/, and skills/ directories. A classic Python/YAML scaffold is also available. The framework requires Python >=3.10 and <3.14, and works with many LLM providers, including local models via Ollama. Additional capabilities include tool use, memory, knowledge, checkpointing, async execution, and MCP/A2A support. The README links to extensive documentation, courses, community tutorials, and example projects such as a trip planner, stock analysis, job posting, and landing page generator. The repository is MIT-licensed. A separate commercial offering, CrewAI AMP Suite, adds managed deployment, observability, governance, and enterprise support, and is distinct from the open-source framework.