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/adminis deprecated — no new development, kept only untilapps/consoleabsorbs the platform level, then deleted.apps/portalis 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
| Aspect | Detail |
|---|---|
| Package | @tedos/admin (apps/admin/package.json), private Next 16 / React 19 app |
| Purpose | Operator runs the business + builder plans and ships client work; also hosts the student aula and the plans viewer |
| Auth | Clerk (@clerk/nextjs); gate in apps/admin/src/proxy.ts (Next 16 proxy convention) — config.matcher an inline literal kept in sync with @tedos/auth |
| Design | Cian matiz — neutral foundation + Cian accent used sparingly (links, live data, active state); Azafrán is brand-only |
| Data | Reads the API through the typed @tedos/api-client seam (no per-app fetcher) |
| Plans | MDX plans render in-app via next-mdx-remote + gray-matter (plans live in admin, not a separate app) |
| Model | Direct @anthropic-ai/sdk for in-app Claude features (research, builder) |
Surface / routes (App Router)
| Segment | Role |
|---|---|
(shell)/inicio, projects, finanzas, research, pipeline, infra, organization, perfil | The 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/notificaciones | Settings — members, notifications |
(alumno)/aula/[projectId] + courses, certificates, invoice | The student aula — a client/learner surface (courses, certificates, invoices) |
onboarding | First-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
comprenderapp and the operator-scopedconsole.