Graph-theory tools for the Kessel Starlark schema: visualization, analysis, and an in-browser playground.
This repo consumes the starlark-unified-schema interpreter's public API (interpreter/compile) to build canonical graph representations and tooling around them.
📖 Visit the interactive playground
- graph-mermaid: Renders Mermaid flowcharts from
graph.json - graph-analyze: Structural analysis (islands, check cost, reachability)
- graph-playground: In-browser Starlark → graph WASM playground
# Run tests (auto-downloads schema on first run)
make test
# Build all graph tools
make build-graph-mermaid build-graph-analyze build-graph-playground
# Build and serve the interactive playground
make serve-graph-playgroundAll make targets automatically download the schema from starlark-unified-schema if needed. The schema is cached to .cache/starlark-unified-schema/ (gitignored).
make test # Run all tests (downloads schema if missing)
make test-integration # Run full suite with integration tests
make refresh-schema # Update cached schema from GitHub main
make clean-schema # Remove cached schemaFor local development against a custom schema version:
go mod edit -replace=github.com/project-kessel/starlark-unified-schema=../starlark-unified-schema/interpreterinternal/graphvisitor/—compile.SchemaVisitorimplementation that buildsgraph.jsoninternal/compiler/— Public API wrapper around the unified schema compilerinternal/graphdoc/—graph.jsonread modelinternal/render/— Mermaid rendererinternal/analyze/— Graph analysis (islands, check cost, reachability)internal/web/— Browser playground view modelcmd/graph-*— CLI entry points
See GRAPH.md for the graph.json contract.