How this framework stays current
Vibes is deliberately modeled on Pydantic AI. As Pydantic AI evolves - adding new features, fixing bugs, refining its API - Vibes tracks those changes and ports the relevant ones to TypeScript. This process is automated.The update pipeline
A GitHub Actions workflow runs every day at 9am UTC. It checks whether a new version ofpydantic-ai has been published to PyPI. If one has, and no open issue already exists for that version, it:
- Fetches the release notes from the Pydantic AI GitHub release
- Diffs the changed files between the old and new tags to identify what actually changed
- Highlights the relevant files - agent logic, tool handling, result validators, streaming, MCP, graph - the parts that map to Vibes concepts
- Opens a GitHub Issue with the full porting checklist and assigns it to the GitHub Copilot coding agent via GraphQL
- Copilot opens exactly one PR referencing the issue, using
.claude/vibes-pydantic-porting.mdas its porting guide - Merging the PR closes the issue automatically — no manual cleanup needed
The workflow requires a fine-grained PAT stored as
VIBES_GH_PAT with Actions, Contents, Issues, and Pull requests read/write permissions scoped to this repository. This is needed because GITHUB_TOKEN cannot assign the Copilot coding agent.What gets ported
Not everything in a Pydantic AI release is relevant to Vibes. The porting guide categorises each change as:
The Feature Parity table is updated with every porting cycle to reflect current status.
What gets skipped
Some Pydantic AI features have no direct TypeScript equivalent and are intentionally not ported:- Python-specific runtime concerns (asyncio internals,
__init__.pyorganisation) - Features already covered by the Vercel AI SDK (provider integrations, tokenisation)
- Pydantic-specific validation patterns (replaced by Zod in Vibes)
The porting guide
The file.claude/vibes-pydantic-porting.md in this repository is the canonical reference for how Pydantic AI Python concepts map to Vibes TypeScript equivalents. It covers:
- Framework structure and file locations
- How
RunContext[Deps]maps toRunContext<TDeps> - How Pydantic validators map to Zod schemas
- Streaming patterns (asyncio generators → AI SDK streams)
- Testing patterns (
TestModel,FunctionModel) - MCP, graph workflows, and multi-agent patterns
Tracking a specific release
The currently tracked version of Pydantic AI is stored in.github/pydantic-ai-version.txt. To check what version Vibes is currently aligned with:
pydantic-ai-update label.