3 ms·
Really great advice here. But missing one key area: Continuous Delivery / Change Management. I believe any policy without change management principles isn't re
by rdsubhas 8y ago
Really great advice here. But missing one key area:
Continuous Delivery / Change Management. I believe any policy without change management principles isn't really complete, especially when its about 12factor which is considered a gold standard for production.
* CLIs are notoriously difficult to update because you have to convince every single consumer to update it manually, otherwise you just have scattered logic everywhere. Having an update workflow is essential before releasing the first version in production.
* Closely tied, a clear Backwards compatibility policy.
Apart from those two major items, I have also found one optionally nice pattern to reason about CLIs:
Design CLIs like APIs wherever possible. Treat subcommands as paths, arguments as identifiers, and flags as query/post parameters. It's not always applicable, but doing that for large internal tools helps against the "kitchen sink" syndrome.