Skip to content

Latest commit

 

History

171 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Toolset

A collection of small, focused, shell-based CLIs to streamline day-to-day development and ops on Linux.

Every tool is a standalone Bash script. Install only the tools you need; no shared Toolset runtime is required.

Tools at a Glance

Tool Area Quick Summary Docs
dockex Docker Inspect, benchmark, backup/restore and clean Docker resources Docker
phpx PHP PHP version / extension manager, FPM/webserver config, doctor & tuner PHP
gitx Git Opinionated Git workflow, cleanup, summaries & changelog helper Git
chromacat Terminal output Colourful / animated text, banners & ASCII art with themes and palettes ChromaCat
sqlitex SQLite Non-interactive, flag-driven SQLite admin, migrations, seeds & tuning Sqlite
cleanx Cleanup & Inodes Safe, modular disk & inode cleaner; dry-run by default, quota/JSON/update Clean
netx Networking Network diagnostics, DNS/TLS/HTTP helpers, firewall view & outbound guard Net

Tool Documentation

  • dockex – Docker helper: Docker
  • phpx – PHP manager / doctor: PHP
  • gitx – Git workflow helper: Git
  • chromacat – colourful terminal text: ChromaCat
  • sqlitex – SQLite CLI: Sqlite
  • cleanx – disk & inode cleaner: Clean
  • netx – network toolbox (DNS/TLS/HTTP/ports/firewall): Net

Installation

Stable installations use GitHub release assets, not the mutable main branch. Each release publishes the seven standalone CLIs, install.sh, SHA256SUMS, and manifest.json.

Latest stable release

The release installer defaults to ~/.local/bin and verifies every selected tool against SHA256SUMS before installation:

curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh"
bash install.sh gitx

Install several tools or the whole suite:

bash install.sh gitx netx sqlitex
bash install.sh --all

One liners

For a quick all/individual install, use the same checksum-verifying installer in one command.

curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh" && bash install.sh --all && rm -f install.sh
curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh" && bash install.sh chromacat && rm -f install.sh
curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh" && bash install.sh cleanx && rm -f install.sh
curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh" && bash install.sh dockex && rm -f install.sh
curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh" && bash install.sh gitx && rm -f install.sh
curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh" && bash install.sh netx && rm -f install.sh
curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh" && bash install.sh phpx && rm -f install.sh
curl -fsSLO "https://github.com/infocyph/Toolset/releases/latest/download/install.sh" && bash install.sh sqlitex && rm -f install.sh

For an exact Toolset 2.0 install, replace releases/latest/download with releases/download/2.0 and pass --release 2.0, for example:

curl -fsSLO "https://github.com/infocyph/Toolset/releases/download/2.0/install.sh" && bash install.sh --release 2.0 chromacat && rm -f install.sh

Use another writable installation directory when needed:

bash install.sh --prefix "$HOME/bin" gitx

For a system-wide directory, privilege elevation is explicit; the installer never invokes sudo itself:

sudo bash install.sh --prefix /usr/local/bin gitx

Exact reproducible release

Pin the suite release and verify the installer itself before running it:

release="2.0"
base="https://github.com/infocyph/Toolset/releases/download/${release}"

curl -fsSLO "${base}/install.sh"
curl -fsSLO "${base}/SHA256SUMS"
grep '  install.sh$' SHA256SUMS | sha256sum -c -

bash install.sh --release "$release" gitx netx

The installer also verifies each requested CLI, syntax-checks it, validates its --version contract, stages the replacement in the destination directory, and preserves an existing installation as <tool>.previous.

Direct single-file installation

You can install a release asset without the installer:

release="2.0"
tool="gitx"
base="https://github.com/infocyph/Toolset/releases/download/${release}"

curl -fsSLO "${base}/${tool}"
curl -fsSLO "${base}/SHA256SUMS"
grep "  ${tool}$" SHA256SUMS | sha256sum -c -

install -m 0755 "$tool" "$HOME/.local/bin/$tool"

Stable Toolset suite tags use MAJOR.MINOR; Toolset 2.0 is published from immutable tag 2.0.

Support, Safety & Automation Contracts

Toolset targets Linux with capability-gated features rather than claiming identical behavior on every distribution. CI smoke-covers Debian 13, Ubuntu 24.04, Fedora 42 and Alpine 3.22 with Bash. High-impact operations remain tool-specific and are documented in each tool README and the suite contract.

Released consumers should pin immutable stable tag 2.0 or the tagged commit SHA; published assets are immutable.


Development Builds

The main branch is development state and is intentionally not the stable installation channel. If you explicitly test a development snapshot, pin a commit SHA rather than relying on a moving branch URL.


Contributing

Bug fixes, small UX improvements, new subcommands or better docs are welcome. Open an issue or PR against this repository.


License

Licensed under the MIT License. See LICENSE for details.

About

Manage local development tools with ease!

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages