Version: 0.9.0
XC in Action:
xc-manager-final.mp4
XC is a lightweight, Zsh-native vault manager for command execution. It’s for anyone who live in the CLI and need a fast, searchable, and now secure way to manage their most important one-liners. No bloat, no complex dependencies. Just your commands, vaulted.
Status: Feature Complete [v0.9.0] XC command vault manager has officially reached its feature-complete milestone. All planned functionality, including template engines, global search, and GPG security, is now implemented and stable.
Recent Fixes & Updates [0.9.0]
- Vault Security: Integrated GPG symmetric encryption. Use
xc lockandxc unlockto protect sensitive commands, API keys, and environment variables. - Pre-flight Safety: Added extension-aware logic to prevent accidental operations on encrypted vaults.
- Raw Input Capture: Added
xc add --rawto handle complex commands. This bypasses shell evaluation, allowing you to savecurl,jq, and nested subshells exactly as they are written without the shell stripping quotes or expanding variables. - Community Vaults: Expanded the curated collection via
xc sync. All community vaults now contain at least 50 useful commands and strings.
Installation:
Arch Linux (AUR)
yay -S xc-manager-git
Manual Installation
Clone the repository:
git clone https://github.com/Rakosn1cek/xc-manager.git ~/.zsh-plugins/xc-manager
Add to ~/.zshrc:
source ~/.zsh-plugins/xc-manager/xc.plugin.zsh
[[ -f ~/.zsh_aliases ]] && source ~/.zsh_aliasesAll distros including MacOS
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistoryOptional UI Customisation
zstyle ':xc:*' separator "->"
zstyle ':xc:*' fzf_colors "fg:7,hl:4,fg+:15,hl+:12,info:2,prompt:5,pointer:12"Initialise (First time only):
xc init
Dependencies:
To ensure all features work as intended, make sure the following are installed:
- Zsh: The core shell environment (version 5.8+ recommended).
- fzf: Powering the fuzzy search and interactive selection.
- GnuPG: Required for the
lockandunlockencryption features. - curl: Necessary for synchronising community vaults via
xc sync.
Arch Linux:
pacman -S zsh fzf gnupg curlCommunity Sync: Pull any curated, Arch Wiki-verified "Problem-Solution" vaults directly from the repository.
| Vault | Command | Description |
|---|---|---|
| Arch Linux | xc sync arch |
Fixes for PGP keyrings, .pacnew merges, and kernel maintenance. |
| Cloud | xc sync cloud |
Multi-cloud session handling and general CLI authentication tools. |
| Debian | xc sync debian |
Apt repository tracking, kernel upgrades, and package maintenance. |
| Digital Ocean | xc sync digital-ocean |
Droplet lifecycle, block storage, and Kubernetes cluster management. |
| Docker Dev | xc sync docker-dev |
Container lifecycle management and aggressive resource cleanup. |
| Fedora | xc sync fedora |
DNF transaction history, security updates, and repository management. |
| General Nix | xc sync general-nix |
Essential POSIX utilities for permissions, disk usage, and IO. |
| Git Pro | xc sync git-pro |
Advanced recovery, reflog navigation, and surgical commit tools. |
| Hyprland | xc sync hyprland |
Wayland specific fixes for NVIDIA, portals, and window rules. |
| Linux Mint | xc sync linux-mint |
Mint-specific update management and desktop environment tools. |
| MacOS | xc sync macos |
High-utility BSD maintenance, Gatekeeper fixes, and hidden system tweaks. |
| Networking | xc sync networking |
Connectivity diagnostics, DNS lookups, and interface auditing. |
| OpenSUSE | xc sync opensuse |
Zypper distribution upgrades, process tracking, and system repair. |
| Oracle Cloud | xc sync oracle-cloud |
Compute instance launching, VCN networking, and object storage. |
| Pentesting | xc sync pentesting |
Web fuzzing, exploit database searches, and network enumeration. |
| Security Audit | xc sync security-audit |
Local hardening, SUID discovery, and system integrity logs. |
| Sysadmin | xc sync sysadmin |
System load monitoring, user management, and log filtering. |
| Templates | xc sync templates |
Interactive snippets using placeholders for Git, SSH, and more. |
| Ubuntu | xc sync ubuntu |
Snap package management, PPA handling, and HWE support status. |
| Vim/Neovim | xc sync vim-neovim |
High-speed motions, global search/replace, and health checks. |
Features:
- Template Engine: Support for {{placeholders}} with interactive prompts.
- Alias Export: Convert any vaulted command into a permanent Zsh alias with
Alt+E. - Global Search: Toggle between local vault and global search using Ctrl+A and
Ctrl+R. - Proactive Saving: Run
xcto save the command you just executed. - FZF Integration: Fuzzy search with live previews.
- Distro Agnostic: Works on Arch, Fedora, Debian, and macOS.
- Vault Security: Symmetric GPG encryption to protect sensitive commands and API keys.
- Save commands with {{variables}} to create templates. XC prompts for input during execution.
- Global Swap: Using the same name (e.g. cp {{file}} {{file}}.bak) prompts once and updates all instances.
- Individual Control: Use unique names (e.g. mv {{old}} {{new}}) to prompt for each value separately.
Usage Guide:
- Launch TUI: Press Ctrl+G anywhere in your terminal.
- Switch Vault: Use
xc use <name>to change your active context (e.g. xc use work). - List Vaults: Run
xc listto see your available vault files. - Delete Entry: Press
Alt+Dinside the TUI. - Global Search: Press
Ctrl+Ato search across all vaults inside the TUI. - Create Aliases: Select command to export -> press
Alt+E-> Enter alias name -> Save - Sync Vaults: Run
xc syncto browse the community index. - Save Command: Run
xcafter successful command -> Enter descriptions -> Save - Select Command from History: Run
xc select-> choose command to save -> Enter descriptions -> Save - Capture Raw Text: Run
xc add --raw-> paste complex command -> Press Enter -> thenCtrl+Dto enter descriptions -> Save - Check Version: Run
xc -v
Security & Encryption
- For vaults containing sensitive environment variables, API keys, or internal IPs, XC now supports symmetric encryption via GPG.
- Lock a vault:
xc lockencrypts the active vault and removes the plain text file. - Unlock a vault:
xc unlockrestores the vault to plain text for editing/searching. - Protection: XC will automatically block search and add operations if a vault is locked, preventing binary data corruption or accidental plain text writes.
Note 1: Aliases are saved by default to ~/.zsh_aliases. If you prefer to save them directly into your main config file, add this to your .zshrc:
export XC_ALIAS_TARGET="$HOME/.zshrc"Vaults are saved by default in$HOME/.local/share/xc. The active state (which vault you are currently using) is tracked in$HOME/.cache/xc_active_vault
Note 2: Optional Integrations Alias Browser (als) If you want an easy way to browse and run your newly created aliases using
fzf, Check out my show-aliases.sh script. It searches both your .zshrc and .zsh_aliases to give you a unified, interactive menu. View Script: on GitHub Show-Aliases Script
Long-term research
[ ] Cross-Shell Research (Bash/Fish wrappers)
Note: I have reached the original goals for this project and will not be personally pursuing cross-shell support. If you are interested in implementing Bash or Fish wrappers, contributions and PRs are welcome.
Support & Feedback
- Bug Reports: If something isn't working, please open an Issue.
- Feature Ideas: To discuss the roadmap or suggest a polish, head over to theDiscussions tab.
- Community Snippets: Have a complex one-liner you've vaulted? Share it in the "Show and Tell" discussion.
If XC-Manager has made your CLI life easier, consider giving it a star on GitHub! It helps other developers find the tool.
Tired of hostile Linux forums? Join the Discord server. A focused, friendly space to discuss XC with the developer and other users. No gatekeeping, just Linux tools.
License Distributed under the MIT License. See LICENSE for more information.
XC has officially reached its design goals and is now considered feature-complete. The core logic, including the template engine, global search, and GPG symmetric encryption is stable, reliable, and thoroughly tested. As there are no outstanding bugs or required feature expansions, active development has transitioned into a dedicated maintenance and discovery phase. The focus moving forward is strictly on ensuring long-term compatibility with future Zsh updates, maintaining repository security, and curating community vault submissions.
What this means for users:
The tool is safe, dependable, and production-ready. No breaking changes or disruptive feature creep will alter your established workflows.
Bug Reports & Security:
If a future shell update breaks compatibility or an issue is discovered, please open a ticket on the GitHub Issues tab. These will be addressed promptly.
Contributions: While the core codebase is frozen, contributions to the community vaults via Discussions are highly encouraged. Please share your useful command templates and one-liners in the GitHub Discussions area or over on the Discord server.