Remix.run Logo
Show HN: CmdBox – A CLI tool for saving and running parameterized commands(github.com)
3 points by MalloyDelacroix 4 hours ago

For years I've worked with a lot of complex, hard to remember, or tedious to enter, shell commands. I managed them with shell aliases, notes, and google searches, but aliases don't support parameters well, notes are difficult to search and organize, and having to constantly google commands is tiresome. I wanted a tool that made it easy to recall infrequently used commands and allowed me to enter tedious commands quickly.

CmdBox lets you store commands with named variables using angle bracket syntax, like <host> or <port>, and either prompts you for values at runtime or lets you store values so they are reusable in several commands. It also allows for nested commands inside other commands using <cmd:command-name>, so you can build up reusable building blocks rather than duplicating logic.

A few other features it supports: stored execution context per command (working directory, shell, environment variables, and timeout) with runtime overrides, multi-line command templates executed as scripts, tag based organization and filtering, field based search across commands, import and export for command sharing, and configurable global settings for shell, output capture, color and more.

It is written in Python, installable via pip as cmdbox-cli, and works on Linux, macOS, and Windows.

I would love feedback on the concept, design, features, or anything else. Happy to answer any questions as well.