{"id":14976080,"url":"https://github.com/starptech/graphql-registry","last_synced_at":"2025-09-27T15:31:09.805Z","repository":{"id":47669296,"uuid":"359964675","full_name":"StarpTech/graphql-registry","owner":"StarpTech","description":"GraphQL registry - single source of truth for registering and tracking your graph.","archived":false,"fork":false,"pushed_at":"2023-12-13T15:51:39.000Z","size":2215,"stargazers_count":86,"open_issues_count":7,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-01-17T07:51:28.810Z","etag":null,"topics":["graphql","graphql-schema","registry","schema"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StarpTech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-04-20T22:17:13.000Z","updated_at":"2024-03-25T16:17:33.000Z","dependencies_parsed_at":"2024-01-06T07:53:06.971Z","dependency_job_id":"8304a1e5-ec13-48ba-b704-1fbb6b0d17cb","html_url":"https://github.com/StarpTech/graphql-registry","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StarpTech%2Fgraphql-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StarpTech%2Fgraphql-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StarpTech%2Fgraphql-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StarpTech%2Fgraphql-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StarpTech","download_url":"https://codeload.github.com/StarpTech/graphql-registry/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234444600,"owners_count":18833657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphql","graphql-schema","registry","schema"],"created_at":"2024-09-24T13:53:16.292Z","updated_at":"2025-09-27T15:31:04.461Z","avatar_url":"https://github.com/StarpTech.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./docs/logo-standalone.png\" alt=\"graphql-registry\" width=\"350\" /\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/StarpTech/graphql-registry/actions?query=workflow%3ACI\"\u003e\n    \u003cimg src=\"https://github.com/StarpTech/graphql-registry/actions/workflows/ci.yml/badge.svg\" alt=\"CI\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/StarpTech/graphql-registry/actions?query=workflow%3ABENCH\"\u003e\n    \u003cimg src=\"https://github.com/StarpTech/graphql-registry/actions/workflows/bench.yml/badge.svg\" alt=\"BENCH\" /\u003e\n  \u003c/a\u003e\n  \u003ca href='https://coveralls.io/github/StarpTech/graphql-registry?branch=main'\u003e\u003cimg src='https://coveralls.io/repos/github/StarpTech/graphql-registry/badge.svg?branch=main' alt='Coverage Status' /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n---\n\n\u003e **Note**: Are you looking for a Complete API Management for GraphQL Federation? 🔎 Have a look at: [WunderGraph Cosmo](https://github.com/wundergraph/cosmo)\nIncludes Schema Registry, analytics, metrics, tracing, and routing. Available for 100% on-prem deployment or as a [Managed Service](https://cosmo.wundergraph.com/login). Apache 2.0 licensed, ensuring no vendor lock-in 🪄\n\n---\n\n\u003e There should be a **single source of truth** for registering and tracking the graph.\n\n## Features\n\n- Create multiple graphs (for example, staging and production, or different development branches)\n- Stores versioned schemas for all GraphQL-federated services\n- Serves schema for GraphQL gateway based on provided services \u0026 their versions\n- Serves a supergraph schema for the GraphQL gateway\n- Validates new schema to be compatible with other running services\n- Validates that all client operations are supported by your schema\n- Calculates a schema coverage report from GraphQL operations\n- Validates if a schema update produce a breaking, dangerous or safe change\n- Lightweight authorization concept based on JWT.\n\n[**Read more**](https://principledgraphql.com/integrity#3-track-the-schema-in-a-registry)\n\n## Examples\n\n- [Federation](./examples/mercurius-federation) with Mercurius.\n- [Federation](./examples/apollo-federation) with Apollo Gateway.\n- [Managed Federation](./examples/apollo-managed-federation) with Apollo Gateway.\n\n## API\n\nTry all endpoints in [insomnia](https://insomnia.rest/run/?label=GraphQL%20Registry\u0026uri=https%3A%2F%2Fraw.githubusercontent.com%2FStarpTech%2Fgraphql-registry%2Fmain%2Finsomnia.json) or read the api [documentation](./docs/api.md).\n\n## Development\n\nCopy `.env.example` to `.env`\n\n```sh\n# Install project\nnpm install\n# Start postgres\ndocker-compose up postgres\n# Create db schema\nnpm run migrate:up\n# Watch mode\nnpm run dev\n# Run tests\nnpm run test\n```\n\n## Benchmark\n\nRun a benchmark with:\n\n```sh\ndocker-compose up postgres\ndocker-compose up --build app\ndocker-compose run k6 run /benchmark/composed-schema.js\n```\n\nOur benchmark suite is running in the CI.\n\n## Deployment\n\nGraphQL-Registry uses by default postgres as database.\n\n```sh\n# Bootstrap database\nnpm install \u0026\u0026 npm run migrate:up\n# Run service\ndocker run -e DATABASE_URL=\"\" starptech/graphql-registry:latest -p 3000:3000\n```\n\n[Available](/src/core/env.schema.ts) environment variables.\n\n## Alpha version\n\nGraphQL Registry is currently highly under development. It means that we are still working on essential features like production-ready schema management, graph metrics and development tooling. GraphQL Registry can be evaluated anytime. Every feature is covered by integration tests. We rely on your feedback and sponsorship. Feel free to open an issue or feature request!\n\n## Contributing\n\n❤️ contributions!\n\nI will happily accept your pull request if it:\n\n- has tests\n- looks reasonable\n- follows the [code of conduct](./CODE_OF_CONDUCT.md)\n\n### License\n\nGraphQL Registry is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can [find it here](LICENSE).\nWhy AGPLv3 and not MIT? Read the blog post from [plausible](https://plausible.io/blog/open-source-licenses) to learn more about our motivations.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarptech%2Fgraphql-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstarptech%2Fgraphql-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarptech%2Fgraphql-registry/lists"}