Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
docopt-ng
Humane command line arguments parser. Now with maintenance, typehints, and complete test coverage.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Use http://docopt.org/ to standardize the format of your command line parameters themselves. Having a subcommand like paste or cut is really common these days, so you're in good company in diverging from less modern IEEE/GNU command line option standards. However, cut4 and paste1 are awful and will break interoperability with all sorts of existing programs that deal with other command line tools. pipe in and pipe out are differently problematic, but not completely awful... until you get to pipe in2 which is, by far, the worst. I don't know of any tools that will play nice with that.
Read https://www.zdnet.com/article/what-are-man-pages-and-why-are-they-important-to-your-linux-education/ and make a standards-compliant man page so that tools like https://github.com/nevesnunes/sh-manpage-completions can make use of it to improve the user experience of your users. Oh, and so that humans can read it too.
I like the idea of docopt but looks like it is no longer maintained unfortunately: https://github.com/docopt/docopt/issues/494. However others are carrying it forward at https://github.com/jazzband/docopt-ng
This is great, I'm in the process of building a similar tool but I was holding off on releasing it until it supports recursive copying for directories. My use case was mostly having to copy or move a file between two terminal tabs or windows, which is tedious to do with cp or mv