{
  "$schema": "https://cleenui.com/.well-known/tech-stack.schema.json",
  "name": "CleenUI Full-Stack",
  "description": "Machine-readable manifest of the exact frameworks, languages, runtimes, and versions shipping in the CleenUI Full-Stack codebase. Maintained as a stable companion to the human-readable /stack page so coding agents resolving 'what versions does CleenUI use' can fetch a single structured document.",
  "humanReadableUrl": "https://cleenui.com/stack",
  "updatedAt": "2026-05-22",
  "frontend": {
    "framework": {
      "name": "React",
      "version": "18.3.x",
      "language": "JavaScript / JSX"
    },
    "router": {
      "name": "React Router",
      "version": "6.x"
    },
    "buildTool": {
      "name": "Vite",
      "version": "4.x",
      "note": "Pinned to Vite 4 for Node 16 compatibility; the licensed Codebase is Node 18+ and ships Vite 5."
    },
    "styling": {
      "approach": "Design tokens + plain CSS modules",
      "darkMode": "data-theme attribute swap"
    },
    "componentLibrary": {
      "name": "CleenUI Pro",
      "components": 61,
      "categories": 12
    },
    "ssr": false,
    "spa": true
  },
  "api": {
    "framework": {
      "name": "ASP.NET Core",
      "version": "8.0.x",
      "language": "C#",
      "runtime": ".NET 8"
    },
    "endpoints": 524,
    "openApiSpec": "https://cleenui.com/postman",
    "auth": {
      "provider": "Auth0",
      "tokenFormat": "JWT",
      "features": ["OIDC", "Social login", "MFA"]
    }
  },
  "database": {
    "primary": {
      "name": "Azure SQL Database",
      "compatibleWith": "Microsoft SQL Server 2022",
      "version": "Azure SQL Database (managed)"
    },
    "tables": 300,
    "storedProcedures": 700,
    "orm": {
      "primary": {
        "name": "Entity Framework Core",
        "version": "8.0.x"
      },
      "secondary": {
        "name": "Dapper",
        "use": "Hot paths and projections"
      }
    },
    "patterns": [
      "40+ generic entity types",
      "Dynamic translations",
      "Soft-delete + versioning",
      "Audit history",
      "Row-level access control"
    ]
  },
  "backgroundServices": {
    "framework": "Azure WebJobs + Azure Functions",
    "runtime": ".NET 8",
    "solution": "12-project Visual Studio solution",
    "patterns": [
      "Translation queue",
      "Media safety scanning",
      "Video encoding",
      "Thumbnail generation",
      "LLM abstraction layer"
    ]
  },
  "caching": {
    "layers": ["In-memory (L1)", "Redis (L2)"],
    "isolation": "Per-tenant cache keys",
    "invalidation": "Automatic on entity writes"
  },
  "ai": {
    "abstractions": ["OpenAI", "Anthropic", "Azure OpenAI"],
    "module": "M09 — AI ops",
    "agentIntegration": {
      "protocol": "MCP (Model Context Protocol)",
      "skills": ["Setup", "Builder", "Theme"],
      "supportedAgents": ["Claude Code", "Cursor", "Windsurf", "GitHub Copilot"]
    }
  },
  "infrastructure": {
    "hosting": "Microsoft Azure",
    "deployment": "CI/CD with deploy-by-branch conventions",
    "monitoring": "Application Insights (configurable)"
  },
  "documentation": {
    "storybook": "https://storybook.cleenui.com",
    "openApi": "https://cleenui.com/postman",
    "modules": "https://cleenui.com/modules",
    "codebase": "https://cleenui.com/codebase"
  },
  "modules": [
    { "code": "M01", "name": "Auth & access" },
    { "code": "M02", "name": "Accounts" },
    { "code": "M03", "name": "Support tickets & knowledge base" },
    { "code": "M04", "name": "Infrastructure & Logging" },
    { "code": "M05", "name": "Translation & Languages" },
    { "code": "M06", "name": "Notifications (SMS, email, push)" },
    { "code": "M07", "name": "Messaging (threaded)" },
    { "code": "M08", "name": "Tasks (project-agnostic)" },
    { "code": "M09", "name": "AI ops (LLM abstraction)" },
    { "code": "M10", "name": "Fonts & licensing" },
    { "code": "M11", "name": "Legal & compliance" },
    { "code": "M12", "name": "Categories & Topics" },
    { "code": "M13", "name": "Assessments / Surveys" },
    { "code": "M14", "name": "Marketplace" }
  ],
  "license": {
    "model": "Licensed source code (one-time, not subscription)",
    "delivery": "Private GitHub mirror",
    "ownership": "Source is yours forever after purchase"
  }
}
