Kubernetesの誤設定から開発者を守ることを掲げて起業したイスラエルのスタートアップDatreeが提供するツール「Datree」は、エンジニアが開発に集中できる環境としてDevOpsエンジニアなどから高い評価を得ています。DatreeにはCLI(コマンドラインインタフェース)とダッシュボード(Webアプリケーションインタフェース)が用意されており、CLIのほうはオープンソースとして提供されています。
このDatreeでCLIアプリケーション開発プロジェクトに参加した同社のエンジニア Noaa Barkiが、その経験をまとめた「CLIアプリケーションにすばらしいユーザエクスペリエンス(UX)を作る3つのステップ(3 steps to create an awesome UX in a CLI application)」という記事を「Opensource.com」に寄稿しています。
以下はBarkiが紹介する3つのステップです。
- Design the commands - コマンドを設計する
- Design the UI - UIを設計する
- Provide backward compatibility - 後方互換性を提供する
とくに1のコマンド設計に関しては、Barki自身の経験をもとに「フラグと引数」「EnumとBoolean」「プロンプト」など6つの原則を示しており、直観的で使いやすいコマンド設計の基本が説明されています。
Barki自身、今回のプロジェクトではじめてCLIアプリケーションの設計に関わったということですが、新たなチャレンジにエンジニアとしてにワクワクする一方で「どうやったらCLIアプリケーションにすばらしいUXをビルドし、使いやすくすることができるのか」を考え、同僚や友人のDevOpsエンジニアの意見も聞きながら、CLIアプリケーションの設計に取り組んだそうです。イマドキのCLIアプリケーション設計のノウハウとして、また、エンジニアによるエンジニアのための知識と経験のシェアとして、とても興味深いコンテンツだといえます。