# graphile/crystal

🔮 Graphile's Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more!

Repository: https://github.com/graphile/crystal
Canonical: https://ross.abutalabs.com/products/graphile-crystal
Homepage: https://graphile.org/
Language: TypeScript
License: MIT
License Family: permissive
Topics: graphql, postgres, typescript, postgraphql, schema, graphql-api, automatic-api, graphile, graphql-js, pg, pgsql, postgresql, api, nodejs, node, express, koa2, koa, http, instant
Last push: 2026-08-23T08:52:54+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 84, longevity 100
- inputs: {"age_days": 3793, "days_push": 10, "days_rel": 28, "gap_med": 0, "n_releases_24m": 64}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 12929, forks 625 (observed 2026-08-28T04:11:00.163144+00:00)

## What it is
Graphile's Crystal monorepo containing Grafast, a planning and execution engine for GraphQL.js, and PostGraphile, which auto-generates high-performance GraphQL APIs from PostgreSQL databases. It also includes supporting packages like pg-sql2, pg-introspection, and graphile-build plugin tooling.

## Use cases
- auto-generate a GraphQL API from a PostgreSQL database
- speed up GraphQL execution with a planning engine instead of traditional resolvers
- build custom GraphQL schemas from database introspection
- export a dynamically built GraphQL schema to source code
- introspect PostgreSQL schemas programmatically
- build SQL queries safely in TypeScript

## When to choose
- you have a PostgreSQL database and want a well-structured GraphQL API with minimal effort
- you build GraphQL schemas in Node.js and want better performance than resolvers plus DataLoader
- you need a highly extensible, plugin-based GraphQL schema generation toolkit

## When to avoid
- your backend is not PostgreSQL and you want a fully automatic API
- you use a non-Node.js server stack
- you need a simple REST API rather than GraphQL

## Facets
- artifact type: library
- maturity: active
- function: graphql, api-framework, database, orm, middleware
- domain: web-development, backend, apis, databases, developer-tools
- platform: cross-platform
- tags: graphql-api, postgres, schema-generation, grafast, postgraphile, monorepo, auto-generated-api, query-planning, nodejs, typescript, postgresql

## Member repositories
- graphile/crystal (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:00.163144+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:13:40.604732+00:00, confidence not recorded.
  - readme: https://github.com/graphile/crystal (fetched 2026-08-28T04:11:00.163144+00:00, sha abe7db865d4a)
  - homepage: https://graphile.org/ (fetched 2026-08-29T08:10:05.408261+00:00, sha 88d0843fbfb8)
  - site_page: https://build.graphile.org/graphile-build/4/getting-started (fetched 2026-08-29T08:10:05.419231+00:00, sha cc5a35405d06)
  - site_page: https://www.graphile.org/sponsor (fetched 2026-08-29T08:10:05.415316+00:00, sha 7bf0e67e9888)
  - site_page: https://worker.graphile.org (fetched 2026-08-29T08:10:05.417363+00:00, sha fb7f92398c78)
  - site_page: https://build.graphile.org/graphile-build/5 (fetched 2026-08-29T08:10:05.421019+00:00, sha a9b918f1d9a7)
  - site_page: https://build.graphile.org/ (fetched 2026-08-29T08:10:05.422661+00:00, sha 72d02b83c2dc)
- Data as of 2026-08-30T08:39:29.467469+00:00.
