Introdução
Essa é uma abordagem para criar um sistema de CLI que permite customizações de forma segura, simples e com erros bem visíveis. A ideia é que você apenas rode um comando para que o sistema busque um arquivo manifest.json que contém as especificações de compatibilidade e o passo a passo de instalação.
Implementação do Sistema
O sistema será responsável por:
- Buscar o arquivo
manifest.jsonno diretório~/.themesync/customs. - Implementar a customização de acordo com as especificações do arquivo.
- Implementar um sistema de rollback para customizações selecionadas.
Exemplo de Comando
Para iniciar a customização, você pode usar o seguinte comando:
``bash``
customizer --customization-id <id_customizacao>
Exemplo de Manifest JSON
O arquivo manifest.json pode ter a seguinte estrutura:
``json``
{
"id": "<id_customizacao>",
"description": "Descrição da customização",
"path": "<caminho_do_arquivo>" // O caminho do arquivo que será instalado.
}
Exemplo de Comando para Imprimir Manifest JSON
Para imprimir o conteúdo do manifest.json de forma limpa e legível, você pode usar o seguinte comando:
``bash``
customizer --print-manifest
Exemplo de Comando para Listar Customizações
Para listar todos os IDs de customizações presentes na pasta ~/.themesync/customs, você pode usar o seguinte comando:
``bash``
customizer --list-customizations
Exemplo de Comando para Deletar Customização
Para deletar uma customização específica e retornar um backup ID para um rollback, você pode usar o seguinte comando:
``bash``
customizer --delete-customization <id_customizacao>
Implementação de Erros e Segurança
- Erros de Imcompatibilidade Críticos: Se o sistema encontrar uma customização que não é compatível, ele retornará um erro claro e direto.
- Segurança: O sistema usa funções seguras do próprio sistema para implementar a customização, garantindo que a segurança do sistema não seja comprometida.
Conclusão
Este é apenas um sonho inicial. Estamos construindo um sistema robusto e seguro para customizações de CLI. Se você tiver feedback ou quiser estrelar nosso repositório, ficaremos muito gratos!
Feedback e Estrelas no Repositório