2014-07-10 hubot-backlog-summary をつくった
hubot-backlog-summary をつくった。これは 4 月につくり、5 月に改良した、backlog-summary を CoffeeScript に移したものである。
CoffeeScript 以外の大きな変化としては、前は faithcreates/hubot-scripts に押し込まれていたのだけど、このたび別リポジトリに分けることにした。Hubot スクリプトの管理を考えなおした結果である。
Hubot スクリプトの管理をどうすべきかは、ぼくの中でもたびたび変わってきた。
たとえば、本家のように hubot-scripts にまとめてみたこともあった。しかし、hubot そのものにもリポジトリが要るし、依存する npm パッケージをインストールする設定も要るので、そちらにまとめたほうがシンプルになるので、hubot と hubot-scripts とをまとめた。このたびの hubot-backlog-summary における考えかたは、そもそも Hubot スクリプトは別パッケージ(別リポジトリ)として扱うほうが結合度が低くなり、扱いやすくなるのではないかということだ。Hubot そのもののリポジトリに入れてしまうと、他から使いたい場合にコピーするか、node_modules/
の下を探さなくてはならず、扱いづらくなる。faithcreates/sushi を例にとって考えるなら、faithcreates/sushi に固有であり、他では使うことはないと言えるものについてのみ、faithcreates/sushi に入れ、その他は別リポジトリにすべきだと思う。
まとめると、リポジトリは次のように分ける。
- Hubot リポジトリ ... faithcreates/sushi、hitoridokusho/hibot など
- Hubot スクリプトリポジトリ ... bouzuya/hubot-url、bouzuya/hubot-backlog-summary など
Hubot リポジトリからは package.json
に hubot スクリプトリポジトリを見るように設定し、使う。分けるかどうかの基準は、その スクリプトがその Hubot に真に固有と言えるかどうか。
これでよその Hubot でもインストール・設定すれば、比較的簡単に使えるようになったので、気が向いたら、どうぞ、ということ。使いかたはざっくり書くと次のような感じ。詳しくは README を見てほしい。
$ npm install bouzuya/hubot-backlog-summary --save
$ cat external-scripts.json
["hubot-backlog-summary"]