next-forge is a monorepo, which means it contains multiple packages in a single repository. This is a common pattern for modern web applications, as it allows you to share code between different parts of the application, and manage them all together.

The monorepo is managed by Turborepo, which is a tool for managing monorepos. It provides a simple way to manage multiple packages in a single repository, and is designed to work with modern web applications.

The monorepo contains the following apps:

AppDescriptionURL
adf-validatorThe ADF validator, which helps validate Atlassian Document Format (ADF) schemas.-
apiThe API, which contains serverless functions designed to run separately from the main app e.g. webhooks and cron jobs.localhost:3004
appThe main, which contains the Next.js app.localhost:3000
docsThe documentation, which contains the documentation for the app e.g. guides and tutorials.localhost:3006
emailThe email templates preview server, powered by react-email.localhost:3003
portalThe customer-facing portal.localhost:3001
studioPrisma Studio, which is used to visually edit the local database.localhost:5005
webThe website, which contains the static website for the app e.g. marketing pages and legal docs.localhost:3002
widgetThe embeddable Eververse widget.localhost:3005

It also contains the following packages:

PackageDescription
aiThe AI library, which contains the AI provider for the app.
analyticsThe analytics library, including Vercel Analytics, PostHog and Google Analytics.
atlassianAn OpenAPI client for the Atlassian API.
backendThe backend powered by Supabase, containing the database and auth system.
cannyThe Canny API client.
canvasThe Excalidraw canvas.
design-systemThe design system, powered by shadcn/ui.
editorThe rich text editor, powered by Novel and TipTap.
eleven-labsThe Eleven Labs API client for generating voice from text.
emailThe email provider and templates, powered by Resend and react-email.
githubThe GitHub API client (Octokit).
libVarious utility functions and types.
linearThe Linear API client.
next-configShared Next.js configuration for the apps.
observabilityThe observability library, including Sentry and BetterStack.
paymentsThe payments library, powered by Stripe.
productboardThe Productboard API client.
seoUtility functions for SEO.
slackThe Slack API client.
tailwind-configThe Tailwind configuration, which contains the shared Tailwind configuration for the app.
typescript-configThe TypeScript configuration, which contains the shared TypeScript configuration for the app.
widgetThe core functionality for the embeddable Eververse widget.