Skip to content
LogoLogo

How this repo relates to Tevm

Tevm is developed across several repositories. This page explains which one owns what, and why tevm-examples deliberately does not live inside the monorepo any more.

The repositories

RepositoryContainsConsumes Tevm via
evmts/tevm-monorepoThe Tevm packages themselves: tevm, @tevm/contract, @tevm/ethers, @tevm/jsonrpc, the bundler plugins, @tevm/ts-plugin, and the core docs sitesworkspace:^ links
evmts/tevm-examples (this repo)Every standalone example application, plus this documentation sitepublished npm versions

tevm-examples was extracted from the monorepo with its Git history intactgit log on any app still shows the commits made while it lived under tevm-monorepo/examples/.

Why it was split out

Inside the monorepo the apps resolved Tevm through workspace:* links, which meant they were testing the working tree, not a release. Three problems followed from that:

  1. Packaging bugs were invisible. A missing exports entry, a wrong types path, or a file left out of files never breaks a workspace link — it breaks the first user who runs npm install.
  2. Example code drifted ahead of the docs. Snippets copied from the examples used APIs that had not shipped yet.
  3. Monorepo CI paid for it. Six full application builds, a Foundry install, and a MUD toolchain ran on every core package change.

After the split, each app installs tevm@^1.0.0-next.x from npm like any other consumer. That makes pnpm install && pnpm build && pnpm test in this repo a genuine end-to-end check of a published release, across Bun, esbuild, Vite, Next.js, SvelteKit, and MUD.

The dependency policy

  • Cross-repository Tevm dependencies use caret ranges resolved from npm ("tevm": "^1.0.0-next.149"), never workspace: or file: protocols.
  • tevm is declared as a peer dependency (">=1.0.0") where an app imports the node directly, and satisfied by a dev dependency for local validation — the same shape a real integration would have.
  • The one exception is apps/mud, whose client links to its own contracts package. Both live in this repository, so that link is internal, not cross-repository.

What lives where when you have a question

You want…Go to
The Tevm API — clients, actions, contractstevm.sh
Tevm Node internals and architecturenode.tevm.sh
A working app to copy fromthis site, or apps/
To report a Tevm bugtevm-monorepo issues
To report that an example is brokentevm-examples issues

Release flow

Changesets records release intent in this repo. Merges to main run the release workflow with npm provenance. The example workspaces are private applications, so they are versioned and tagged but not published to npm unless their private flags are deliberately removed. In practice the useful output of a release here is the CI signal, not a package.

Docs deployment

This site is built with Vocs from docs/ and deployed to examples.tevm.sh on Vercel. Umbrella Tevm documentation remains at tevm.sh.