Generate One frontend monorepo — Next.js 15 + Turborepo
  • TypeScript 98.4%
  • CSS 1.3%
  • Dockerfile 0.2%
Find a file
2026-03-27 23:42:00 -04:00
.auto-claude/specs auto-claude: Merge auto-claude/038-namespace-landing-pages 2026-03-27 21:54:46 -04:00
apps auto-claude: subtask-2-1 - Update blog post content typography 2026-03-27 23:11:56 -04:00
packages auto-claude: subtask-1-1 - Remove default header from timeline component 2026-03-27 18:56:29 -04:00
.auto-claude-allowlist auto-claude: subtask-4-1 - Full build verification passed 2026-03-24 18:23:20 -04:00
.auto-claude-security.json auto-claude: subtask-4-1 - Full build verification passed 2026-03-24 18:23:20 -04:00
.claude auto-claude: subtask-4-1 - Full build verification passed 2026-03-24 18:23:20 -04:00
.env.example Add .env.example 2026-03-05 05:46:04 +00:00
.gitignore chore: commit pending Aperant state updates and gitignore addition 2026-03-27 21:52:25 -04:00
accessibility-test-results.md auto-claude: subtask-6-1 - Comprehensive keyboard navigation testing 2026-03-26 16:52:18 -04:00
CLAUDE.md Add CLAUDE.md 2026-03-05 05:46:08 +00:00
docker-compose.yml fix: remove web service from compose — Traefik routing conflict 2026-03-11 02:15:36 +00:00
package-lock.json fix: resolve JSX namespace error and sync package-lock.json for builds 2026-03-27 17:14:25 +00:00
package.json Initial scaffold: root package.json 2026-03-05 05:45:46 +00:00
README.md docs: premium README overhaul 2026-03-22 06:13:43 +00:00
screen-reader-test-guide.md auto-claude: subtask-6-2 - Screen reader testing (NVDA/JAWS/VoiceOver) 2026-03-26 17:01:02 -04:00
screen-reader-verification.md auto-claude: subtask-6-2 - Screen reader testing (NVDA/JAWS/VoiceOver) 2026-03-26 17:01:02 -04:00
tsconfig.json Add tsconfig.json 2026-03-05 05:45:55 +00:00
turbo.json Add turbo.json 2026-03-05 05:45:51 +00:00
vitest.config.mjs auto-claude: subtask-3-1 - Add unit tests for EditableGrid component 2026-03-24 18:12:50 -04:00
wcag-compliance-report.md auto-claude: subtask-6-3 - Final WCAG AA compliance verification 2026-03-26 17:05:05 -04:00

g1-frontend 🖥️

Three Next.js apps, one monorepo — the complete web surface of Generate One, from marketing to admin.

Status License Platform Next.js TypeScript Turborepo Docker


Overview

g1-frontend is the Turborepo monorepo for all Generate One web surfaces. It contains three Next.js applications (marketing site, user-facing app, admin dashboard) and shared packages for auth, UI components, Directus CMS integration, and billing. Apps are built as standalone Docker containers and served behind Traefik with Let's Encrypt TLS.


🏗️ Architecture

graph TD
    subgraph "Turborepo Monorepo"
        subgraph "apps/"
            Web["apps/web\ngenerateone\nMarketing site"]
            App["apps/app\napp.generate.one\nUser app"]
            Admin["apps/admin\nadmin.generate.one\nAdmin dashboard"]
        end

        subgraph "packages/"
            PkgAuth["packages/auth\nBetter Auth + Authentik OIDC"]
            PkgUI["packages/ui\nShared UI components"]
            PkgRefine["packages/refine-directus\nRefine.dev data provider"]
            PkgPayments["packages/payments\nLago billing integration"]
        end

        App --> PkgAuth
        Admin --> PkgAuth
        Admin --> PkgRefine
        App --> PkgUI
        Admin --> PkgUI
        App --> PkgPayments
    end

    subgraph "External Dependencies"
        AgentAPI["g1-agent-backend\nagent.generate.one"]
        Directus["g1-brain / Directus\ncms.generate.one"]
        Authentik["g1-auth / Authentik\nauth.generate.one"]
    end

    App --> AgentAPI
    Admin --> Directus
    App --> Authentik
    Admin --> Authentik

📱 Apps

App Domain Container Description
apps/web generate.one Coolify app (separate) Public marketing and landing site
apps/app app.generate.one g1-app User-facing app — chat, knowledge, tools
apps/admin admin.generate.one g1-admin Admin dashboard (Refine.dev + Directus)

📦 Packages

Package Description
packages/auth Better Auth v1 with genericOAuth plugin → Authentik OIDC (PKCE)
packages/ui Shared UI component library (Tailwind CSS)
packages/refine-directus Refine.dev data provider for Directus CMS backend
packages/payments Lago billing integration

🔧 Stack

Layer Technology
Framework Next.js (standalone output for Docker)
Monorepo Turborepo + npm workspaces
Auth Better Auth v1 + genericOAuth → Authentik OIDC
Admin UI Refine.dev + Directus CMS backend
Styling Tailwind CSS
Language TypeScript 5
Build Docker multi-stage (standalone Next.js)
Node >=20.0.0

🔧 Configuration

Key environment variables (see .env.example):

Variable Description App
BETTER_AUTH_SECRET Auth encryption secret app, admin
BETTER_AUTH_URL Auth callback base URL app, admin
OIDC_CLIENT_ID / OIDC_CLIENT_SECRET Authentik OIDC credentials app, admin
DATABASE_URL PostgreSQL for Better Auth sessions (g1_auth DB) app, admin
NEXT_PUBLIC_AI_API_URL Agent backend URL (https://agent.generate.one) app
NEXT_PUBLIC_DIRECTUS_URL Directus CMS URL (https://cms.generate.one) admin

🚀 Quick Start

# Install dependencies
npm install

# Start all apps in dev mode
npm run dev

# Build all apps (used by Docker)
npm run build

# Lint all apps
npm run lint

Docker (production)

# Build app container (from monorepo root)
docker build -f apps/app/Dockerfile \
  --build-arg NEXT_PUBLIC_AUTH_URL=https://app.generate.one \
  --build-arg NEXT_PUBLIC_AI_API_URL=https://agent.generate.one \
  -t g1-app:latest .

# Build admin container
docker build -f apps/admin/Dockerfile \
  --build-arg NEXT_PUBLIC_AUTH_URL=https://admin.generate.one \
  --build-arg NEXT_PUBLIC_DIRECTUS_URL=https://cms.generate.one \
  -t g1-admin:latest .

# Run via compose
docker compose up -d

Both app and admin services listen on port 3000 internally, routed by Traefik labels.


🔗 Dependencies

Depends on:

  • g1-agent-backend — Streaming agent API consumed by apps/app
  • g1-brain (Directus) — CMS backend for apps/admin (Refine.dev data provider)
  • g1-auth (Authentik) — SSO OIDC provider for all apps
  • g1-core — PostgreSQL g1_auth database for Better Auth sessions

Depended on by:

  • End users via app.generate.one and admin.generate.one

Repo Relationship
g1-agent-backend Python agent API consumed by apps/app
g1-state Directus CMS backend for admin dashboard
g1-auth Authentik SSO provider
g1-core Shared PostgreSQL for auth sessions

🛡️ Part of Generate One

Generate One — AI infrastructure that answers to you.

Self-hosted, sovereign AI platform. generate.one

Licensed under AGPL-3.0.