Structured object list manager

List

🇺🇸 Features (English)

This application is a hierarchically structured object editor (similar to an outliner or visual JSON/XML editor). Below are the detailed features and usage examples.


📋 Key Features

1. Object Management

  • Add Objects: You can create new "root" objects (top-level) or add infinitely nested "sub-items" to any existing object.
  • Smart Editing:
    • Allows editing of both the object's name and content (value).
    • Protection: Default objects (like "system", "user") have their names locked for editing; only their content can be modified.
  • Reordering & Removal: Dedicated buttons to move items up or down the list, as well as to remove items (featuring a confirmation modal to prevent accidents).

2. Hierarchy & Visualization

  • Tree Structure: Clear visualization of parent-child relationships with automatic indentation.
  • Expand/Collapse: Buttons to hide or reveal sub-items, facilitating navigation in long or complex lists.

3. Import & Export

The tool supports two main data exchange formats:

  • XML:
    • Export: Generates an XML structure where the object name becomes the tag and children become <item> tags. Includes "Copy to Clipboard" and "Download" options.
    • Import: Validates and replaces the current list with pasted XML data.
  • JSON:
    • Export: Generates nested JSON. If an object has children, it becomes an array of strings or objects.
    • Import: Validates and replaces the current list with pasted JSON data.

4. Data Persistence

  • Auto-Save: The application automatically saves the list state to the browser's localStorage upon every change.
  • Status Indicator: Visually indicates if data is saved (e.g., "(Saved in browser)").
  • Clear Cache: Option to clear browser-saved data without necessarily wiping the currently visible list immediately.

💡 Usage Examples

Scenario 1: AI Prompt Engineering

Ideal for structuring complex prompts to send to APIs like OpenAI or Anthropic via JSON/XML.

  • Role: systemContent: "You are a helpful assistant."
  • Role: contextAdd Sub-items:
    • item: "Current Date: 2023-10-27"
    • item: "Location: Portugal"
  • Role: userContent: "Summarize the news."
Scenario 2: Configuration Manager

Creating hierarchical configuration files for applications.

  • Object: database
    • Sub-item (name: host): localhost
    • Sub-item (name: port): 5432
Scenario 3: Structured To-Do List

Personal use for organizing projects or complex tasks.

  • Object: Web Project
    • Sub-item: FrontendCreate HTML, Style CSS
    • Sub-item: BackendSetup API

🇵🇹 Funcionalidades (Português)

Esta aplicação é um editor de objetos estruturados hierarquicamente (semelhante a um "outliner" ou editor visual de JSON/XML). Abaixo estão os detalhes das funcionalidades e exemplos de uso.


📋 Funcionalidades Principais

1. Gestão de Objetos

  • Adicionar Objetos: É possível criar novos objetos "raiz" (no nível principal) ou adicionar "sub-itens" infinitamente aninhados a qualquer objeto existente.
  • Edição Inteligente:
    • Permite editar o nome e o conteúdo (valor) do objeto.
    • Proteção: Objetos padrão (como "system", "user") têm o nome bloqueado para edição, permitindo apenas alterar o seu conteúdo.
  • Reordenação e Remoção: Existem botões dedicados para mover itens para cima ou para baixo na lista, bem como para remover itens (com uma janela de confirmação para evitar acidentes).

2. Hierarquia e Visualização

  • Estrutura em Árvore: Visualização clara das relações entre pais e filhos com indentação automática.
  • Expandir/Colapsar: Botões que permitem ocultar ou mostrar sub-itens, o que facilita a navegação em listas extensas ou complexas.

3. Importação e Exportação

A ferramenta suporta dois formatos principais para troca de dados:

  • XML:
    • Exportar: Gera uma estrutura XML onde o nome do objeto se torna a tag e os filhos são convertidos em tags <item>. Inclui opções para "Copiar para Área de Transferência" e "Download".
    • Importar: Valida e substitui a lista atual por dados colados em formato XML.
  • JSON:
    • Exportar: Gera um JSON aninhado. Se um objeto tiver filhos, ele é convertido num array de strings ou objetos.
    • Importar: Valida e substitui a lista atual por dados colados em formato JSON.

4. Persistência de Dados

  • Salvamento Automático: A aplicação guarda automaticamente o estado da lista no localStorage do navegador a cada alteração feita.
  • Indicador de Status: Mostra visualmente se os dados estão guardados (ex: "(Saved in browser)").
  • Limpar Cache: Opção para limpar os dados guardados no navegador sem necessariamente apagar a lista visível no momento.

💡 Exemplos de Utilização

Cenário 1: Engenharia de Prompt para IA

Ideal para estruturar prompts complexos para enviar a APIs como OpenAI ou Anthropic via JSON/XML.

  • Role: systemConteúdo: "Tu és um assistente útil."
  • Role: contextAdicionar Sub-itens:
    • item: "Data Atual: 2023-10-27"
    • item: "Localização: Portugal"
  • Role: userConteúdo: "Resume as notícias de hoje."
Cenário 2: Gerenciador de Configurações

Criar arquivos de configuração hierárquicos para aplicações.

  • Objeto: database
    • Sub-item (nome: host): localhost
    • Sub-item (nome: port): 5432
Cenário 3: Lista de Tarefas Estruturada

Uso pessoal para organizar projetos ou tarefas complexas.

  • Objeto: Projeto Web
    • Sub-item: FrontendCriar HTML, Estilizar CSS
    • Sub-item: BackendConfigurar API