- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
57 lines
1.8 KiB
Markdown
57 lines
1.8 KiB
Markdown
# Arquitetura do Sistema
|
|
|
|
Esta pasta concentra a especificação arquitetural do novo sistema Python orientado a objetos.
|
|
|
|
## Objetivo
|
|
|
|
Documentar previamente:
|
|
|
|
- a estrutura geral do sistema;
|
|
- os módulos e submódulos;
|
|
- as responsabilidades de cada classe;
|
|
- o que cada classe não deve fazer;
|
|
- os fluxos entre os módulos;
|
|
- as regras de dependência e integração;
|
|
- as decisões arquiteturais do projeto.
|
|
|
|
## Regra de nomenclatura
|
|
|
|
Todos os nomes de módulos, classes, métodos, funções e variáveis serão sempre em PT-BR.
|
|
|
|
## Organização da documentação
|
|
|
|
Cada módulo principal deverá possuir um documento próprio nesta pasta.
|
|
|
|
```text
|
|
arquitetura/
|
|
├── README.md
|
|
├── scanner.md
|
|
├── integracao-com-premiere.md
|
|
├── leitura-da-timeline-via-mcp.md
|
|
├── plano-primeira-etapa-scanner-e-mcp.md
|
|
├── planos-proximas-etapas.md
|
|
├── analisador-de-conteudo.md
|
|
├── motor-de-decisao.md
|
|
├── gerador-de-plano-de-edicao.md
|
|
├── aplicador-de-plano.md
|
|
├── validador.md
|
|
├── providers-de-ia.md
|
|
├── modelo-de-dominio.md
|
|
├── persistencia.md
|
|
├── configuracao.md
|
|
├── logging.md
|
|
└── testes.md
|
|
```
|
|
|
|
Os documentos serão criados conforme cada módulo for projetado. Não devemos escrever código de implementação antes de definir sua arquitetura neste diretório.
|
|
|
|
## Princípios gerais
|
|
|
|
1. O domínio deve ser independente de infraestrutura e de ferramentas externas.
|
|
2. Cada módulo deve ter uma responsabilidade clara.
|
|
3. As dependências devem ser recebidas por abstrações bem definidas.
|
|
4. Integrações externas devem ser implementadas por adaptadores substituíveis.
|
|
5. O fluxo entre módulos deve ser explícito e documentado.
|
|
6. Cada classe deve declarar suas responsabilidades e suas proibições.
|
|
7. O sistema deve ser testável sem depender de serviços externos reais.
|