Communitygithub.com

NetAlertX

Melhores práticas para criar e manter as configurações do NetAlertX (config.json), incluindo UI, validação, localização, comportamento em tempo de execução e consistência de implementação.

O que é NetAlertX?

Esta skill define um conjunto de práticas recomendadas para o desenvolvimento e a manutenção do arquivo `config.json` do NetAlertX, que gerencia a configuração do sistema. Ela abrange a definição da interface do usuário para as configurações, regras de validação de entrada, suporte à localização para múltiplos idiomas e o comportamento esperado em tempo de execução. É projetada para desenvolvedores e mantenedores que trabalham com o NetAlertX, garantindo consistência e robustez na implementação de novas opções de configuração ou na modificação das existentes. A skill se aplica a qualquer plataforma que suporte NetAlertX e utiliza a estrutura baseada em JSON para ditar como as configurações são apresentadas, validadas e processadas pelo sistema.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add netalertx/NetAlertX

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que NetAlertX faz?

Melhores práticas para criar e manter as configurações do NetAlertX (config.json), incluindo UI, validação, localização, comportamento em tempo de execução e consistência de implementação.

Visão Geral

Esta skill serve como um guia de referência para a definição de configurações no NetAlertX. O arquivo config.json é a fonte central de verdade para todas as opções disponíveis no sistema, e sua estrutura deve seguir rigorosamente estas diretrizes para garantir interoperabilidade e facilidade de manutenção.

Conteúdo da Skill

Estrutura do config.json

Cada configuração no arquivo config.json deve seguir o seguinte formato:

{
  "chave_da_configuracao": {
    "default": "valor_padrao",
    "type": "tipo_do_valor",
    "values": ["opcao1", "opcao2"], // Opcional: para valores enumerados
    "validation": [
      {
        "type": "regex",
        "pattern": "^[a-zA-Z]+$"
      }
    ], // Opcional: regras de validação
    "ui": {
      "label": "Rótulo de Exibição",
      "description": "Descrição longa para o usuário.",
      "type": "text", // ou "number", "select", "checkbox", etc.
      "section": "seção_da_interface"
    }
  }
}

Práticas de UI

  • Rótulo: Deve ser conciso e descritivo, traduzido para o idioma alvo.
  • Descrição: Fornece contexto adicional sobre o propósito da configuração.
  • Tipo: Determina o widget de entrada no frontend (ex.: text, number, select).
  • Seção: Agrupa configurações relacionadas em categorias lógicas.

Validação

Regras de validação garantem que a entrada do usuário atenda aos critérios esperados. Tipos comuns incluem:

  • regex: Valida com base em uma expressão regular.
  • range: Valida se um número está dentro de um intervalo.
  • enum: Valida se o valor está entre uma lista de opções permitidas.

Localização

Para suportar múltiplos idiomas, as strings em ui.label e ui.description podem ser definidas como objetos mapeando códigos de idioma para traduções:

"ui": {
  "label": {
    "en": "Network Scan Interval",
    "pt": "Intervalo de Varredura de Rede",
    "de": "Netzwerk-Scan-Intervall"
  },
  "description": {
    "en": "How often to scan the network for new devices.",
    "pt": "Com que frequência escanear a rede em busca de novos dispositivos.",
    "de": "Wie oft das Netzwerk nach neuen Geräten gescannt wird."
  }
}

Comportamento em Tempo de Execução

O sistema lê o config.json na inicialização e aplica as configurações dinamicamente. Mudanças na UI devem ser persistidas de volta ao arquivo. Qualquer configuração inválida deve ser rejeitada com uma mensagem de erro clara.

Consistência de Implementação

  • Nomes de chave devem usar snake_case.
  • Valores padrão devem ser sempre especificados.
  • Tipos devem corresponder ao tipo de dado esperado (string, number, boolean).
  • Seções devem refletir a hierarquia da interface do usuário.

Exemplo Completo

{
  "scan_interval": {
    "default": "300",
    "type": "number",
    "ui": {
      "label": {
        "en": "Scan Interval (seconds)",
        "pt": "Intervalo de Varredura (segundos)"
      },
      "description": {
        "en": "Time between network scans.",
        "pt": "Tempo entre varreduras de rede."
      },
      "type": "number",
      "section": "scan"
    },
    "validation": [
      {
        "type": "range",
        "min": 60,
        "max": 86400
      }
    ]
  }
}

Considerações Finais

Seguir estas práticas garantirá que as configurações do NetAlertX sejam consistentes, fáceis de usar e funcionais em todas as plataformas suportadas. Contribuidores devem revisar esta skill antes de adicionar ou modificar qualquer configuração.

Habilidades Relacionadas