How it works
Write. Wire. Deploy.
Define backend logic once. Wire it to any protocol. Deploy everything with one command.
export const sendReminder = pikkuFunc({
title: 'Send a billing reminder',
description: 'Sends an email reminder to a user based on urgency level',
tags: ['billing', 'notifications'],
input: z.object({ userId: z.string(), urgency: z.enum(['low', 'high']) }),
output: z.object({ sent: z.boolean() }),
permissions: { user: isAuthenticated }, // enforced on every surface
mcp: true, // expose as MCP tool
approvalRequired: true, // agent must ask before calling
approvalDescription: async (_s, { userId }) => // shown to user for approval
`Send billing reminder to user ${userId}`,
func: async ({ db, email }, { userId, urgency }) => {
const user = await db.users.find(userId)
await email.send({ to: user.email, template: 'reminder', urgency })
return { sent: true }
},
})
wireHTTP({ method: 'post', route: '/send-reminder', func: sendReminder })
wireQueue({ queue: 'billing-reminders', func: sendReminder })
wireScheduler({ schedule: '0 9 * * *', func: sendReminder })
pikkuAIAgent({
name: 'billing-assistant',
instruction: 'You help users manage billing reminders and invoices.',
tools: [sendReminder],
})
$ pikku deploy
Deploying 12 functions...
+ API /send-reminder → worker
+ Queue billing-reminders → worker
+ Cron daily 09:00 → worker
+ MCP sendReminder → tool
+ Agent billing-assistant → worker
✓ deployed · serverless · production
Deployment
Serverless by default. Servers when you need them.
Fabric deploys each function as a serverless worker. Switch to server mode with one flag — same codebase, same deploy command.
Serverless
Default mode. Each function becomes an independent worker. Scales to zero. Pay only when functions execute.
Server mode
Same project. One flag. Runs on Fastify, Express, or any Node/Bun runtime. Full control when you need it.
Open-source framework
Built on Pikku.
Fabric deploys what Pikku defines. The framework is open-source, runtime-agnostic, and yours to keep — regardless of how you deploy.
End-to-end type safety
Zod schemas, typed services, auto-generated clients. Compile-time guarantees across the stack.
Built-in auth and permissions
Session management, JWT, and role-based access baked into every function invocation.
Auto-generated OpenAPI
API spec stays in sync with your code. Always accurate, never stale.
Any runtime
Fastify, Express, Lambda, Cloudflare Workers, Bun. Same project, your choice.
Zero lock-in
Eject from Fabric anytime. Self-host on any cloud or your own servers. The framework is yours.
Typed clients
Generated HTTP, WebSocket, and RPC clients. No manual typing, no drift.
Pricing
Open Source
Free
forever
The full framework. Self-host anywhere.
Fabric
$20/mo
scales to zero · $0 when idle
Serverless deployment platform.
Enterprise
Custom
annual license
Deploy to your own cloud.
Fabric
Get early access.
Serverless deployment for Pikku. One email when it ships.
The framework is available now.