Graplix
February 20, 2026 ยท View on GitHub
Graplix is a TypeScript-first toolkit for modeling and evaluating ReBAC (Relation-Based Access Control).
- Define authorization relationships with
.graplixschema files. - Parse and validate schemas with language tooling.
- Evaluate permissions at runtime with resolver-driven engine APIs.
- Generate typed helpers and runtime wrappers with codegen.
- Use VS Code language support for authoring and navigation.
Packages
@graplix/language
Langium-based parser and language services for Graplix schemas.
- Parses
.graplixdocuments and returns diagnostics. - Exposes language services used by runtime/codegen/extension.
- README:
packages/language/README.md
@graplix/engine
Runtime evaluator for schema-defined relations.
buildEngine(options)โ async factory, validates schema eagerly.engine.check(query)for boolean authorization checks.engine.explain(query)for traversed relation edges and matched path.- README:
packages/engine/README.md
@graplix/codegen
TypeScript generator for Graplix schemas.
- Generates typed helpers from
.graplixinput. - Run from npm with
npx @graplix/codegen. - Supports mapper configuration and config-file discovery.
- README:
packages/codegen/README.md
graplix-vscode-extension
VS Code extension package for Graplix language support.
- Syntax highlighting and language registration.
- Language server client/server bootstrap.
- README:
packages/vscode-extension/README.md
Monorepo Commands
From the repository root:
yarn build
yarn format
Package-level commands are documented in each package README.
Repository Layout
packages/languagepackages/enginepackages/codegenpackages/vscode-extension.tech-specs(implementation specs and plans)