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/frontend e modules/backend existem, então o status foi corrigido para done na migração da documentação. Os módulos acabaram sob modules/, não na raiz como esta spec escrevia — a convenção final está em modules.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.json deixa 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 presentes
  • ls 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