Configuration reference

Project, build, and publishing options exposed in the project settings UI.

Reference

This page documents the project and build configuration fields that GitMyABI exposes through the project settings UI. Every field listed here is set per project and applies to every subsequent build of that project. Plan-dependent values such as build duration and history are listed on the billing and subscriptions page.

Project identity

  • Connected GitHub repository. Selected when the project is created. See connect GitHub and create a project for the authorization steps.
  • Branch. Chosen from the list of branches returned by the connected repository. Branch names follow standard Git naming rules and may be up to 250 characters.
  • Root Directory. Path within the repository that contains the smart contract project. Up to 260 characters; must not contain reserved path characters or parent-directory segments.
  • Project name. Where exposed, project names are between 2 and 100 characters and may contain letters, digits, hyphens, and underscores.

Framework

GitMyABI currently supports two smart contract development frameworks. The framework field is required when creating a project:

  • Hardhat
  • Foundry

The selected framework drives the default build commands and the default artifacts path. The full task walkthrough lives in generate TypeScript bindings from a smart contract ABI.

Build settings

The Build and Output Settings section of the project setup form exposes four required fields. Each accepts a string value with the limits below.

FieldHardhat defaultFoundry defaultMax length
Artifacts Pathartifactsout300
Install Commandnpm installforge install200
Build Commandnpx hardhat compileforge build200
Test Commandnpm testforge test200

The defaults change automatically when the framework is switched and can be overridden per project. See configure builds for how the build pipeline consumes these values.

Environment variables

A project can declare environment variables that the build pipeline sets before running the install and build commands. Each entry is a key/value pair.

  • Maximum entries per project: 50.
  • Key. Up to 100 characters. Must start with a letter or underscore and contain only letters, digits, and underscores.
  • Value. Up to 1000 characters.
  • Reserved keys. Names that the runtime controls are not accepted, including PATH, HOME, USER, PWD, SHELL, TERM, LANG, and any name starting with LC_, NODE_, NPM_, or YARN_. The authoritative list lives in src/lib/validation/constants.ts.

npm publishing

  • NPM Package Visibility. A single checkbox labelled Make this package publicly accessible without authentication. When enabled, the published bindings package can be installed without an authentication token. When disabled, installation requires the registry configuration shown on the build detail page.
  • Default value. The checkbox tracks the visibility of the connected repository: a public repository defaults to a public package, and a private repository defaults to a private package. The value can be changed at any time in project settings.
  • Package name. The published package name is shown on the build detail page. Treat that value as authoritative; do not derive a package name from the repository.
  • Registry configuration. For private packages, the build detail page shows the exact .npmrc entries and shell commands required to install the package. See publish generated contract bindings to npm for the per-project setup walkthrough.

Plan-dependent settings

Some configuration options are gated by your subscription tier. This reference does not duplicate plan limits; see the billing and subscriptions page for the live values, including:

  • build duration per build
  • build history retention
  • auto-build scope (project creator commits versus all commits)
  • artifact downloads
  • private repository support
  • team collaboration features

CDN URL shape

The CDN URL for each published ABI follows a stable pattern keyed by project, build, and contract, with optional aliases by branch, tag, release, or commit. The exact shape is documented in review the package format. Use the URLs shown on the build detail page rather than hardcoding any host or path fragment.

Related