diff --git a/.gemini/GEMINI.md b/.gemini/GEMINI.md index a26f474..b72644f 100644 --- a/.gemini/GEMINI.md +++ b/.gemini/GEMINI.md @@ -245,17 +245,55 @@ Após a validação do conteúdo em Markdown: * Estrutura clara de títulos e seções. * Imagens centralizadas. -### Fase 4: Organização e Entrega +### Fase 4: Organização e Entrega (Obrigatório) -O Agente DEVE salvar o PDF na seguinte estrutura de pastas obrigatória, baseada na complexidade do procedimento: +O Agente DEVE salvar o PDF **exatamente** na estrutura de pastas definida abaixo. -* **Estrutura:** `[Nome do Sistema] / Nivel_[X] / [Nome do Manual].pdf` -* **Definição dos Níveis:** -* **Definição dos Níveis e Linguagem:** - * `Nivel_0` (Cliente Final): **Didático e Visual (Leigo).** Assuma conhecimento zero. Explique cada passo visualmente ("Clique no botão azul"). **Evite jargões técnicos.** O objetivo é guiar o usuário sem frustração. Estruture o texto como um **Roteiro de Vídeo**. - * `Nivel_1` (Técnico Jr): **Procedural (Service Desk).** O técnico domina o básico do ambiente, mas precisa de um roteiro seguro. **Foco na Execução:** Use comandos prontos para copiar/colar. Explique exatamente o *que* fazer para fechar o chamado rapidamente. - * `Nivel_2` (Técnico Pleno): **Técnico e Estruturado (NOC/Infra).** Assuma conhecimento de fundamentos (Redes, OS). **Foco na Análise:** Não explique como abrir ferramentas básicas. Centre-se na configuração correta, análise de logs e impacto de mudanças. O tom deve ser de "técnico para técnico". - * `Nivel_3` (Especialista/Sr): **Engenharia e Crise.** Para Disaster Recovery, Arquitetura e Debugging Avançado. **Direto ao Ponto:** Assuma que o sistema está parado. Forneça o comando de *fix* imediato, depois a explicação arquitetural. Documente riscos, rollbacks e dependências profundas. +1. **Regra de Nomeação da Pasta Principal:** `documentacao [tema]` (tudo minúsculo, sem acentos). +2. **Estrutura de Subpastas:** É **OBRIGATÓRIA** a separação por nível de complexidade (`Nivel_0`, `Nivel_1`, `Nivel_2`, `Nivel_3`). + +**Exemplo de Caminho Completo:** +`[RAIZ]/documentacao exchange/Nivel_1/[Nome do Manual].pdf` + +**Tabela Canônica de Pastas (Use estas):** +* `documentacao agendamento` (Cron, Task Scheduler) +* `documentacao aplicativos` (Gitea, Zabbix, etc) +* `documentacao automacao` (PowerShell, Bash, Ansible) +* `documentacao backup` (Veeam) +* `documentacao bancos de dados` (PostgreSQL, MySQL, Redis) +* `documentacao certificados` (Certbot) +* `documentacao colaboracao` (Nextcloud, Office Online) +* `documentacao conteineres` (Docker, Portainer) +* `documentacao dev` (VSCode, Git) +* `documentacao diagnostico rede` (Ping, Tracert, Dig) +* `documentacao editores` (Nano, Vim) +* `documentacao endpoint` (ManageEngine) +* `documentacao exchange` (Exchange Server) +* `documentacao ferramentas` (Putty, WinSCP) +* `documentacao ftp` (FTP Service) +* `documentacao hardware` (Servers, UPS, iDRAC) +* `documentacao linux` (Distros e administração) +* `documentacao microsoft` (Windows Desktop, Office) +* `documentacao navegadores` (Chrome, Firefox) +* `documentacao powerbi` (PowerBI Report Server) +* `documentacao processos` (SOPs, Onboarding) +* `documentacao rede e seguranca` (Firewalls, VPNs) +* `documentacao seguranca email` (PMG - Proxmox Mail Gateway) +* `documentacao storage` (TrueNAS, File Server) +* `documentacao terminal` (Comandos Linux/Windows) +* `documentacao unifi` (Unifi Controller) +* `documentacao virtualizacao` (Proxmox VE - Geral) +* `documentacao vmware` (vCenter, ESXi) +* `documentacao web servers` (Nginx, Apache) +* `documentacao webmin` (Webmin) +* `documentacao windows` (Windows Server Core/AD) +* `documentacao zammad` (Service Desk) + +**Definição dos Níveis:** +* `Nivel_0` (Cliente Final): **Didático e Visual.** +* `Nivel_1` (Técnico Jr): **Procedural (Service Desk).** +* `Nivel_2` (Técnico Pleno): **Técnico (NOC/Infra).** +* `Nivel_3` (Especialista/Sr): **Engenharia e Crise.** --- diff --git a/.gemini/create_structure.py b/.gemini/create_structure.py new file mode 100644 index 0000000..a94ab7d --- /dev/null +++ b/.gemini/create_structure.py @@ -0,0 +1,58 @@ + +import os + +base_path = r"c:\Users\joao.goncalves\Desktop\manuais zammad" + +folders = { + "documentacao web servers": ["Nginx", "Apache"], + "documentacao ftp": ["FTP", "SFTP"], + "documentacao endpoint": ["ManageEngine"], + "documentacao webmin": ["Webmin"], + "documentacao editores": ["Nano", "Vim"], + "documentacao terminal": ["Linux", "Windows"], + "documentacao agendamento": ["Cron", "Task Scheduler"], + "documentacao diagnostico rede": ["Ping", "Traceroute", "Netstat"], + "documentacao certificados": ["Certbot", "Lets Encrypt"], + "documentacao backup": ["Veeam"], + "documentacao colaboracao": ["Nextcloud", "Office Online"], + "documentacao microsoft": ["Windows Desktop", "Office", "Exchange"], + "documentacao seguranca email": ["PMG", "Proxmox Mail Gateway"], + "documentacao unifi": ["Unifi Controller"], + "documentacao powerbi": ["PowerBI"], + "documentacao dev": ["VSCode Server"], + "documentacao zammad": ["Service Desk"], + "documentacao hardware": ["Servers", "UPS"], + "documentacao automacao": ["PowerShell", "Bash", "Ansible"], + "documentacao processos": ["SOPs", "Onboarding", "Incidentes"] +} + +subfolders = ["Nivel_0", "Nivel_1", "Nivel_2", "Nivel_3"] + +def create_structure(): + print(f"Starting directory creation in {base_path}...") + created_count = 0 + + for folder, tags in folders.items(): + folder_path = os.path.join(base_path, folder) + + # Create main topic folder + if not os.path.exists(folder_path): + os.makedirs(folder_path) + print(f"[NEW] Created folder: {folder}") + created_count += 1 + else: + print(f"[EXISTS] Folder: {folder}") + + # Create subfolders (Level 0-3) + for sub in subfolders: + sub_path = os.path.join(folder_path, sub) + if not os.path.exists(sub_path): + os.makedirs(sub_path) + # Create a placeholder .keep file to validade emptiness if needed, purely optional + # with open(os.path.join(sub_path, ".gitkeep"), 'w') as f: pass + # print(f" -> Created subfolder: {sub}") + + print(f"\nStructure creation complete. {created_count} new main directories created.") + +if __name__ == "__main__": + create_structure()