README.md

June 9, 2026 · View on GitHub

XC - command vault manager

Version: 0.9.0

Awesome Zsh Plugins License: MIT Shell GitHub release (latest by date) GitHub stars Discord

XC-Manager TUI

XC in Action:

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 lock and xc unlock to 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 --raw to handle complex commands. This bypasses shell evaluation, allowing you to save curl, 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_aliases

All distros including MacOS

HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory

Optional 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 lock and unlock encryption features.
  • curl: Necessary for synchronising community vaults via xc sync.

Arch Linux:

pacman -S zsh fzf gnupg curl

Community Sync: Pull any curated, Arch Wiki-verified "Problem-Solution" vaults directly from the repository.

VaultCommandDescription
Arch Linuxxc sync archFixes for PGP keyrings, .pacnew merges, and kernel maintenance.
Cloudxc sync cloudMulti-cloud session handling and general CLI authentication tools.
Debianxc sync debianApt repository tracking, kernel upgrades, and package maintenance.
Digital Oceanxc sync digital-oceanDroplet lifecycle, block storage, and Kubernetes cluster management.
Docker Devxc sync docker-devContainer lifecycle management and aggressive resource cleanup.
Fedoraxc sync fedoraDNF transaction history, security updates, and repository management.
General Nixxc sync general-nixEssential POSIX utilities for permissions, disk usage, and IO.
Git Proxc sync git-proAdvanced recovery, reflog navigation, and surgical commit tools.
Hyprlandxc sync hyprlandWayland specific fixes for NVIDIA, portals, and window rules.
Linux Mintxc sync linux-mintMint-specific update management and desktop environment tools.
MacOSxc sync macosHigh-utility BSD maintenance, Gatekeeper fixes, and hidden system tweaks.
Networkingxc sync networkingConnectivity diagnostics, DNS lookups, and interface auditing.
OpenSUSExc sync opensuseZypper distribution upgrades, process tracking, and system repair.
Oracle Cloudxc sync oracle-cloudCompute instance launching, VCN networking, and object storage.
Pentestingxc sync pentestingWeb fuzzing, exploit database searches, and network enumeration.
Security Auditxc sync security-auditLocal hardening, SUID discovery, and system integrity logs.
Sysadminxc sync sysadminSystem load monitoring, user management, and log filtering.
Templatesxc sync templatesInteractive snippets using placeholders for Git, SSH, and more.
Ubuntuxc sync ubuntuSnap package management, PPA handling, and HWE support status.
Vim/Neovimxc sync vim-neovimHigh-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 xc to 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 list to see your available vault files.
  • Delete Entry: Press Alt+D inside the TUI.
  • Global Search: Press Ctrl+A to search across all vaults inside the TUI.
  • Create Aliases: Select command to export -> press Alt+E -> Enter alias name -> Save
  • Sync Vaults: Run xc sync to browse the community index.
  • Save Command: Run xc after 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 -> then Ctrl+D to 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 lock encrypts the active vault and removes the plain text file.
  • Unlock a vault: xc unlock restores 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.

⭐ Star XC on GitHub

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.

Discord

License Distributed under the MIT License. See LICENSE for more information.

Status: Stable / Maintenance Mode

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.