WU / DOCSMICROFRONTENDS UNIVERSAIS
PT

Criar um projeto

Modo interativo, scaffold reproduzível, shell Astro e TypeScript gerado.

Veja versões, mudanças e requisitos em Framework 4.0 e CLI 1.2.

Criação reproduzível

wu create conocimiento --template react --shell astro

O modo rápido é ativado quando há um nome e um template. Grava conocimiento/, um shell Astro, uma microapp React chamada conocimiento, configuração e manifestos. Este modo não instala dependências. Ao terminar, sugere entrar na pasta e executar wu install e wu dev.

conocimiento/
  .gitignore
  package.json
  wu.config.json
  shell/
    package.json
    astro.config.mjs
    src/pages/index.astro
    src/styles/wu-shell.css
  mf-conocimiento/
    package.json
    index.html
    vite.config.js
    src/main.tsx
    src/App.tsx

A estrutura mostra os principais arquivos dessa combinação. Outros frameworks escolhem extensões, componentes e configurações diferentes. O gerador não grava um wu.json de origem: o servidor de desenvolvimento pode sintetizá-lo e o build grava o manifesto de produção. Crie um explicitamente quando a app precisar declarar contratos ou permissões.

Um projeto novo inclui .gitignore para dependências, builds, caches, logs, chaves PEM e .env, mantendo .env.example. wu upgrade pode adicionar essas regras a um projeto antigo sem substituir as existentes.

Opções reconhecidas

Argumento Alias Efeito
Nome posicional — Diretório do projeto e nome da primeira app no modo rápido
--template <framework> -t Framework da microapp gerada
--shell <framework> -s Framework do shell no modo rápido

Se você omitir --shell, o shell usa a seleção de --template; a forma concreta pode ser um shell do framework ou um agnóstico. --shell sem --template não configura o assistente: o fluxo interativo pede o shell novamente.

Não existe --no-install para create, pois o modo rápido já deixa a instalação pendente. Também não há flags públicas --typescript, --yes, --package-manager ou --apps. Use apenas o contrato da tabela para automatizar esta versão.

Assistente interativo

wu create

O assistente usa o modo raw do terminal. Solicita nome, shell e microapps uma por uma; oferece TypeScript quando o template aceita. As portas das apps começam em 5001 e são incrementadas. O fluxo interativo aceita até 16 apps; para uma topologia maior, usa-se uma configuração explícita.

O assistente pede confirmação para geração e instalação e executa wu install. Uma instalação falha retorna 1; sem terminal também retorna 1 e mostra o modo rápido. Ctrl+C cancela com 130. O modo rápido continua sem instalar dependências.

Nomes e validações

A criação rejeita um diretório existente com saída 1. Um template desconhecido também causa falha. Astro e Next estão no catálogo do shell, mas são rejeitados como --template de uma microapp.

Nomes de apps são normalizados e validados com ^[a-z][a-z0-9-]{0,31}$, excluindo nomes reservados do Windows. O projeto aceita até 64 caracteres, sem caminhos nem espaços; a primeira app do modo rápido também deve respeitar o limite de 32. Uma falha de geração não deixa diretório parcial.

Astro dentro do projeto WU

Astro compila o shell com seu próprio bundler. O WU serve essa saída e monta as microapps a partir de suas entradas WU. O scaffold não transforma React ou Vue em ilhas Astro: a composição entre aplicações pertence ao runtime WU.

O shell gerado importa sua folha CSS, inicializa o framework e consome o catálogo de apps inserido pela CLI. A configuração declara npx astro dev e npx astro build. No modo de desenvolvimento nativo, o WU usa a saída do build de Astro e a reconstrói quando suas fontes mudam.

Referência de implementação

  • wu-cli/src/commands/create.zig
  • wu-cli/src/config/names.zig
  • wu-cli/src/config/catalog.zig
  • wu-cli/src/commands/templates/astro-shell.index.astro
  • wu-cli/tests/create-exit-code.test.cjs
  • wu-cli/tests/wizard-keys.test.cjs
  • wu-cli/tests/gitignore.test.cjs
CONSTRUA O WU CONOSCO

Encontrou um bug? Tem uma ideia?

Sua experiência melhora o WU. Conte o que falhou ou ajude a manter seu desenvolvimento.