89luca89 / 89luca89/distrobox

[Suggestion] Metadata and json output in distrobox v2

Aberta
#2,033 3 comentários 0 reações 0 responsáveis Ver no GitHub
enhancement
Linguagem predominante
Go
Estrelas
13k
Forks
541
Merge médio
20h 47min
PRs com merge (30d)
4

Descrição

**Is your feature request related to a problem? Please describe.**
Hello, I'm the developer of DistroShelf, a gtk4 GUI for distrobox. I've just seen you guys are planning on doing a v2 rewrite. Could you add some metadata in the v2 version, so that external programs can more easily interface with distrobox?

**Describe the solution you'd like**
Podman (and I guess docker as well) supports the `--format json` argument for most commands. That provides the output as json. An external program such as DistroShelf could use that to interface with distrobox.

Also, a "v2" version metadata in the exported .desktop files would be helpful, so that external programs can list the exported files from distrobox v1, see that the version is different, and prompt the user to upgrade the old .desktop exports.

**Additional context**
distrobox is great! Thanks for building it. Being able to run programs from any distro is kind of magic

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Examine as implementações dos comandos do distrobox na base de código, provavelmente em cmd/ ou algo semelhante, para entender como a saída é formatada atualmente. Investigue como podman/docker implementam --format json para seus comandos. Para os metadados de versão do arquivo .desktop, descubra onde os arquivos .desktop são gerados e exportados. Adicionar a saída JSON envolverá modificar vários handlers de comandos para oferecer suporte a um formato estruturado. Teste as alterações executando comandos do distrobox com uma nova flag --format json e verificando se a saída é um JSON válido.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
bash, docker, go
Domínio
cli, developer-experience, tooling
Tipo de issue
Funcionalidade
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
55/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.