Here is a concise overview of this repository.
What it is
Documenso (v2.8.1) is an open-source electronic document signing product: create/send documents, collect signatures, and handle PDF workflows. The repo is a TypeScript monorepo using npm workspaces and Turborepo, with Node ≥ 22 and npm ≥ 10.7.
Applications (apps/)
| App | Role |
|---|
@documenso/remix | Main product: React Router v7 (Remix-style) UI on a Hono server, default dev on port 3000. |
@documenso/docs | Documentation site (Next.js / Nextra per ARCHITECTURE.md). |
@documenso/openpage-api | Public analytics API. |
Root scripts compile Lingui translations, then run turbo run dev --filter=@documenso/remix for local dev. There is a dx flow: install, Docker Compose up, Prisma migrate + seed.
Packages (packages/)
Shared libraries sit behind the Remix app:
@documenso/lib — core business logic (split for server/client/universal use).
@documenso/trpc — tRPC API (current public API surface, OpenAPI-related tooling).
@documenso/api — ts-rest REST layer (API v1, deprecated but kept).
@documenso/prisma — PostgreSQL via Prisma (and Kysely extensions).
@documenso/ui — Tailwind, Radix, shadcn-style components.
@documenso/auth — OAuth (Arctic), WebAuthn / passkeys.
@documenso/email — React Email + mail transport.
@documenso/signing — PDF signing (@libpdf/core, local P12 or Google Cloud KMS).
@documenso/ee — enterprise-only behavior.
@documenso/app-tests — Playwright E2E tests.
The architecture doc maps the Remix/Hono app to routes like /api/v1/* (ts-rest), /api/v2/* (tRPC), /api/trpc/*, and /api/jobs/* for background work (Inngest or local jobs). Storage is S3-compatible (or DB-backed depending on config).
Notable tooling
- Vite for builds, patch-package for dependency patches.
- ESLint / Prettier / Husky / commitlint for consistency.
- Crowdin + Lingui for i18n.
For a deeper walkthrough (API versions, jobs, signing transports), the repo’s own guide is ARCHITECTURE.md at the project root. If you want detail on one area (e.g. envelopes vs documents, or how signing is wired), say which part and we can zoom in on those folders.