@permify-toolkit/core
v1.1.0
Published
The ultimate TypeScript engine for Permify: Type-safe schema DSL, simplified client, and shared configuration.
Maintainers
Readme
@permify-toolkit/core
Type-safe schema DSL, client factory, and permission/relationship helpers for Permify.
Installation
pnpm add @permify-toolkit/coreQuick Example
import {
schema,
entity,
relation,
permission,
defineConfig
} from "@permify-toolkit/core";
export default defineConfig({
tenant: "t1",
client: { endpoint: "localhost:3478", insecure: true },
schema: schema({
user: entity({}),
document: entity({
relations: { owner: relation("user"), editor: relation("user") },
permissions: {
edit: permission("owner", "editor"),
view: permission("owner", "editor")
}
})
})
});import { createPermifyClient, checkPermission } from "@permify-toolkit/core";
const client = createPermifyClient({
endpoint: "localhost:3478",
insecure: true
});
const { allowed } = await checkPermission(client, {
tenantId: "t1",
entity: { type: "document", id: "doc-1" },
permission: "view",
subject: { type: "user", id: "user-123" }
});Features
- Type-Safe Schema DSL — define entities, relations, and permissions with full IDE autocomplete
- Client Factory — create gRPC clients from code or environment variables
- Permission Checks — simplified
checkPermission()single-function calls - Relationship Management —
writeRelationships()anddeleteRelationships()helpers - Shared Config —
permify.config.tspowers your app, CLI, and NestJS module
Documentation
For full documentation, guides, and API reference, visit the Permify Toolkit Docs.
