Skip to content

Porulle

Headless commerce for TypeScript. Self-host. Own the stack.

Porulle (pronounced poh-ROO-leh) is a TypeScript-first headless commerce framework. Install it into any TypeScript project, point it at PostgreSQL, and you have a hardened REST API in minutes.

Terminal window
bunx @porulle/cli init my-store
cd my-store && bun install && bun run db:push && bun run dev

The API is live at http://localhost:4000. The OpenAPI explorer is at /api/reference.


Get Started

Introduction — what Porulle is and who it is for.

Install — prerequisites, packages, database setup.

Quickstart — a working commerce API in five minutes.

Extending Porulle

Hooks — intercept any operation with before/after handlers.

Custom Tables — add app-level Drizzle tables to the org-scoped schema.

Payment Adapter — implement the contract for any payment rail.

Frontend Integration

Next.js — Hono mounted in a route handler.

TanStack Start — server functions calling LocalAPI in-process.

Typed SDK Client@porulle/sdk + React Query bindings.

Running in Production

Deploy — Bun, Node.js, Cloudflare Workers, Fly.io.

Multi-Tenancy — B2C single-storefront vs B2B multi-tenant.

Webhooks and Audit — signed delivery + idempotency.


Status: v0.1.0 alpha. The REST API, multi-tenant kernel, plugin contract, and adapter contracts are stable. Agent-native primitives (principal model, multi-protocol gateway) are Phase 2. See the Security Model for the full threat model and Phase 2 roadmap.