Files
zeekay f9fdfcd098 State a version once
A version written into a manifest is written into every manifest that wants it,
which is how eslint came to exist in a hundred and four forms across this estate
and how a package came to resolve twice at run time. The catalog moves the number
out of the manifest: a manifest names the package, the workspace names the
version.

Four are held below their latest because the newer release cannot be used, and
the reason is recorded rather than the version alone: @noble/hashes 2 renamed
every subpath the web3 stack imports, @splinetool/runtime 2 depends on a package
that was never published, @dynamic-labs 5.4.1 the same, and react-resizable-panels
3 points its types condition at the bundle.
2026-08-29 18:14:03 -07:00
..
2025-05-19 15:19:23 -05:00
2025-06-09 13:52:13 -05:00
2026-08-29 18:14:03 -07:00

@repo/tools

A collection of shared scripts for automating the monorepo while ensuring consistency across packages.

Scripts

Bin Scripts

Simple shell scripts for common development tasks:

  • run-tsc: Run TypeScript type checking
  • run-eslint-workers: Run ESLint checks
  • run-vitest: Run tests
  • run-vitest-ci: Run tests in CI mode
  • run-turbo: Run Turbo commands with tracking disabled
  • run-wrangler-deploy: Deploy using Wrangler
  • run-wrangler-types: Generate Wrangler types
  • run-fix-deps: Fix dependencies

Runx CLI

A TypeScript-based CLI for more complex automation tasks. While the bin scripts work well for simple tasks, the runx CLI provides better type safety and more sophisticated programmatic control.

Usage:

pnpm runx <command> [options]

Available commands:

  • deploy-published-workers: Deploy Cloudflare Workers (based on which packages changesets marked as published in the release).

Note:

The CLI will automatically use Bun if available, but falls back to tsx if not installed.