はじめに
何かプロジェクトを開始する時、多くの場合、必ず作っておきたいファイルというものが存在しているはずだ。 私の場合は以下の 5 つがそれに当てはまる。
- README.md - 言わずもがな、これは何かのアプリに対してあるべきファイルのはず
- Makefile - 時にはビルドの自動化のために必要だろう
- .editorconfig - エディタのコンフィグをプロジェクトごとに管理しておきたい
- .gitignore - 少なくとも、私たちは皆gitを使うだろうから、必要なはず
- .latexmkrc - 私は小説も書くので、latexmkも必要だ
これらを一つ一つ手打ちで作成するのも、どこかからコピーしてくるのも面倒くさいし、わざわざそのためにシェルスクリプトを書くと後々メンテナンスが出来ない代物と化す。 そこで、まとめて作成できるコマンドをRustで作ることにした。
インストール方法
前提事項
Rustがインストールされていること。 つまり、cargoが使えればそれでよい
インストール
以下のコマンドでインストールする。
cargo install --git https://github.com/yuni-hutsuka/bon.git
仕様
bon
bonは単体では動かない。 幾つかのサブコマンドを用いることで動作する。
サブコマンドは以下の3つである。
- config : bonのコンフィグを設定する
- template : bonのテンプレートを編集する
- voyage : 設定されたテンプレートからファイルを生成する
また、次の2つのフラグを持つ。
- -h or —help : ヘルプを表示する
- -v or —version : bonコマンドのバージョンを表示する
bon config
bon configは次の2つのサブコマンドを持つ。
- init :
~/.config/bon
以下にbonの設定ファイルを生成する - edit : bonの設定ファイルを編集する
また、次の1つのフラグを持つ。
- -h or —help : ヘルプを表示する
bon template
bon templateは次のサブコマンドを持つ。
- add : テンプレートリストに追加する
- update : テンプレートリストを編集する
- delete : テンプレートリストから削除する
- gen : テンプレートリストを元に空のテンプレートファイルを生成する
- edit : テンプレート自体を編集する
また、次の1つのフラグを持つ。
- -h or —help : ヘルプを表示する
bon voyage
bon voyageはサブコマンドを持たない。 これを実行することで、実行しているディレクトリの下にテンプレートからファイルを生成する。
また、次の1つのフラグを持つ。
- -h or —help : ヘルプを表示する
おわりに
これからの開発・執筆の効率を上げることを期待したわけだが、実際のところほとんどのWebフレームワークではinitの時にgitignoreが生成されたりするなど、使い道があまりないかもしれない。
せっかく作った物なので、どこかの誰かに使用してもらえると嬉しい。