A CLI tool to visualize GraphQL schemas and output them as Graphviz .dot format for dependency analysis.
CraftQL is a command-line interface (CLI) tool built in Rust that analyzes GraphQL schema files. It visualizes the structure and dependencies within a GraphQL schema by outputting a graph data structure in Graphviz's .dot format, which can be used to generate diagrams. It helps developers understand complex GraphQL APIs by identifying relationships, missing definitions, and orphaned types.
GraphQL API developers and architects who need to visualize, analyze, and maintain GraphQL schemas, especially in projects with many types and complex dependencies.
Developers choose CraftQL for its fast, command-line based analysis of GraphQL schemas without requiring a running server. Its ability to output to Graphviz format and perform detailed dependency checks makes it a unique tool for static schema inspection and documentation.
A CLI tool to visualize GraphQL schemas and to output a graph data structure as a graphviz .dot format
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built in Rust, CraftQL quickly parses GraphQL files without a running server, enabling rapid schema inspection as demonstrated in the command-line usage examples.
Provides both incoming and outgoing dependency analysis for specific nodes, helping identify complex relationships, shown with the --incoming-dependencies and --outgoing-dependencies flags.
Supports filtering by various GraphQL types like objects, interfaces, and enums for targeted analysis, as detailed in the --filter option with multiple type categories.
Detects orphans and missing definitions automatically, aiding in maintaining clean schemas, evidenced by the --orphans and --missing-definitions flags in the README.
Only outputs Graphviz .dot format, requiring external tools like Graphviz to generate diagrams, which adds setup complexity and extra steps for users.
Cannot connect to running GraphQL servers; analysis is restricted to static files, limiting its use in dynamic or introspection-based workflows.
Requires Rust and Cargo installation for use, which might be a barrier for teams not already familiar with or using Rust tooling.