chatGPT、Gemini、Claude、Perplexityなどの生成系AIにコードの修正や解説をさせるときに、コードのファイル名とファイル内容を貼り付けたいことが多い。 しかし、多くのソフトウェアは複数のファイルから構成されているため、 1ファイルずつ開いて、ファイル名とファイル内容を1つずつコピペするのが地味にめんどくさいかった。
そこで、このめんどうな作業を楽にするために、pcp
というツールを作った。
pcp
という名前のcとpはcopyとpasteだと思うが、もう1つのpはどういう気持ちでつけたかは忘れてしまった。
インストール方法や具体的な使い方はREADMEを読んでもらうのがいいが、
pcp <file>
とコマンドを叩くとマークダウンのコードブロック形式でファイル名付きで標準出力に出力するツールである。
自分は pcp a.txt | pbcopy
のようにそのままclipboardに流している。
実装はシンプルなので特に解説する要素もない。
挙動も実装もシンプルなプログラムだが、作ってみると自分にとって便利なツールになった。 ファイル名として出力されるのは正確には現在のディレクトリからファイルへのパスである。 そのため、ルートディレクトリからファイルを指定してあげればファイル階層を説明する必要がないのが結構便利だった。
また、pcpは複数のファイル指定にも対応しているので複数ファイルの場合も1回のコピペで済むのが個人的には都合が良かった。