Documentación de Mentat — en evolución continua.
ReferenciaScripts (CLI)

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/

ScriptQué haceVariables
bootstrap-prod-admin.mjscrea org + primer admin en prodADMIN_EMAIL, ORG_ID, ORG_NAME, ADMIN_PASSWORD?, --confirm
add-org-member.mjsagrega editor/operator/viewer a una org existenteMEMBER_EMAIL, ORG_ID, ROLE, MEMBER_PASSWORD?, --confirm

Configuración de casos — scripts/pilot/

ScriptQué hace
load-config.mjscarga un template (Ontología+Actions+DataSources) por las callables; emulador o prod (--confirm-prod)
prod-smoke.mjssmoke de un caso ya cargado (crea objetos + ejecuta una Action + verifica)
e2e-pilot.mjsE2E del piloto de referencia contra el emulador (ingesta CSV + acciones + asserts)
reference-pilot.jsonel 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/

ComandoQué hace
pnpm seed:emulatorcrea admin (admin@demo.test) + org org-demo en el emulador
pnpm seed:ontologysiembra una ontología de ejemplo (Agente, Ticket) por callables
pnpm seed:objectssiembra objetos de ejemplo
node scripts/qa/approve-test-user.mjs <uid>activa un usuario invited → active (QA)
node scripts/qa/create-other-org.mjscrea 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)

ComandoQué hace
pnpm -r typechecktypecheck de los 4 proyectos
pnpm -r testtests (unit; integration/rules necesitan el emulador)
pnpm emulatorsbuild de functions + suite de emuladores
pnpm --filter @mentat/web buildbuild de la app (static export)
pnpm --filter @mentat/docs buildbuild de estos docs