A Docker-first, multi-agent AI framework template using CrewAI, LiteLLM, Vault, Weaviate, and Redis.
-
Clone and rename:
git clone <this-repo> my-new-project cd my-new-project # Replace "myproject" / "MyProject" with your project name throughout: grep -rl "myproject" . --include="*.py" --include="*.yml" --include="*.yaml" --include="*.sh" --include="*.md" --include="*.env*" | xargs sed -i 's/myproject/yourproject/g' grep -rl "MyProject" . --include="*.py" --include="*.md" | xargs sed -i 's/MyProject/YourProject/g'
-
Configure environment:
cp .env.example .env # Edit .env and add your LLM provider API keys -
Start services:
chmod +x scripts/start.sh ./scripts/start.sh
-
Run agents:
docker compose exec crewai python -m crews
| Directory | Purpose |
|---|---|
agents/ |
Agent role definitions and LLM factory (get_llm) |
tasks/ |
Reusable task templates |
crews/ |
Crew assembly factories and interactive CLI |
tools/ |
Custom CrewAI tools with Pydantic schemas |
flows/ |
Multi-step flow orchestration |
config/ |
LiteLLM proxy configuration |
scripts/ |
Startup and health-check scripts |
tests/ |
Pytest fixtures for testing without Docker |
- LiteLLM (port 4000) — LLM proxy with model routing and fallbacks
- Vault (port 8200) — Secret management (dev mode)
- Redis (port 6379) — Agent communication and caching
- Weaviate (port 8080) — Vector store for RAG
- PostgreSQL (port 5432) — LiteLLM spend tracking
- t2v-transformers — Embedding model (MiniLM-L6-v2)
pip install -r requirements-dev.txt
pytestTests run without Docker. See tests/conftest.py for shared fixtures.
See CLAUDE.md for full conventions on adding agents, crews, tasks, tools, and flows.