Saltar al contenido principal

apps/admin — the operator + builder console

:::note Contenido en inglés Esta página del wiki se sincroniza desde la base de conocimiento en inglés y todavía no está traducida. :::

historical · frontend · updated 2026-09-05 · source

FROZEN (ADR-017, 2026-08-31). apps/admin is deprecated — no new development, kept only until apps/console absorbs the platform level, then deleted. apps/portal is now the primary tenant surface. This doc describes admin's architecture as it stood before the freeze; treat it as historical context for a rare one-off touch, not a guide for new work.

@tedos/admin (apps/admin/) is the fleet's operator and builder surface: the Clerk-protected Next 16 / React 19 app where the operator runs the business and a builder plans + ships client work. It is the Cian skin of the design system — neutral Lino + Tinta foundation with Cian as the single accent, used sparingly — alongside console (Amber), chat (ink), and comprender (white-label). It is the richest app in the monorepo: an operator/builder (shell), a student (alumno) aula, onboarding, and the in-app plans viewer. Production: app.tuempresa.digital.

See the system map in orientation.md; the visual rules live in admin-design-system.md (Cian is reserved here; Azafrán never appears in the admin — color-scope).

What it is

AspectDetail
Package@tedos/admin (apps/admin/package.json), private Next 16 / React 19 app
PurposeOperator runs the business + builder plans and ships client work; also hosts the student aula and the plans viewer
AuthClerk (@clerk/nextjs); gate in apps/admin/src/proxy.ts (Next 16 proxy convention) — config.matcher an inline literal kept in sync with @tedos/auth
DesignCian matiz — neutral foundation + Cian accent used sparingly (links, live data, active state); Azafrán is brand-only
DataReads the API through the typed @tedos/api-client seam (no per-app fetcher)
PlansMDX plans render in-app via next-mdx-remote + gray-matter (plans live in admin, not a separate app)
ModelDirect @anthropic-ai/sdk for in-app Claude features (research, builder)

Surface / routes (App Router)

SegmentRole
(shell)/inicio, projects, finanzas, research, pipeline, infra, organization, perfilThe operator/builder shell — home, project pipeline, finance, research, infra, org + profile
(shell)/builder/{roadmap,plan,my-work}Builder workspace — roadmap, plan viewer, assigned work
(shell)/config, config/miembros, config/notificacionesSettings — members, notifications
(alumno)/aula/[projectId] + courses, certificates, invoiceThe student aula — a client/learner surface (courses, certificates, invoices)
onboardingFirst-run org/onboarding flow
sign-in/[[...sign-in]]Prebuilt Clerk <SignIn/> on the shared instance
api/*Route handlers (Claude features, server actions)

Boundaries

  • Admin owns the admin skin. Admin-only primitives (@tedos/ui/admin/*) never leave this app; no other app imports them (ADR-012 app-import-boundaries).
  • Shared logic → @tedos/core; shared UI → @tedos/ui. Admin imports generics straight from @tedos/ui (no middle barrel, #1072).
  • Operator-facing, not client-facing. Client surfaces are the white-label comprender app and the operator-scoped console.