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.zigwu-cli/src/config/names.zigwu-cli/src/config/catalog.zigwu-cli/src/commands/templates/astro-shell.index.astrowu-cli/tests/create-exit-code.test.cjswu-cli/tests/wizard-keys.test.cjswu-cli/tests/gitignore.test.cjs