ABI and TypeScript bindings publishing

How GitMyABI delivers a contract ABI and its TypeScript bindings after a successful build.

Concepts

ABI and TypeScript bindings publishing is the part of GitMyABI that turns a successful smart contract build into two consumable artifacts: a JSON ABI on a public CDN and a typed TypeScript npm package. Both artifacts are produced by the same build and are tied to the same project, build number, and Git reference.

Two delivery channels

  • CDN-hosted ABI. Each compiled contract's ABI is uploaded as a JSON file under a stable URL keyed by project and build (or by branch, tag, release, or commit alias). The CDN URL is shown on the build detail page.
  • npm-published bindings. The same ABI is wrapped in a typed TypeScript class and published to an npm registry. The package name, version, and install command are shown on the build detail page.

Build pipeline

On every triggered build, GitMyABI runs the following steps in order:

  1. Clone Repository — downloads the project source from GitHub.
  2. Install Dependencies — runs the project's configured install command.
  3. Compile Contracts — executes the framework's build command (Hardhat or Foundry).
  4. Extract ABIs — locates and extracts the compiled ABI files from the configured artifacts path.
  5. Upload to CDN — publishes the ABI JSON files to a public CDN.
  6. Generate URLs and publish bindings — produces stable CDN URLs and publishes the typed bindings package to the configured npm registry.

Routing

Project visibility determines package visibility. A project connected to a public GitHub repository publishes a publicly installable npm package; a project connected to a private repository publishes a package that requires the registry configuration shown in the package installation instructions on the build detail page. The CDN URL for the ABI is shown on the build detail page; do not assume a fixed CDN host or registry URL.

What triggers publishing

  • Manually triggered builds for a chosen branch, tag, release, or commit.
  • Automatic builds on GitHub events when auto-build is enabled for the project.

See review the package format for the artifact shape and publish generated contract bindings to npm for the per-project setup steps.

Related