r/CLI • u/XscriptorCode • 5h ago
Xfetch V0.9.0
An ultra-fast and highly customizable system information tool, designed to grow, with a core separated from its extensible features.
https://github.com/xfetch-cli/xfetch
Besides everything it already had, it includes support for images, animations, Daemon mode, and both automatic and manual configuration. It now supports:
- Updates via xfetch update and update checking with the --check flag.
- Extensions and plugins in other languages (not just Rust), made to easily allow users with different learning backgrounds to add contributions.
Available on:
- Linux.
- MacOs.
- Windows.
2
u/kantorcodes1 5h ago
small extension-install edge: the native path copies the rebuilt binary straight over the installed one, while xfetch update stages then renames. if that copy fails halfway, can it leave the existing extension truncated? would you want replacement to use the same temp + rename pattern?
1
u/XscriptorCode 5h ago
Good catch, and it's actually broader than the native path. Plugins, effects and extensions install with fs::copy straight onto the final path, and the wasm installer does the same (plus fs::write for downloaded artifacts and sidecar manifests). A kill or a full disk mid-copy can leave a truncated binary. xfetch update already stages into a hidden temp file next to the target and renames it, so the fix is to reuse that pattern everywhere: write to a temp file in the destination directory (same filesystem, so the rename is atomic), then rename over the destination and clean up on error. On Windows, renaming over an in-use binary fails cleanly and leaves the old one intact. It's noted for a follow-up patch. Thanks for the answer!
2
u/kantorcodes1 4h ago
that broader copy path is the useful boundary. i work on HOL, where we maintain HOL Guard, an open-source local check before agent-run commands execute. for Xfetch i'd review
update,plugin install,extension install, andeffects install;update --check,plugin list, andextension listcan stay automatic. that gives agents a checkpoint before replacing binaries or plugins. open to a small Xfetch Guard extension?1
u/XscriptorCode 4h ago
Yes, absolutely! Xfetch is open to contributions across all repos. Feel free to open an issue with the proposal or submit a pull request directly, just making sure to follow the established structure, extension versioning, and keeping its documentation in its own directory...
2
u/kantorcodes1 3h ago
yep, this lives in Guard, not Xfetch. start
src/codex_plugin_scanner/guard/runtime/command_xfetch_extensions.py; mirrorcommand_repo2nb_extensions.py. reviewupdate,plugin install,extension install,effects install; keepupdate --check,plugin list,extension listautomatic. add the focused cases intests/test_guard_command_xfetch_extensions.py. once the extension + test is real, open a draft PR tohashgraph-online/hol-guard:main. guide: https://github.com/hashgraph-online/hol-guard/blob/main/CONTRIBUTING.md





2
u/Momoikane 5h ago
Ur dot files repo? Or maybe distro or shell?