[Feature Request] Add `xtool update` command for automatic CLI updates
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start by reading the CLI command definitions and release packaging workflow to see how xtool exposes commands and names downloadable binaries; those entry points are not identified in the issue. Then assess version lookup, platform and architecture selection, checksum verification, and safe executable replacement. Done means xtool update installs the latest stable release and --check reports availability without installing, with failures handled safely.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature Request
Description
It would be great to have a built-in xtool update command that allows users to update xtool directly from the CLI without manually downloading and replacing the executable.
Currently, updating a manually installed version can require visiting GitHub Releases, downloading the correct binary for the system architecture, and replacing the existing installation.
A built-in updater would make this process much easier, especially for Linux and WSL users.
Proposed Solution
Add the following commands:
xtool update
Automatically check for the latest stable release and install it if a newer version is available.
xtool update --check
Check whether a newer version is available without installing it.
Expected Behavior
- Detect the currently installed xtool version.
- Fetch the latest release information from GitHub.
- Compare the installed version with the latest release.
- Detect the user's operating system and architecture.
- Download the appropriate release binary.
- Verify the downloaded binary's integrity when checksums are available.
- Safely replace the existing executable.
- Display a success message with the updated version.
Example output:
$ xtool update
Checking for updates...
Current version: 1.x.x
Latest version: 1.y.y
Downloading update...
Verifying download...
Installing update...
Successfully updated xtool to 1.y.y!
Additional Suggestions
- Support Linux, macOS, and Windows/WSL where applicable.
- Provide
--forceto reinstall the current version. - Support
--pre-releasefor users who want to try beta versions. - Detect package-manager installations and direct users to the appropriate update method.
- Handle permission errors gracefully.
- Preserve existing configuration, authentication, and SDK files.
- Avoid leaving a broken installation if downloading or replacing the binary fails.
Motivation
This would improve the developer experience and make keeping xtool up to date much more convenient, particularly for users who install it manually or use it inside WSL.
Thanks for considering this feature and for your work on xtool!
- Lenguaje dominante
- Swift
- Estrellas
- 5.5k
- Forks
- 163
- Merge medio
- 19 h 33 min
- PR fusionados (30 d)
- 25
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de xtool-org/xtool
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Error: exited(127)Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
xtool-org/xtool#364 · 6 reacciones ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
xtool-org/xtool#359 · 3 comentarios · 2 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de xtool-org/xtool
Issues similares
-
product / auth product / databases product / functions product / messaging product / storage product / vcs
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
storage: eliminate force-unwraps and fatalError in continueStreamingUploadPosiblemente ocupada @chingor13 la tomó hoy. Abiertoapi: storage type: cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
googleapis/google-cloud-swift#1527 ·
Los mantenedores suelen responder en 1 día
-
ci-failure ci:assertion test
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openwatersio/slackwater-ios#811 ·
Los mantenedores suelen responder en 1 día
-
ai-assisted
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
swiftlang/swift-testing#1979 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
foxglove/mcap#1907 · 1 comentario ·
Los mantenedores suelen responder en 1 día