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.
| Campo | Tipo | Padrão | Finalidade |
|---|---|---|---|
| debug | boolean | false | Aumenta a verbosidade de diagnóstico em todos os subsistemas. |
| logger | SpraxiumLoggerConfig | Defaults embutidos | Controla a saída de logs, mascaramento de tokens, rastreamento de commands e transporte para o Discord. |
| plugins | SpraxiumPlugin[] | Lista vazia | Entradas tipadas produzidas por helpers de factory, como defineHttp e defineSchedule. |
| prefix | PrefixConfig | Sem prefix commands | Define o caractere de prefix, a política de cooldown e o comportamento de menção. |
| exceptions | ExceptionOptions | Layout padrão do framework | Mapeia classes de exceção para layouts de resposta e controla o logging de erros. |
| dev | SpraxiumDevConfig | Defaults 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.
| Valor | Quando 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.
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.