Skip to content

build: add Smithers workspace and package definitions - #2099

Draft
roninjin10 wants to merge 1 commit into
mainfrom
smithers
Draft

build: add Smithers workspace and package definitions#2099
roninjin10 wants to merge 1 commit into
mainfrom
smithers

Conversation

@roninjin10

Copy link
Copy Markdown
Collaborator

What this is

Design-partner configuration for Smithers, a Bazel-like build and agent-workflow system. The @smthrs packages do not exist yet: this is API-driven development, where real repos define the API through usage and the implementation follows. Nothing here runs today.

Tevm is the monorepo design partner. It exercises workspace graphs, a second runtime, Rust crates, multi-registry release, and external test corpora.

Layout

  • WORKSPACE.ts — Node and Bun runtime layers, pnpm workspace graph, host binaries.
  • Root PACKAGE.ts — lint, cross-package suites via label-pattern queries, changesets release train, JSR publish, emitted GitHub CI (replacing ci/release/jsr-publish/wasm-size-check/parity-suites workflows), coverage and size gates, gated commit/pr targets, nightly conformance cron.
  • Per-package PACKAGE.tspackages/{evm,state,actions,errors,memory-client}, tevm/, cli/, test/, bundler-packages/{vite,resolutions-rs}, extensions/viem, sites/core. Each category has one exemplar file; siblings follow it, noted in comments.
  • workflows/ — a JSDoc agent lint and a conformance-triage workflow (EIP-3155 trace-diff loop over the repo's trace tooling).
  • smithers.d.ts — permissive ambient declarations so the files type-check until the real packages ship.

API surfaces this repo introduces

  • S.Npm.Workspaces / S.Npm.WorkspaceDeps — the pnpm workspace graph as a layer; workspace:* deps resolve to built outputs in topological order, replacing nx dependsOn: ^build with data edges.
  • S.Query({ pattern: "//**:test" }) — label-pattern aggregation replacing nx run-many; new packages join suites without imports.
  • S.Runtime.Bun — a second runtime as a plain workspace layer key.
  • S.Cargo.* / S.Napi.Build — the Rust crates and their napi platform emits.
  • S.Changesets.Version/Publish, S.Jsr.Publish — the release train, gated on CI plus a //**:apiCompat query.
  • S.Npm.PackageLint — publint + attw against the packed tarball.
  • S.Size.Gate, S.Coverage.Gate — byte and coverage floors in the graph.
  • S.Git.Checkout — rev-pinned external fixture corpora (ethereum/tests, execution-spec-tests), the http_archive analog.
  • sandbox: { docker: true } — admits the host docker daemon for hive.
  • S.Vercel.Deploy — the docs site, gated on sample verification.

Repo impact

None: all files are additions; no tracked file is modified.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
node Ready Ready Preview Aug 25, 2026 7:11am
tevm-monorepo-app Ready Ready Preview Aug 25, 2026 7:11am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
tevm-monorepo-tevm Ignored Ignored Aug 25, 2026 7:11am

Request Review

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@changeset-bot

changeset-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: cad4ffa

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Design-partner configuration for the Smithers build API (a Bazel-like
workflow system): a root WORKSPACE.ts, PACKAGE.ts files per workspace
package (exemplar-per-category for sibling packages), agent workflow
packages, and permissive ambient type declarations. The @smthrs packages
do not exist yet; these files define the API through usage.

No tracked file is modified; every package tsconfig includes only src/ or
explicit entries, so the real builds are unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant