Estrutura multi-módulo: frontend + backend
TLDR: reorganizar a raiz do projeto para o layout multi-módulo, movendo o conteúdo de
app/para o módulo do front e criando o módulo do back como placeholder — antes que a chegada do back-end force uma reorganização disruptiva.
Nota de status: a spec original ficou marcada como
proposed.modules/frontendemodules/backendexistem, então o status foi corrigido paradonena migração da documentação. Os módulos acabaram sobmodules/, não na raiz como esta spec escrevia — a convenção final está emmodules.md.
Contexto
O projeto tem hoje um único app React em app/, na raiz, mais arquivos soltos de referência (.html,
.txt, .js) também na raiz. Conforme o produto evolui, um back-end será adicionado. Sem uma
fronteira de módulo clara agora, adicionar um segundo módulo depois exigiria uma reorganização
disruptiva. Estabelecer a convenção frontend + backend desde já evita isso.
Objetivos
- Estabelecer uma convenção multi-módulo na raiz que escale conforme o projeto cresce.
- Mover todo o código do front (
app/) para o módulo do front, sem mudar nenhum caminho dentro do módulo. - Mover os arquivos soltos de referência/protótipo para dentro de
.project/docs/. - Criar o módulo do back como placeholder vazio.
- Documentar o padrão em
.project/docs/e atualizar as skills do commons afetadas.
Fora de escopo
- Qualquer código de back-end — o módulo nasce como placeholder.
- Mudanças no conteúdo do front além do caminho.
Mudanças
Mover:
| De | Para |
|---|---|
app/* (conteúdo, não a pasta) |
frontend/ — app/src/ vira frontend/src/, app/package.json vira frontend/package.json |
Arquitetura de Produto.dc.html |
pasta de protótipo em .project/docs/ |
Ficha Unificada.dc.html |
idem |
Sistema de Cobrança.dc.html |
idem |
guia-ibft.txt |
idem |
support.js |
idem |
Os cinco arquivos de protótipo vivem hoje em
features/assets/prototype/, com nomes em snake_case.
Criar:
backend/— diretório placeholder vazio (com.gitkeep).project/docs/modules.md— documenta a convenção multi-módulo
Atualizar:
- Skill
commons:structure— seção de layout multi-módulo - Skill
commons:spec— nota de detecção de stack (package.jsondeixa de estar na raiz) - Camadas do app React — referências de caminho de
app/para o módulo do front
Sequência de implementação
| # | Tipo | Entrega |
|---|---|---|
| 1 | feat | Mover conteúdo de app/, mover arquivos de protótipo, criar o placeholder do back |
| 2 | docs | Criar modules.md com a documentação do padrão multi-módulo |
| 3 | docs | Atualizar o doc de arquitetura do front com os novos caminhos |
| 4 | docs | Atualizar a skill commons:structure com a seção multi-módulo |
| 5 | docs | Atualizar a skill commons:spec com a nota de detecção de stack |
Como verificar
ls modules/frontend/src modules/frontend/package.json modules/frontend/vite.config.ts— todos presentesls modules/backend/.gitkeep— presente- A pasta de protótipo tem os 5 arquivos
cd modules/frontend && npm install && npm run build— build sem erros- Nenhum arquivo restante no caminho antigo
app/
Documentação
- Convenção de módulos — o padrão multi-módulo
- Camadas do app React — referências de caminho
- Skill
commons:structure— seção multi-módulo - Skill
commons:spec— nota de detecção de stack