feat(wiki): padronizar upload de arquivos e midias para MinIO Paiol

This commit is contained in:
Luiz Silva 2026-10-06 18:24:03 -03:00
parent 19df29ea45
commit 49943f82bf
13 changed files with 272 additions and 12 deletions

View file

@ -44,6 +44,31 @@ Todo desenvolvimento e manutenção no ecossistema deve obrigatoriamente respeit
---
## Armazenamento de Arquivos e Mídias da Wiki no MinIO Paiol
Para evitar o inchaço (*bloat*) irreversível do repositório Git da Wiki (`<modulo-wiki>`), **arquivos binários e mídias pesadas** (manuais em PDF, imagens em alta resolução, fluxogramas, diagramas, gravações em vídeo e anexos) **NUNCA** devem ser commitados no Git da Wiki.
### Protocolo de Envio e Nomenclatura:
- **Destino:** Bucket público `wiki` no MinIO Paiol:
```
https://paiol.idz.one/wiki/{modulo}/{funcionalidade/pagina}-{aleatorio}.{ext}
```
Onde `{modulo}` é extraído de `modulo-id` em `memorias-ia/modulo.yml` e `{aleatorio}` é um sufixo alfanumérico curto (8 caracteres) para renovação de cache e prevenção de colisão.
- **Envio via Utilitário CLI (Recomendado):**
```bash
./.agent/scripts/upload-paiol-wiki.sh <caminho-do-arquivo> <slug-funcionalidade>
```
- **Envio Direto via cURL:**
```bash
curl -X PUT --upload-file ./manual.pdf https://paiol.idz.one/wiki/{modulo}/{funcionalidade/pagina}-{aleatorio}.pdf
```
- **Referência nos Markdowns da Wiki:**
Nos arquivos `.md` da Wiki, utilize exclusivamente as URLs públicas geradas:
- Para imagens: `![Descrição](https://paiol.idz.one/wiki/{modulo}/{slug}-{aleatorio}.png)`
- Para manuais/documentos: `[Baixar Manual (PDF)](https://paiol.idz.one/wiki/{modulo}/{slug}-{aleatorio}.pdf)`
---
## Protocolo DDD
Para toda nova demanda, módulo ou funcionalidade, execute os passos abaixo:

View file

@ -71,6 +71,15 @@ Na Wiki (caminho resolvido dinamicamente via `modulo-wiki` em `memorias-ia/modul
- Havendo conflitos de merge, a IA resolve as marcações diretamente na `master`, preservando a coerência da documentação dos 6 pilares.
- Adiciona os arquivos resolvidos (`git -C <modulo-wiki> add -A`), finaliza o rebase (`git -C <modulo-wiki> rebase --continue` ou commit) e envia com `git push origin master`.
3. **Proibição de Binários Pesados no Git da Wiki (Usar MinIO Paiol)**:
- É expressamente proibido versionar no Git da Wiki arquivos binários ou mídias pesadas (manuais em `.pdf`, vídeos `.mp4`/`.webm`, imagens pesadas, pacotes `.zip`).
- Todo arquivo estático da Wiki DEVE ser enviado ao MinIO Paiol:
```bash
./.agent/scripts/upload-paiol-wiki.sh <arquivo> <funcionalidade/pagina>
```
ou via `curl -X PUT --upload-file ... https://paiol.idz.one/wiki/{modulo}/{slug}-{aleatorio}.{ext}`.
- Apenas o arquivo Markdown contendo a URL pública gerada deve ser commitado no repositório.
---
## Exemplos

View file

@ -65,6 +65,9 @@ Esta skill aciona o **Agente de Documentação & Memória** para gerar, atualiza
# Criar um ADR na Wiki Dev + commit/push na wiki
/documentacao adr "<Título da Decisão>"
# Upload de arquivo/mídia (PDF, imagem, vídeo) para o MinIO Paiol com link pronto para a Wiki
/documentacao upload <caminho/arquivo.ext> <slug-funcionalidade>
```
*Nota:* Qualquer comando que crie ou modifique arquivos na Wiki (`<base_projeto>/../wiki`) deve finalizar executando `git add`, `git commit`, `git pull --rebase` (resolvendo conflitos na master se houver) e `git push` diretamente na branch `master` dentro de `../wiki`.
@ -78,3 +81,4 @@ Esta skill aciona o **Agente de Documentação & Memória** para gerar, atualiza
3. **JSDoc de Aplicação:** Explicar a utilidade prática no sistema, não apenas repetir tipos.
4. **Polimorfismo:** O `.agent` é genérico; personalizações ficam em `./memorias-ia/` e `<base_projeto>/../wiki/`.
5. **Fronteira Git e Gestão em Master na Wiki:** Toda atualização em `<base_projeto>/../wiki` DEVE ser commitada, sincronizada com resolução de conflitos e enviada via `git push` diretamente na branch `master` de `../wiki`. Na aplicação principal (`<base_projeto>`), a IA pode comitar apenas em branches de trabalho, sendo proibido comitar na `master` (ver `rules/proibido-commit-ia.md`).
6. **Mídias e Binários no MinIO Paiol:** Arquivos pesados (PDFs, vídeos, imagens e anexos) NUNCA devem ser commitados no Git da Wiki; envie sempre para o MinIO Paiol via `./.agent/scripts/upload-paiol-wiki.sh` e versione apenas a URL pública nos arquivos Markdown.

View file

@ -53,9 +53,16 @@ Breve descrição do propósito do módulo para o gestor e operador.
3. Emissão de relatórios e acompanhamento de conformidade.
```
### Inclusão de Imagens, Diagramas e Manuais em PDF
Para enriquecer a Wiki com capturas de tela ou manuais, envie os arquivos para o MinIO Paiol antes de incluí-los no Markdown:
```bash
./.agent/scripts/upload-paiol-wiki.sh <caminho-do-arquivo> <slug-funcionalidade>
```
Utilize exclusivamente a URL pública gerada (`https://paiol.idz.one/wiki/...`) no Markdown. **Nunca comite arquivos binários no Git da Wiki.**
---
## PASSO 3 — Criar Documentação na Wiki de Desenvolvimento (`<base_projeto>/../wiki/dev/<modulo>/`)
## PASSO 3 — Criar Documentação na Wiki de Desenvolvimento (`<modulo-wiki>/dev/<modulo>/`)
Estruturar a especificação técnica, modelos de banco e arquitetura:
@ -86,11 +93,12 @@ Estruturar a especificação técnica, modelos de banco e arquitetura:
## Checklist Final
- [ ] Documentação de usuário criada/atualizada em `<base_projeto>/../wiki/<modulo>/`?
- [ ] Documentação técnica criada/atualizada em `<base_projeto>/../wiki/dev/<modulo>/`?
- [ ] Documentação de usuário criada/atualizada em `<modulo-wiki>/<modulo>/`?
- [ ] Documentação técnica criada/atualizada em `<modulo-wiki>/dev/<modulo>/`?
- [ ] Glossário com os termos centrais do domínio documentado?
- [ ] Regras e entidades técnicas alinhadas com os schemas Zod do `*-comuns`?
- [ ] Rota `/llm.md` no backend reflete o módulo?
- [ ] Imagens, manuais e anexos hospedados no MinIO Paiol (sem binários no Git da Wiki)?
---