Mapa do repositório
A pasta application/ reúne o produto operacional. O site institucional está em site/, na raiz do repositório. A documentação pública é um projeto separado dentro de application/docs/.
application/
AGENTS.md
PRD.md
PRD-CONSOLE.md
PRD-BACKOFFICE.md
PRD-PORTAL.md
PRD-FINANCEIRO.md
PRD-OPERACAO-COBRANCA.md
api/
app/core/
app/modules/
app/product/
app/sql/
app/workers/
alembic/
tests/
console/
backoffice/
portal/
docs/
API
O pacote Python se chama app. Portanto, imports usam app.core ou app.modules, e comandos Python são executados em application/api/.
app/core/ concentra autenticação, autorização, listagens, erros, idempotência, contexto de banco e observabilidade. app/modules/ contém rotas, schemas e serviços por capacidade. app/sql/ guarda baseline.sql (funções, grants, tabelas e políticas do schema base), os arquivos SQL numerados de cada mudança de schema e bootstrap_roles.sql. alembic/ aplica a revisão 0001_baseline e uma revisão por mudança de schema.
app/product/manifest.py registra o produto. Os módulos de negócio incluem, entre outros, debtors, debtor_accounts, debts, portfolios, mandates, quotes, collection, documents, creditor_portal e finance.
Interfaces
Cada SPA tem seu próprio package.json, dependências e comandos. console/ é a administração da plataforma; backoffice/ é a operação da organização; portal/ é a interface Audience. Rotas, páginas e slots de produto ficam no src/ de cada uma.
O frontend usa React, TypeScript, Chakra UI e TanStack. Antes de criar uma página, confira os componentes existentes, os tokens e o contrato da superfície. A documentação usa Docusaurus e reproduz a identidade visual do site sem compartilhar o processo da API.
Contratos e manutenção
Os contratos (PRDs e runbooks) ficam na raiz de application/. O conteúdo navegável da documentação pública está em application/docs/content/.
Leia application/AGENTS.md antes de alterar o produto. Mudanças no comportamento exigem atualização do PRD correspondente. Código, logs e mensagens de commit usam inglês; textos para o usuário e mensagens de erro são em português do Brasil.
Continue em ambiente local ou testes.