私はあまり記憶力が良いほうではない。長年にわたってUnixを使ってきたが、いまだに ln -s
コマンドで リンク元が第一引数だったか第二引数だったかあやふやなときがある。
こういうとき、ターミナルでは man
か ln --help
で確認することになるが、こういったドキュメントは正確性や網羅性を重視していて、あまり読みやすくはない。先日、ripgrep
コマンドの使い方を調べようと rg --help
を実行したが、 表示されるヘルプメッセージは1500行もあり、こんなのはとても読んでいられない。
かといってブラウザを起動して検索するのは面倒だし、AIに質問して回答を得るのも2~30秒はかかる。 ターミナルで参照できるドキュメントとしては tldr などが知られているが、こちらは使用例が中心ですこし物足りない。
ほかにめぼしいツールはなさそうだったので、AIを使って定型フォーマットの簡易マニュアルを作成し、ローカルに保存して参照できるコマンドを作成してみた。ドキュメントはMarkdownで生成し、以前作った簡易ターミナルMarkdown viewerで表示する。
最初にコマンドの解説を100件ほど生成して使ってみると、これがなかなか便利だ。即座に応答が返ってくるので、「便利なオプションがあった気がするけど調べるのめんどくさいから力技で対処」ということが減る。未対応のコマンドはその場でドキュメントを生成できるようにした。だいたい20秒ほどで作成できる。
面白くなってきたので、このツールを独立したリポジトリに格納し、公開することにした。初期プロジェクトの作成をClineにやらせると、noman
というコマンド名を提案してきた。人が作らない man
だから noman
だ。 美辞麗句にあふれたREADME
.md も勝手に作ってくれた。
オンデマンドでドキュメントを生成する機能は一旦無効にしてしまったが、 現状で150種類以上のコマンド のドキュメントが英語と日本語で参照できるようになっている。興味があれば見てほしい。
noman
は PyPIの noman-cli からインストール可能だが、いまどきは uv を使ってインストールするのが良いだろう。
まだ uv を導入していない場合は、以下のコマンドでインストールする:
curl -LsSf https://astral.sh/uv/install.sh | sh
インストール後、 ~/.local/bin
ディレクトリに PATH
を通し、
uv tool install noman-cli
で noman
をインストールできる。
Copyright © 2020 Atsuo Ishimoto
Powered by miyadaiku