npm install @trailbase/sdkimport { Hono } from 'hono';
import { TrailbaseClient } from '@trailbase/sdk';
const app = new Hono();
const trailbase = new TrailbaseClient({
apiKey: process.env.TRAILBASE_API_KEY!,
region: 'us-east-1',
});Hono's middleware runs on edge runtimes like Cloudflare Workers. The Trailbase SDK uses standard fetch, so it works across all Hono deployment targets.
// Middleware for automatic logging
app.use('*', async (c, next) => {
await next();
trailbase.track(`api.${c.req.method.toLowerCase()}`, {
actor: c.get('userId'),
metadata: { path: c.req.path, status: c.res.status },
});
});
// Manual tracking in routes
app.post('/api/teams/:id/members', async (c) => {
const { memberId } = await c.req.json();
await trailbase.track('team.member.add', {
actor: c.get('userId'),
target: c.req.param('id'),
metadata: { memberId },
});
return c.json({ success: true });
});app.get('/api/audit', async (c) => {
const events = await trailbase.search({
actor: c.req.query('userId'),
});
return c.json(events);
});Join the waitlist for early access. Five-minute setup, no infrastructure changes.
Get Early Access