backend/app/agent.py in the generated project — everything else (FastAPI backend, Neo4j client, frontend, data, and schema) stays the same.
Choosing a framework
Interactive wizard
Run the CLI and select your framework at the relevant step:CLI flag
--framework flag accepts one of the eight keys listed below.
Supported frameworks
- PydanticAI
- Claude Agent SDK
- OpenAI Agents SDK
- LangGraph
- CrewAI
- Strands
- Google ADK
- Anthropic Tools
Key: Required API key:
pydanticaiType-safe agents with @agent.tool decorators and dependency injection via RunContext. PydanticAI validates tool inputs and outputs against Pydantic models. Full token-by-token text streaming via agent.run_stream().ANTHROPIC_API_KEYStreaming: Full (token-by-token text + real-time tool calls)Framework comparison
Full streaming means token-by-token text delivery plus real-time tool call visualization. Tools only means tool call events stream in real-time, but the text response arrives all at once after the agent finishes. All frameworks use the same SSE (Server-Sent Events) protocol.
What changes between frameworks
Only one file varies between frameworks:backend/app/agent.py. This file contains:
- Agent initialization and model configuration
- Tool definitions generated from your domain’s
agent_toolsontology - The
handle_message()async function that the FastAPI routes call - For full-streaming frameworks: the
handle_message_stream()async function for SSE text streaming
What stays the same
Regardless of which framework you choose, the generated project always includes:- FastAPI backend (
main.py,config.py,routes.py,models.py) — identical across all frameworks - Neo4j clients (
context_graph_client.py,gds_client.py,vector_client.py) — shared graph access layer - Frontend (Next.js + Chakra UI v3 + NVL graph visualization) — framework-agnostic
- Data and schema (
cypher/schema.cypher, fixture data, ontology YAML) - Infrastructure (
docker-compose.yml,Makefile,.env)
Generating a second project with a different framework
To compare frameworks side by side, re-run the CLI with a new output directory:agent.py and the agent-specific dependencies in pyproject.toml differ.
Framework-specific dependencies
The generatedbackend/pyproject.toml includes only the dependencies needed for the chosen framework. Examples:
pydanticai→pydantic-ailanggraph→langgraph,langchain-anthropicstrands→strands-agents[anthropic]google-adk→google-adk,nest-asyncio
fastapi, uvicorn, neo4j, pydantic, and python-dotenv.
