blog.bouzuya.net

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 リポジトリからは package.json に hubot スクリプトリポジトリを見るように設定し、使う。分けるかどうかの基準は、その スクリプトがその Hubot に真に固有と言えるかどうか。

これでよその Hubot でもインストール・設定すれば、比較的簡単に使えるようになったので、気が向いたら、どうぞ、ということ。使いかたはざっくり書くと次のような感じ。詳しくは README を見てほしい。

$ npm install bouzuya/hubot-backlog-summary --save

$ cat external-scripts.json
["hubot-backlog-summary"]