Spraxium logoSpraxium

Campos principais

Uma referência para todos os campos de topo disponíveis em spraxium.config.ts. Entenda a finalidade, o valor padrão e o escopo esperado de cada campo antes de configurá-lo.

Referência do tipo raiz

O objeto passado para defineConfig precisa satisfazer SpraxiumCoreConfig. Todo campo é opcional; quando omitido, o framework aplica um valor padrão sensato. A tabela abaixo cobre todas as chaves de topo.

CampoTipoPadrãoFinalidade
debugbooleanfalse

Aumenta a verbosidade de diagnóstico em todos os subsistemas.

loggerSpraxiumLoggerConfigDefaults embutidos

Controla a saída de logs, mascaramento de tokens, rastreamento de commands e transporte para o Discord.

pluginsSpraxiumPlugin[]Lista vazia

Entradas tipadas produzidas por helpers de factory, como defineHttp e defineSchedule.

prefixPrefixConfigSem prefix commands

Define o caractere de prefix, a política de cooldown e o comportamento de menção.

exceptionsExceptionOptionsLayout padrão do framework

Mapeia classes de exceção para layouts de resposta e controla o logging de erros.

devSpraxiumDevConfigDefaults sensatos para watch

Configura o entrypoint do watcher de desenvolvimento local, o debounce e os padrões de arquivo.

debug

A flag debug habilita saída extra de diagnóstico em todos os subsistemas. Quando está ativa, o framework emite linhas adicionais de rastreamento durante o carregamento de módulos, a resolução de providers, o registro de commands e o despacho de interações. Essa saída é voltada para troubleshooting e não deve permanecer ativa em implantações de produção com alto volume.

A flag aceita um boolean simples ou qualquer expressão ConfigEnv, então você pode limitar a verbosidade a um ambiente específico.

ValorQuando fica ativo
false

Sempre desativado. Esse é o padrão quando o campo é omitido.

true

Sempre ativado, independentemente do ambiente. Use apenas em ambientes de teste isolados.

env.isDev

Ativo no desenvolvimento local. Qualquer valor de NODE_ENV diferente de production, neutral, staging ou test.

env.isNeutral

Ativo em staging e CI. NODE_ENV definido como neutral, staging ou test. É a base recomendada para a maioria dos projetos.

env.isProd

Ativo somente em produção. Use de forma deliberada e temporária ao diagnosticar um problema em ambiente real.

logger

O bloco logger controla a política de saída do logger embutido. Ele não afeta a lógica de negócio. As opções configuradas com mais frequência são maskTokens , que substitui strings parecidas com token por um placeholder seguro, commandLogging, que emite uma linha de rastreamento a cada despacho de command, e discord, que envia níveis selecionados de log para um canal de 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

O array plugins reúne as entradas retornadas pelas factories de plugin. Cada entrada carrega uma string namespace e uma carga de configuração tipada; o framework usa o namespace para encaminhar a config ao plugin correto em runtime. As factories de plugin e as opções de primeira parte são abordadas na página de Registro de plugins.

dev

O bloco dev tem uma página de referência dedicada mais adiante nesta categoria, cobrindo todos os campos do watcher, os nomes de arquivo de configuração aceitos e como os ambientes são resolvidos na inicialização.

O bloco prefix está totalmente documentado na categoria Prefix Commands. O bloco exceptions está totalmente documentado na categoria Exceptions.