Installation
Install the package
Section titled “Install the package”npm install @usebetterdev/auditpnpm add @usebetterdev/audityarn add @usebetterdev/auditbun add @usebetterdev/auditThe main package (@usebetterdev/audit) includes the core library and all adapters via subpath exports. The CLI (@usebetterdev/audit-cli) is used via npx for generating migrations and managing audit data — no installation required.
Peer dependencies
Section titled “Peer dependencies”You need a database driver and (optionally) a framework. Install the ones you use:
ORM adapter
Section titled “ORM adapter”npm install drizzle-orm pgimport { drizzleAuditAdapter, withAuditProxy } from "@usebetterdev/audit/drizzle";npm install drizzle-orm postgresimport { drizzleAuditAdapter, withAuditProxy } from "@usebetterdev/audit/drizzle";npm install drizzle-orm better-sqlite3import { drizzleAuditAdapter, withAuditProxy } from "@usebetterdev/audit/drizzle";npm install @prisma/clientRequires @prisma/client >= 5.0.0.
import { prismaAuditAdapter, withAuditExtension } from "@usebetterdev/audit/prisma";Framework adapter
Section titled “Framework adapter”npm install honoRequires hono >= 4.
import { betterAuditHono } from "@usebetterdev/audit/hono";npm install expressRequires express >= 4.
import { betterAuditExpress } from "@usebetterdev/audit/express";npm install nextRequires next >= 14.
import { createAuditMiddleware, withAuditRoute, withAudit } from "@usebetterdev/audit/next";Requirements
Section titled “Requirements”- Node.js 22+ (also supports Bun and Deno)
- PostgreSQL 13+, MySQL, or SQLite
- TypeScript 5+ (recommended, but not required)
Subpath exports
Section titled “Subpath exports”All adapters are available through the umbrella package via subpath exports:
import { betterAudit, getAuditContext, fromBearerToken, fromHeader, fromCookie } from "@usebetterdev/audit";import { drizzleAuditAdapter, withAuditProxy, auditLogs } from "@usebetterdev/audit/drizzle";import { prismaAuditAdapter, withAuditExtension } from "@usebetterdev/audit/prisma";import { betterAuditHono } from "@usebetterdev/audit/hono";import { betterAuditExpress } from "@usebetterdev/audit/express";import { createAuditMiddleware, withAuditRoute, withAudit, AUDIT_ACTOR_HEADER } from "@usebetterdev/audit/next";Next steps
Section titled “Next steps”- Quick Start — wire up audit logging in your app