Spraxium logoSpraxium

Campos principales

Una referencia para cada campo de nivel superior disponible en spraxium.config.ts. Aprende la finalidad, el valor predeterminado y el alcance previsto de cada campo antes de configurarlo.

Referencia del tipo raíz

El objeto pasado a defineConfig debe satisfacer SpraxiumCoreConfig. Todos los campos son opcionales; cuando se omiten, el framework aplica un valor predeterminado razonable. La tabla de abajo cubre todas las claves de nivel superior.

CampoTipoPredeterminadoFinalidad
debugbooleanfalse

Aumenta la verbosidad diagnóstica en todos los subsistemas.

loggerSpraxiumLoggerConfigPredeterminados integrados

Controla la salida de logs, el enmascarado de tokens, el trazado de comandos y el transporte a Discord.

pluginsSpraxiumPlugin[]Lista vacía

Entradas tipadas producidas por helpers de factory como defineHttp y defineSchedule.

prefixPrefixConfigSin comandos de prefijo

Define el carácter de prefijo, la política de cooldown y el comportamiento de menciones.

exceptionsExceptionOptionsDiseño predeterminado del framework

Mapea clases de excepción a diseños de respuesta y controla el logging de errores.

devSpraxiumDevConfigPredeterminados razonables del watcher

Configura el entrypoint del watcher de desarrollo local, el debounce y los patrones de archivos.

debug

El flag debug habilita salida diagnóstica adicional en todos los subsistemas. Cuando está activo, el framework emite líneas de traza extra durante la carga de módulos, la resolución de providers, el registro de comandos y el dispatch de interacciones. Esta salida está pensada para troubleshooting y no debería mantenerse activa en despliegues de producción de alto throughput.

El flag acepta un booleano simple o cualquier expresión ConfigEnv, para que puedas limitar la verbosidad a un entorno específico.

ValorCuándo está activo
false

Siempre desactivado. Este es el valor predeterminado cuando se omite el campo.

true

Siempre activado, sin importar el entorno. Úsalo solo en entornos de prueba aislados.

env.isDev

Activo en desarrollo local. Cualquier valor de NODE_ENV distinto de production, neutral, staging o test.

env.isNeutral

Activo en staging y CI. NODE_ENV establecido en neutral, staging o test. Línea base recomendada para la mayoría de proyectos.

env.isProd

Activo solo en producción. Úsalo de forma deliberada y temporal cuando diagnostiques un problema en vivo.

logger

El bloque logger controla la política de salida del logger integrado. No afecta la lógica de negocio. Las opciones más configuradas son maskTokens (reemplaza strings con apariencia de token por un placeholder seguro), commandLogging (emite una línea de traza en cada dispatch de comando) y discord (envía niveles de log seleccionados a un canal webhook).

config/logger.config.ts
import type { SpraxiumLoggerConfig } from '@spraxium/core';

export const loggerConfig: SpraxiumLoggerConfig = {
  maskTokens: true,
  commandLogging: true,
  discord: {
    type: 'channel',
    webhookUrl: process.env.LOGGER_WEBHOOK!,
    levels: ['error', 'warn'],
    channelId: '1462519588775395429',
  },
};

plugins

El array plugins reúne entradas devueltas por factories de plugins. Cada entrada contiene un string namespace y una carga de configuración tipada; el framework usa ese namespace para enrutar la configuración al plugin correcto en runtime. Las factories de plugins y las opciones oficiales se cubren en la página de Registro de plugins.

dev

El bloque dev tiene una página de referencia dedicada más adelante en esta categoría, donde se cubren todos los campos del watcher, los nombres de archivo de configuración admitidos y cómo se resuelven los entornos al iniciar.

El bloque prefix está completamente documentado en la categoría de Comandos de prefijo. El bloque exceptions está completamente documentado en la categoría de Excepciones.