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.
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
Runtime evaluator for schema-defined relations.
check(query)for boolean authorization checks.explain(query)for traversed relation edges and matched path.- README:
packages/engine/README.md
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
VS Code extension package for Graplix language support.
- Syntax highlighting and language registration.
- Language server client/server bootstrap.
- README:
packages/vscode-extension/README.md
From the repository root:
yarn build
yarn formatPackage-level commands are documented in each package README.
packages/languagepackages/enginepackages/codegenpackages/vscode-extension.tech-specs(implementation specs and plans)