Scripts (CLI)
Los scripts del repo, agrupados por propósito. Los de scripts/admin/ y
scripts/pilot/ (modo prod) escriben en producción; los de scripts/qa/ son
emulator-only (tienen candado contra prod).
⚠️
Los scripts de admin usan Application Default Credentials (ADC). Si dan
invalid_grant: gcloud auth application-default login.
Administración de producción — scripts/admin/
| Script | Qué hace | Variables |
|---|---|---|
bootstrap-prod-admin.mjs | crea org + primer admin en prod | ADMIN_EMAIL, ORG_ID, ORG_NAME, ADMIN_PASSWORD?, --confirm |
add-org-member.mjs | agrega editor/operator/viewer a una org existente | MEMBER_EMAIL, ORG_ID, ROLE, MEMBER_PASSWORD?, --confirm |
Configuración de casos — scripts/pilot/
| Script | Qué hace |
|---|---|
load-config.mjs | carga un template (Ontología+Actions+DataSources) por las callables; emulador o prod (--confirm-prod) |
prod-smoke.mjs | smoke de un caso ya cargado (crea objetos + ejecuta una Action + verifica) |
e2e-pilot.mjs | E2E del piloto de referencia contra el emulador (ingesta CSV + acciones + asserts) |
reference-pilot.json | el template del caso de referencia (Operaciones de Soporte) |
Variables del loader (prod): AUTH_BASE, FUNCTIONS_BASE, SEED_API_KEY,
SEED_EMAIL, SEED_PASSWORD, SEED_ORG_ID, TEMPLATE.
QA local (emulador) — scripts/qa/
| Comando | Qué hace |
|---|---|
pnpm seed:emulator | crea admin (admin@demo.test) + org org-demo en el emulador |
pnpm seed:ontology | siembra una ontología de ejemplo (Agente, Ticket) por callables |
pnpm seed:objects | siembra objetos de ejemplo |
node scripts/qa/approve-test-user.mjs <uid> | activa un usuario invited → active (QA) |
node scripts/qa/create-other-org.mjs | crea una org aislada para testear multi-tenant |
Nunca corras los de scripts/qa/ contra prod: hardcodean el emulator host y
bypassan las Security Rules vía Admin SDK.
Tareas de monorepo (raíz)
| Comando | Qué hace |
|---|---|
pnpm -r typecheck | typecheck de los 4 proyectos |
pnpm -r test | tests (unit; integration/rules necesitan el emulador) |
pnpm emulators | build de functions + suite de emuladores |
pnpm --filter @mentat/web build | build de la app (static export) |
pnpm --filter @mentat/docs build | build de estos docs |