// the find
graphprotocol/graph-tooling
Monorepo for various tools used by subgraph developers.
Official CLI and TypeScript library for building subgraphs on The Graph protocol. graph-cli handles scaffolding, codegen from ABIs, building to WASM, and deploying; graph-ts provides the AssemblyScript runtime types/APIs that mapping code runs against. If you're writing a subgraph, you're using both of these whether you know it or not.
- Multi-chain from the start: Ethereum, NEAR, Cosmos, Arweave, and Substreams all have first-class protocol support with separate scaffold/manifest/codegen paths, not bolted-on afterthoughts.
- ABI-driven codegen is genuinely useful—it generates typed AssemblyScript wrappers from contract ABIs so you get compile-time errors instead of runtime panics when accessing event fields.
- Changeset-based release process is well-configured: snapshot alpha releases on every merged PR makes it easy to test unreleased changes without waiting for a stable bump.
- Good example coverage across protocols (gravatar, Cosmos validators, Substreams, NEAR receipts) with docker-compose setups that let you actually run them locally.
- The tooling is tightly coupled to The Graph's hosted/decentralized network—there's no meaningful way to use graph-cli for a self-hosted graph-node deployment without fighting the CLI's assumptions about endpoints and auth tokens.
- AssemblyScript as the mapping language is a constant source of pain: graph-ts has to paper over AS quirks (no null safety, weird closure behavior, limited stdlib), and the generated types are sometimes confusing about what's a nullable pointer vs a value type.
- Test coverage is uneven—critical paths like the compiler pipeline and deploy command have sparse tests, while lower-risk utilities like scaffold templates have snapshot tests. Integration tests against a real graph-node are absent from CI.
- The README is minimal for a project this central to the ecosystem; there's no architecture doc explaining how cli and ts packages relate, or how the WASM compilation pipeline actually works, which makes contributing harder than it should be.