Skip to content

graphprotocol/graph-tooling

Folders and files

NameName
Last commit message
Last commit date
Apr 4, 2025
Feb 7, 2025
Dec 27, 2024
Apr 1, 2025
Apr 4, 2025
Dec 17, 2024
Mar 31, 2022
Apr 4, 2025
Dec 9, 2024
Mar 1, 2025
Dec 13, 2024
Feb 3, 2025
Aug 6, 2018
Jul 27, 2018
Jan 13, 2023
Aug 26, 2024
Dec 9, 2024
Apr 4, 2025
Apr 4, 2025
May 22, 2024
Feb 3, 2025

Repository files navigation

The Graph Tooling

Monorepo for various tools used by subgraph developers.

This repository houses the following tools:

NPM Name
npm (scoped) @graphprotocol/graph-cli
npm (scoped) @graphprotocol/graph-ts

Contributing

We welcome contributions to this repository. Please follow the Code of Conduct for all the communications.

To run this project locally:

  1. Clone the repository
  2. Make sure you have Node.js >=20.x installed
  3. Make sure you have pnpm installed
  4. Run pnpm install to install dependencies
  5. Run pnpm build to build the packages
  6. Run pnpm test to run the tests

Release process

We use changeset to manage releases. Every PR should include a changeset file. The release process is as follows:

  1. Author creates the PR with changes and runs pnpm changeset to create a changeset file to summarize the changes.
  2. When the PR is merged to main, a Github Action will run and create a PR with the version bump and changelog.
  3. We will merge the bot generated PR to main.
  4. A Github Action will run and publish the new version to npm.

Helpful links:

Stable release example

When PRs are merged and to main we can choose to merge the bot generated changeset PR to main and it will publish a new version to npm.

Example of a graph-client release: graphprotocol/graph-client#295

Alpha release example

Every PR to main that includes a changeset file will create a new alpha version.

Example of graph-client snapshot release: graphprotocol/graph-client#178 (comment)

License

Copyright © 2018-2019 Graph Protocol, Inc. and contributors.

The Graph CLI is dual-licensed under the MIT license and the Apache License, Version 2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expressed or implied. See the License for the specific language governing permissions and limitations under the License.