Eliminating Single Points of Failure: Project-Language CLIs
2025-02-26
To avoid accumulating helper scripts that become single points of failure, the author experimented with writing CLI executables in the project's main language (e.g., Swift or Kotlin) instead of Bash or Ruby. This approach improves team collaboration, reduces maintenance costs, and allows for advanced features like type-safe serialization, simplifying debugging. However, Swift and Kotlin aren't ideal scripting languages; they lack the quick feedback and subprocess invocation capabilities of alternatives. The author ultimately settled on a shim file in the project root to call the built executable, simplifying the command invocation process.
Development
CLI tools