Skip to content

Repository files navigation

Prismatic

Hex.pm HexDocs GitHub

Prismatic

Prismatic is a GraphQL-native Elixir SDK platform built for thin, configuration-driven provider libraries.

It takes the same broad philosophy as pristine, but shifts the center of gravity from REST request specs to GraphQL documents, operations, connections, and schema-derived artifacts.

The shared GraphQL runtime now rides the same final-form HTTP lane as the REST family: prismatic keeps GraphQL semantics, while lower unary HTTP execution flows through the pristine family kit and its Execution Plane-backed transport substrate.

The repo is a non-umbrella monorepo with three packages:

  • prismatic: shared runtime for GraphQL-over-HTTP execution
  • prismatic_codegen: shared compiler, Provider IR, and rendering helpers
  • prismatic_provider_testkit: shared verification helpers for provider repos

The root workspace exists to coordinate those packages with blitz.

Why this exists

GraphQL provider SDKs tend to accumulate the same infrastructure:

  • HTTP execution and auth handling
  • generic OAuth2 and token-source support
  • interactive OAuth browser and loopback callback support
  • response and error normalization
  • pagination and connection traversal
  • schema-driven code generation
  • artifact freshness checks
  • docs and verification workflows

Prismatic pulls that reusable behavior into one place so provider repos can stay focused on provider configuration, generated artifacts, and a narrow layer of handwritten convenience helpers.

The runtime now has an explicit governed authority mode for GraphQL provider integrations. Standalone clients can still use direct endpoints, env-backed provider config, bearer tokens, custom auth headers, OAuth helpers, and saved token files. Governed clients pass Prismatic.GovernedAuthority and reject unmanaged endpoint, auth, token-source, and request override inputs.

Workspace map

Quality bar

The workspace is intended to stay clean at all times:

  • tests must pass
  • compile must be warning-free
  • credo must stay clean
  • dialyzer must stay clean
  • docs must build from committed guides and package metadata

Workspace commands

mix deps.get
mix ci
mix monorepo.test
mix monorepo.credo --strict
mix monorepo.dialyzer
mix monorepo.docs

Package docs

License

This project is licensed under the MIT License. See LICENSE for details.

About

GraphQL-native Elixir SDK platform and monorepo for schema-driven providers, built as the document-first sibling to Pristine with shared runtime, code generation, provider verification, and workspace tooling for thin, configuration-driven client SDKs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages