--- name: mindmap title: Mindmap Generator (DesktopNaotu) description: Gera ficheiros .km (mindmap) compativeis com DesktopNaotu/Kityminder. Cria mindmaps a partir de topicos, planos, brainstorms ou qualquer estrutura hierarquica. author: Descomplicar version: 1.0.0 tags: [mindmap, naotu, kityminder, brainstorm, planeamento, organizacao] user_invocable: true trigger_patterns: - "mindmap" - "mapa mental" - "mind map" - "naotu" - "criar mindmap" - "gerar mindmap" - "brainstorm visual" --- # Mindmap Generator - DesktopNaotu Gera ficheiros `.km` compativeis com DesktopNaotu (Kityminder) para visualizacao de mindmaps. ## Formato .km Ficheiro JSON com a seguinte estrutura: ```json { "root": { "data": { "id": "", "created": , "text": "Topico Central" }, "children": [ { "data": { "id": "", "created": , "text": "Sub-topico" }, "children": [] } ] }, "template": "default", "theme": "fresh-blue", "version": "1.4.43" } ``` ## Templates Disponiveis | Template | Descricao | |----------|-----------| | `default` | Layout classico radial (centro para fora) | | `right` | Todos os ramos para a direita | | `structure` | Organograma (cima para baixo) | | `filetree` | Arvore de ficheiros (esquerda para direita) | | `filetree-up` | Arvore ascendente | | `filetree-down` | Arvore descendente | | `fish-bone` | Diagrama espinha de peixe (Ishikawa) | | `tianpan` | Layout circular (tianpan) | ## Themes Disponiveis | Theme | Cor | |-------|-----| | `fresh-blue` | Azul (default) | | `fresh-green` | Verde | | `fresh-pink` | Rosa | | `fresh-purple` | Roxo | | `fresh-red` | Vermelho | | `fresh-soil` | Terra/Castanho | | `classic-compact` | Classico compacto | | `snow-compact` | Branco/neve compacto | | `tianpan-compact` | Tianpan compacto | ## Instrucoes de Geracao Quando o utilizador pedir um mindmap: 1. **Identificar o topico central** e sub-topicos a partir do pedido 2. **Escolher template** adequado ao tipo de conteudo: - Brainstorm geral -> `default` - Plano/processo linear -> `right` - Organograma/hierarquia -> `structure` - Analise causa-efeito -> `fish-bone` - Listagem/arvore -> `filetree` 3. **Escolher theme** (default: `fresh-blue`, ou perguntar preferencia) 4. **Gerar o JSON** com IDs unicos (usar formato `km`) 5. **Guardar** em `/home/ealmeida/.config/desktopnaotu/backup/.km` para acesso facil pela app 6. **Informar** o utilizador do path e como abrir ### Regras de geracao de IDs Cada node precisa de um `id` unico. Usar o formato: `km` + base36 do timestamp + sequencia aleatoria. Gerar com Python: ```python import time, random, string, json def gen_id(): ts = int(time.time() * 1000) rand = ''.join(random.choices(string.ascii_lowercase + string.digits, k=4)) return f"km{ts}{rand}" def node(text, children=None): return { "data": { "id": gen_id(), "created": int(time.time() * 1000), "text": text }, "children": children or [] } ``` ### Exemplo de geracao ```python mindmap = { "root": node("Projecto X", [ node("Fase 1 - Discovery", [ node("Pesquisa mercado"), node("Entrevistas"), node("Analise competitiva") ]), node("Fase 2 - Design", [ node("Wireframes"), node("Prototipo"), node("Testes UX") ]), node("Fase 3 - Desenvolvimento", [ node("Frontend"), node("Backend"), node("Integracao") ]) ]), "template": "right", "theme": "fresh-blue", "version": "1.4.43" } with open("/home/ealmeida/.config/desktopnaotu/backup/projecto-x.km", "w") as f: json.dump(mindmap, f, ensure_ascii=False) ``` ### Abrir o ficheiro Depois de gerar, o utilizador pode abrir directamente: ```bash /home/ealmeida/Programas/DesktopNaotu/DesktopNaotu "/home/ealmeida/.config/desktopnaotu/backup/.km" ``` Ou abrir a app e usar File > Open para navegar ate ao ficheiro. ## Boas Praticas - **Profundidade maxima:** 4-5 niveis (mais que isso fica ilegivel) - **Nos por nivel:** Maximo 7-8 (regra de Miller) - **Texto curto:** 2-5 palavras por node (mindmap, nao documento) - **Template adequado:** Fish-bone para causa/efeito, structure para hierarquias, right para processos - **Nome descritivo:** Usar nome do topico no ficheiro (nao "mindmap1.km")