O que ele faz
spraxium new cria um novo diretório de projeto do zero. Ele executa um assistente interativo que coleta o nome do projeto, o template, pacotes extras opcionais e a preferência de Git. Quando o assistente termina, a CLI monta o diretório, instala todas as dependências e, se você quiser, inicializa um repositório Git. No fim, você fica com um projeto funcional, pronto para spraxium dev.
Rode o comando em qualquer diretório fora do seu projeto atual. Você também pode passar o nome do projeto diretamente como argumento para pular a primeira pergunta.
spraxium new
spraxium new my-bot
# alias:
spraxium n my-botO principal benefício de usar o assistente em vez de criar os arquivos manualmente é a consistência. Você já começa com a estrutura de pastas, o conjunto de pacotes, a configuração de TypeScript e a integração com o framework do jeito que o Spraxium espera, o que reduz retrabalho mais adiante.
O que o assistente pergunta
Nome do projeto
Você pode digitar o nome interativamente ou passá-lo pela linha de comando. A CLI usa esse nome para o diretório e para os metadados do pacote.
Template
Escolha o ponto de partida mais próximo do bot que você quer construir. Essa escolha define quais arquivos e pacotes entram carregados desde o início.
Pacotes opcionais
No template default, o assistente permite selecionar pacotes extras do framework para que a instalação inicial combine com o seu caso de uso.
Inicialização do Git
Decida se a CLI deve inicializar um repositório Git imediatamente. Isso é conveniente em projetos novos, mas continua sendo opcional.
Templates disponíveis
Há três templates disponíveis. Cada um representa uma configuração inicial diferente, e o assistente deixa você escolher entre eles antes de gerar o projeto.
Escolha o menor template que ainda combine com o formato de projeto que você já sabe que vai precisar. É mais fácil adicionar um pacote depois do que carregar partes sem uso desde o primeiro dia.
Pacotes opcionais
Quando você escolhe o template default, o assistente mostra um prompt com caixas de seleção onde é possível escolher qualquer combinação dos pacotes extras abaixo. Os templates não padrão usam um conjunto fixo.
Na maioria dos casos, vale começar enxuto e adicionar pacotes quando o primeiro caso de uso real aparecer. Para times experientes, com uma arquitetura bem definida, selecionar os pacotes certos logo de início reduz a primeira rodada de ajustes.
O que o assistente instala
A CLI sempre instala um conjunto fixo de pacotes centrais, independentemente do template: @spraxium/common, @spraxium/core, @spraxium/env e discord.js. Entre as dependências de desenvolvimento entram @spraxium/cli, typescript, @types/node e tsdown.
Quaisquer pacotes extras que você selecionar entram na mesma rodada de instalação. O instalador detecta se você está em um monorepo e resolve referências locais de workspace quando isso faz sentido. Se nenhum gerenciador de pacotes for detectado, a CLI assume pnpm por padrão.
O que você recebe assim que a geração termina
Quando o comando termina, o essencial já está pronto:
- Um diretório de projeto funcional.
- Uma pasta src pronta para edição com os arquivos iniciais do template.
- Um arquivo spraxium.config.ts alinhado ao setup escolhido.
- Dependências instaladas.
- Um repositório Git opcional, se você tiver habilitado isso.
Isso já basta para seguir direto para a configuração do ambiente e para spraxium dev, sem uma etapa manual separada de bootstrap.
O diretório não pode existir
Se já existir um diretório com o nome do projeto no caminho atual, o comando para imediatamente sem gravar nenhum arquivo. Renomeie ou remova o diretório em conflito antes de rodar o assistente de novo.
Próximos passos recomendados
Depois da geração, a sequência mais comum é:
- Preencher as variáveis de ambiente.
- Rodar spraxium dev uma vez para confirmar que a aplicação inicia.
- Usar spraxium generate para adicionar o primeiro módulo, serviço ou comando real.
Isso mantém o projeto avançando em passos pequenos e verificáveis, em vez de acumular muito código antes do primeiro boot bem-sucedido.