---
name: Repo Organizer & Publisher
description: Instruções detalhadas para transformar um diretório bagunçado em um repositório GitHub profissional com deploy online.
---

# 🛠️ Skill: Organização e Publicação de Repositórios (Pub-Pro)

Esta skill deve ser ativada quando o objetivo é limpar um projeto, documentá-lo e prepará-lo para o mundo (GitHub + Cloud).

## 1. Fase de Diagnóstico e Limpeza
- **Identificar Arquivos Críticos**: Listar scripts principais, dados de entrada e resultados gerados.
- **Detecção de Arquivos Pesados**: Identificar arquivos com mais de 50MB que podem travar o Git (como `.tif`, `.h5`, `.pkl`). Propor exclusão via `.gitignore` se puderem ser gerados localmente.

## 2. Estruturação de Pastas (Padrão Ouro)
Reorganizar o repositório seguindo esta hierarquia:
- `src/`: Lógica, scripts e o app principal.
- `data/raw/`: Dados originais/amostras leves.
- `data/results/`: Mapas finais, métricas e CSVs.
- `docs/`: Arquitetura, snapshots e manuais técnicos.
- `root`: Arquivos de configuração (`.gitignore`, `requirements.txt`, `README.md`, `LICENSE`).

## 3. Documentação de Alto Impacto (README)
O README deve conter:
- **Título e Ícone**: Nome do projeto com um emoji relevante.
- **Visão Geral**: Explicação curta do "porquê" do projeto existir e metodologia (ex: Embeddings).
- **Guia de Instalação**: Comandos `pip install` claros e requisitos de versão.
- **Diferencial (Carga Leve)**: Explicar como gerar os arquivos pesados localmente para economizar banda.
- **Licenciamento**: Seção explícita de termos de uso e política de dados.

## 4. Configuração de Publicação e Git
- **.gitignore Dinâmico**: Bloquear `__pycache__`, arquivos temporários de IDE e especificamente extensões pesadas.
- **requirements.txt**: Gerar a lista de dependências baseada nos imports reais do código.
- **Política de Dados**: Criar um arquivo `DATA_POLICY.md` para uso não-comercial (CC BY-NC 4.0) se solicitado.

## 5. Deploy Cloud
- **Instruções de Link**: Ao concluir, fornecer os passos exatos para conectar o GitHub ao **Streamlit Cloud** ou **Hugging Face Spaces**.
- **Caminho Interno**: Lembrar de atualizar os caminhos relativos no código (ex: `os.path.join("data", "results", ...)`).

---
*Garantia: O resultado final deve ser um link online funcional e um GitHub que "se explica sozinho".*
