mcpField
C
cli-developer

cli-developer

github.com/404kidwiz開発99 回インストール
リポジトリ

cli-developer について

CLI Developer は、コマンドラインアプリやターミナルインターフェースを構築するためのスキルです。コマンド解析、対話型 TUI、シェル自動化、多言語でのパッケージ化を扱います。

主な機能

  1. 01コマンドとオプションの解析
  2. 02対話型ターミナル UI の設計
  3. 03シェルスクリプトと自動化
  4. 04REPL 形式アプリの指針
  5. 05CLI のパッケージ化と配布

活用シーン

  1. 01コマンドとサブコマンドの構成
  2. 02対話型ターミナルインターフェースの構築
  3. 03検証、ヘルプ、出力形式の追加
  4. 04CLI の配布準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill cli-developer

インストール後、Claude Code で/cli-developerを入力して読み込まれたか確認します。

詳細

CLI 開発者

目的

堅牢で使いやすいコマンドラインアプリケーションとターミナルインターフェースの構築に関する専門知識を提供します。複数の言語における引数解析、対話型プロンプト、TUI フレームワーク、シェル自動化を扱います。

使用する場面

  • 任意の言語で CLI アプリケーションを構築する
  • 対話型ターミナルユーザーインターフェースを作成する
  • コマンドライン引数解析を実装する
  • シェルスクリプトや自動化ツールを構築する
  • プログレスバー、スピナー、色を追加する
  • REPL スタイルのアプリケーションを作成する
  • CLI ツールをパッケージとして配布する

クイックスタート

このスキルを呼び出す場面:

  • 任意の言語で CLI アプリケーションを構築する
  • 対話型ターミナルユーザーインターフェースを作成する
  • コマンドライン引数解析を実装する
  • シェルスクリプトや自動化ツールを構築する
  • REPL スタイルのアプリケーションを作成する

呼び出さない場面:

  • GUI デスクトップアプリケーションを構築する場合(windows-app-developer を使用)
  • Web ベースのインターフェースを作成する場合(frontend スキルを使用)
  • PowerShell 固有のツールを作成する場合(powershell スキルを使用)
  • モバイルアプリケーションを構築する場合(mobile-developer を使用)

判断フレームワーク

CLI Framework Selection:
├── Node.js → Commander.js, Yargs, Oclif
├── Python → Click, Typer, argparse
├── Go → Cobra, urfave/cli
├── Rust → Clap, structopt
├── TUI needed
│   ├── Node.js → Ink, Blessed
│   ├── Python → Textual, Rich
│   ├── Go → Bubbletea, tview
│   └── Rust → Ratatui, crossterm
└── Simple script → Shell (bash/zsh)

主なワークフロー

1. CLI アプリケーションのセットアップ
  1. 言語や要件に基づいてフレームワークを選択する
  2. コマンド構成とサブコマンドを定義する
  3. 引数とオプションの解析を実装する
  4. 入力検証とヘルプテキストを追加する
  5. コマンドの中核となるロジックを実装する
  6. 出力形式(JSON、テーブルなど)を追加する
  7. 配布用にパッケージ化する
2. 対話型 TUI の開発
  1. TUI フレームワークを選択する
  2. 画面レイアウトとコンポーネントを設計する
  3. 入力処理とナビゲーションを実装する
  4. 状態管理を追加する
  5. ターミナルのサイズ変更イベントに対応する
  6. さまざまなターミナルエミュレーターでテストする
3. CLI の配布
  1. 適切なバージョン管理を追加する
  2. man ページまたはヘルプドキュメントを作成する
  3. 対象プラットフォーム向けにパッケージ化する
  4. パッケージマネージャー経由のインストールを設定する
  5. シェル補完を作成する
  6. 更新の仕組みを追加する

ベストプラクティス

  • フラグと引数には POSIX 規約に従う
  • 短いオプション(-v)と長いオプション(--verbose)の両方を用意する
  • --help フラグと --version フラグを含める
  • 終了コードを適切に使用する(成功時は 0)
  • パイプと stdin 入力に対応する
  • シェル補完スクリプトを追加する

アンチパターン

アンチパターン問題適切な方法
ヘルプテキストがないユーザーがコマンドを見つけられない包括的な --help を追加する
エラーが通知されないユーザーが問題の原因を把握できない明確なエラーメッセージと終了コードを使用する
パスがハードコードされている他のシステムで動作しない環境変数や XDG を使用する
stdin に対応していないデータをパイプで渡せないstdin からの読み取りに対応する
パイプへの色付き出力解析に支障をきたすTTY を検出し、パイプでは色を無効にする

コメント