@stratal/framework
v0.0.10
Published
Authentication, database ORM, RBAC, guards, and test factories for [Stratal](https://github.com/strataljs/stratal) applications.
Downloads
642
Readme
@stratal/framework
Authentication, database ORM, RBAC, guards, and test factories for Stratal applications.
Modules
- AuthModule — Better Auth integration with session management and middleware
- DatabaseModule — ZenStack ORM with support for multiple named connections
- RbacModule — Casbin-based role-based access control with ZenStack policy adapter
- AuthGuard — Authentication and scoped authorization guard for route protection
- AuthContext — Request-scoped user context for accessing the authenticated user
- Factory — Test data factories with sequenced attributes powered by Faker.js
Installation
npm install @stratal/framework
# or
yarn add @stratal/frameworkPeer dependencies
| Package | Required |
|---|---|
| stratal | Yes |
| @zenstackhq/orm | Yes |
| pg | Yes |
| better-auth | No — needed for AuthModule |
| @better-auth/core | No — needed for AuthModule |
| @zenstackhq/better-auth | No — needed for AuthModule |
| casbin | No — needed for RbacModule |
| @faker-js/faker | No — needed for Factory |
AI Agent Skills
Stratal provides Agent Skills for AI coding assistants like Claude Code and Cursor. Install to give your AI agent knowledge of Stratal patterns, conventions, and APIs:
npx skills add strataljs/stratalQuick Start
import { Stratal } from 'stratal'
import { Module } from 'stratal/module'
import { AuthModule } from '@stratal/framework/auth'
import { DatabaseModule } from '@stratal/framework/database'
import { RbacModule } from '@stratal/framework/rbac'
@Module({
imports: [
DatabaseModule.forRoot({
connections: [{ name: 'default', connectionString: 'DATABASE_URL' }],
}),
AuthModule.forRootAsync({
inject: [],
useFactory: () => ({ /* Better Auth options */ }),
}),
RbacModule.forRoot({ model: MODEL }),
],
})
class AppModule {}
export default new Stratal({ module: AppModule })Documentation
Full guides and examples are available at stratal.dev.
License
MIT
