Mateo/dev 363 create crewai examples without relying on old package#785
Mateo/dev 363 create crewai examples without relying on old package#785torresmateo wants to merge 5 commits intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
app/en/get-started/agent-frameworks/crewai/use-arcade-tools/page.mdx
Outdated
Show resolved
Hide resolved
…ge.mdx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 4 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| args_schema=_build_args_model(defn), | ||
| arcade_tool_name=defn.qualified_name, | ||
| user_id=user_id, | ||
| ) |
There was a problem hiding this comment.
Constructor passes client but field is _client
High Severity
The ArcadeTool constructor is called with client=client, but the class declares _client: Arcade | None = None. In Pydantic v2, underscore-prefixed attributes are private and cannot be set via the constructor. The client kwarg either raises a validation error or is silently ignored, meaning _client is never set to the passed-in client. While _run has a fallback (if self._client is None: self._client = Arcade()), the intended client-sharing pattern is broken. Users copying this example code will hit errors or unexpected behavior.
Additional Locations (1)
| break | ||
|
|
||
| history.append({"role": "user", "content": user_input}) | ||
| result = agent.kickoff(history) |
There was a problem hiding this comment.
CrewAI Agent class has no kickoff method
High Severity
agent.kickoff(history) is called on a CrewAI Agent instance, but kickoff is a method on the Crew class, not Agent. This will raise an AttributeError at runtime. The old code correctly used Crew and Task objects with crew.kickoff(). The new code skips those entirely and tries to call kickoff directly on the agent. Users who copy this example will get an immediate crash.
Additional Locations (1)
| # This determines the maximum number of tool definitions Arcade will return per MCP server | ||
| TOOL_LIMIT = 30 | ||
| # This determines which LLM model will be used inside the agent | ||
| MODEL = "openai/gpt-5-mini" |
There was a problem hiding this comment.
MODEL variable defined but never used in Agent
Medium Severity
MODEL = "openai/gpt-5-mini" is defined with a comment saying it determines the LLM model, but it's never passed to the Agent constructor. The old code passed llm=LLM(model="gpt-4o") to Agent, but the new code omits any model parameter. The agent will use CrewAI's default model instead of the configured one. Users changing MODEL would see no effect.
Additional Locations (1)
|
|
||
| ```bash | ||
| uv pip install openai-agents arcadepy agents-arcade python-dotenv | ||
| uv add openai-agents arcadepy |
There was a problem hiding this comment.
Missing python-dotenv from install commands causes ImportError
High Severity
Both examples import from dotenv import load_dotenv but neither install command includes python-dotenv. The OpenAI Agents guide says uv add openai-agents arcadepy and the CrewAI guide says uv add 'crewai[tools]' arcadepy. The old OpenAI Agents code explicitly installed python-dotenv. Since openai-agents does not list python-dotenv as a dependency, users following the guide will get an ImportError when running the code.


Note
Low Risk
Documentation-only changes plus redirect updates; main risk is broken links/navigation if redirects or meta entries are incorrect.
Overview
Reworks the CrewAI “use Arcade tools” guide to stop relying on the older
crewai-arcademanager and instead walk through building a minimal CLI-style agent usingarcadepy, including JIT authorization encapsulated in a customBaseToolwrapper and tool-definition→Pydantic schema conversion.Consolidates/cleans up docs routing and pages by deleting the CrewAI
custom-auth-flowpage and the separate OpenAI Agents “use-arcade-with-openai-agents” page (content moved/expanded intosetup-python), then adding permanent redirects innext.config.tsto preserve old URLs.Minor doc polish includes small wording tweaks in the Google ADK guide, moving
@tailwindcss/typographyfrom dependencies to devDependencies, and updating generatedllms.txt/markdown exports accordingly.Written by Cursor Bugbot for commit 40b4aa9. This will update automatically on new commits. Configure here.