From 12f6057c795b29900e34ef940e89d2ab08c7e38b Mon Sep 17 00:00:00 2001 From: DocTator Date: Thu, 22 May 2025 09:01:03 -0400 Subject: [PATCH] Auto-commit from giteapush.sh at 2025-05-22 09:01:03 --- documents/blog/toolkit.md | 69 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 documents/blog/toolkit.md diff --git a/documents/blog/toolkit.md b/documents/blog/toolkit.md new file mode 100644 index 0000000..6b86cb1 --- /dev/null +++ b/documents/blog/toolkit.md @@ -0,0 +1,69 @@ +# Building Your Own CLI Toolkit: Introducing `genesisctl` + +After weeks of refining backup scripts, documenting resilience routines, and shoveling thousands of lines of shell logic into shape, we now have something more powerful than the sum of its parts: a unified, self-documenting, command-line interface for managing infrastructure scripts β€” `genesisctl`. + +## What is `genesisctl`? + +`genesisctl` is a simple but powerful Bash tool designed to manage and interact with the full suite of sysadmin scripts under the Genesis infrastructure umbrella. It pulls together documentation, logging, and execution into one cohesive interface. + +## Features + +* πŸ” `describe ` β€” Pretty-prints documentation and metadata from Markdown files auto-generated by our toolchain. +* πŸ“‹ `list` β€” Displays all installed tools based on your setup logs. +* πŸš€ `run ` β€” Executes a script from your `bin/` folder like a command-line native. + +## Why This Matters + +When you're running dozens of bash scripts across multiple machines β€” backups, verifications, restores, syncs, DR drills β€” things get messy. With `genesisctl`, every script: + +* Has structured metadata +* Lives in a clean hierarchy +* Comes with a Markdown doc +* Can be queried or executed with a single, consistent command + +## Example Usage + +```bash +# Describe a script and its purpose +$ ./genesisctl describe backup.sh + +# List everything you've got installed +$ ./genesisctl list + +# Run a ZFS bootstrap script +$ ./genesisctl run zfs_bootstrap.sh +``` + +## Behind the Scenes + +Every time we run our scaffold script (`setup_genesis_tools.sh`), it: + +* Reorganizes the toolchain into folders (`bin/`, `docs/`, `archive/`) +* Generates Markdown from script headers (with frontmatter) +* Logs every install to a central file + +Then `genesisctl` reads that metadata in real-time β€” no guesswork, no rot. + +## What's Next + +This framework is rock solid for CLI use. Next steps may include: + +* `genesisctl doctor` β€” to validate all tools have docs and correct structure +* `genesisctl docgen` β€” regenerate Markdown docs on demand +* Static site export of docs with category tags + +But for now? It's stable, extensible, and battle-tested. + +## Final Thoughts + +If you’ve ever tried to manage 50+ bash scripts without structure, `genesisctl` is the toolkit you wish you had. With it, documentation isn't an afterthought β€” it's baked in. + +Stay tuned. This thing’s just getting started. + +--- + +πŸ“ Repo: Coming soon to Gitea. + +πŸ“¬ Ping @doc if you want help wiring this into your own ops stack. + +πŸ’€ FailZero approved.