{"id":"shr_6605da8c4b3c36e17254","title":"Documenso's stack","storedTitle":"documenso Repository README","hidden":false,"shareUrl":"https://staging.leyline.ahensya.com/shares/shr_6605da8c4b3c36e17254","cardUrl":"https://staging.leyline.ahensya.com/shares/shr_6605da8c4b3c36e17254/card.svg","sourceUrl":"https://github.com/documenso/documenso/blob/main/README.md","sourceLabel":"source: github","sourceKind":"readme","method":"pasted-text","publicState":"public","accepted":true,"counting":true,"preview":{"title":"Documenso's stack","description":"19 stack components extracted from the Repository README.","image":"https://staging.leyline.ahensya.com/shares/shr_6605da8c4b3c36e17254/card.svg"},"composition":{"title":"documenso Repository README","summary":"19 stack components extracted from the Repository README.","slots":[{"id":"typescript","name":"TypeScript","role":"Language","roleId":"language","mentionClass":"actual-use","functions":["code"],"fill":"external","why":"README names TypeScript. - [TypeScript](https://www.typescriptlang.org/) - Language","cost":"unknown","weight":1,"url":"https://www.typescriptlang.org/"},{"id":"react-router","name":"React Router","role":"Framework","roleId":"backend","mentionClass":"actual-use","functions":["route","render"],"fill":"external","why":"README names React Router. - [React Router v7](https://reactrouter.com/) - Framework","cost":"unknown","weight":1,"url":"https://reactrouter.com/"},{"id":"hono","name":"Hono","role":"Server","roleId":"backend","mentionClass":"actual-use","functions":["route","connect"],"fill":"external","why":"README names Hono. - [Hono](https://hono.dev/) - Server","cost":"unknown","weight":1,"url":"https://hono.dev/"},{"id":"prisma","name":"Prisma","role":"ORM","roleId":"orm","mentionClass":"actual-use","functions":["store"],"fill":"external","why":"README names Prisma. - [Prisma](https://www.prisma.io/) - ORM","cost":"unknown","weight":1,"url":"https://www.prisma.io/"},{"id":"tailwind","name":"Tailwind CSS","role":"CSS","roleId":"styling","mentionClass":"actual-use","functions":["render"],"fill":"external","why":"README names Tailwind CSS. - [Tailwind CSS](https://tailwindcss.com/) - CSS","cost":"unknown","weight":1,"url":"https://tailwindcss.com/"},{"id":"shadcn","name":"shadcn/ui","role":"Component Library","roleId":"component-library","mentionClass":"actual-use","functions":["render"],"fill":"external","why":"README names shadcn/ui. - [shadcn/ui](https://ui.shadcn.com/) + [Radix UI](https://www.radix-ui.com/) - Component Library","cost":"unknown","weight":1,"url":"https://ui.shadcn.com/"},{"id":"radix","name":"Radix UI","role":"Component Library","roleId":"component-library","mentionClass":"actual-use","functions":["render"],"fill":"external","why":"README names Radix UI. - [shadcn/ui](https://ui.shadcn.com/) + [Radix UI](https://www.radix-ui.com/) - Component Library","cost":"unknown","weight":1,"url":"https://www.radix-ui.com/"},{"id":"react-email","name":"react-email","role":"Email Templates","roleId":"email","mentionClass":"actual-use","functions":["notify"],"fill":"external","why":"README names react-email. - [react-email](https://react.email/) - Email Templates","cost":"unknown","weight":1,"url":"https://react.email/"},{"id":"lingui","name":"Lingui","role":"Internationalization","roleId":"i18n","mentionClass":"actual-use","functions":["translate"],"fill":"external","why":"README names Lingui. - [Lingui](https://lingui.dev/) - Internationalization","cost":"unknown","weight":1,"url":"https://lingui.dev/"},{"id":"trpc","name":"tRPC","role":"API","roleId":"api","mentionClass":"actual-use","functions":["connect"],"fill":"external","why":"README names tRPC. - [tRPC](https://trpc.io/) - API","cost":"unknown","weight":1,"url":"https://trpc.io/"},{"id":"libpdf","name":"@libpdf/core","role":"PDF Signatures","roleId":"pdf","mentionClass":"actual-use","functions":["auth"],"fill":"external","why":"README names @libpdf/core. - [@libpdf/core](https://www.npmjs.com/package/@libpdf/core) - PDF Signatures","cost":"unknown","weight":1,"url":"https://www.npmjs.com/package/@libpdf/core"},{"id":"pdfjs","name":"pdf.js","role":"Viewing PDFs","roleId":"pdf","mentionClass":"actual-use","functions":["render"],"fill":"external","why":"README names pdf.js. - [pdf.js](https://mozilla.github.io/pdf.js/) - Viewing PDFs","cost":"unknown","weight":1,"url":"https://mozilla.github.io/pdf.js/"},{"id":"pdf-lib","name":"@cantoo/pdf-lib","role":"PDF manipulation","roleId":"pdf","mentionClass":"actual-use","functions":["transform"],"fill":"external","why":"README names @cantoo/pdf-lib. - [@cantoo/pdf-lib](https://github.com/cantoo-scribe/pdf-lib) - PDF manipulation","cost":"unknown","weight":1,"url":"https://github.com/cantoo-scribe/pdf-lib"},{"id":"stripe","name":"Stripe","role":"Payments","roleId":"payment","mentionClass":"actual-use","functions":["payment"],"fill":"external","why":"README names Stripe. - [Stripe](https://stripe.com/) - Payments","cost":"unknown","weight":1,"url":"https://stripe.com/"},{"id":"biome","name":"Biome","role":"Linting & Formatting","roleId":"lint","mentionClass":"actual-use","functions":["code"],"fill":"external","why":"README names Biome. - [Biome](https://biomejs.dev/) - Linting & Formatting","cost":"unknown","weight":1,"url":"https://biomejs.dev/"},{"id":"playwright","name":"Playwright","role":"E2E Testing","roleId":"test","mentionClass":"actual-use","functions":["browser","test"],"fill":"catalogue","why":"README names Playwright. - [Playwright](https://playwright.dev/) - E2E Testing","cost":"unknown","weight":1,"slug":"playwright","url":"https://playwright.dev/"},{"id":"node","name":"Node.js","role":"Runtime","roleId":"runtime","mentionClass":"actual-use","functions":["deploy"],"fill":"external","why":"README names Node.js. - Node.js (v24 or above)","cost":"unknown","weight":1},{"id":"postgresql","name":"PostgreSQL","role":"Database","roleId":"database","mentionClass":"actual-use","functions":["store"],"fill":"external","why":"README names PostgreSQL. - Postgres SQL Database","cost":"unknown","weight":1},{"id":"docker","name":"Docker","role":"Local run","roleId":"hosting","mentionClass":"dependency-only","functions":["deploy"],"fill":"external","why":"README names Docker. - Docker (optional)","cost":"unknown","weight":1}],"assumptions":["Parsed slot weight is 1. The source did not state centrality, and this weight is not a Score.","Parsed slot cost is unknown. The source did not state a price."],"gaps":["A planned mention was not slotted.","A requirements line says optional."]}}