まだ作っています。リリースまでもう少しお待ちください

macOS アプリ

PR とコミットの数を、とりあえず数えます。

それ以上のことはしません。GitHub のアウトプットを集計して、そのまま配れる HTML レポートにするだけの Mac アプリです。

まず注意書きを読む販売はまだ準備中です
  • 月 ¥100 / 年 ¥1,000
  • データは Mac の中だけ
  • サーバー不要

今月マージされた PR

1,248

前期比 +18%先月は 1,057

で、生産性は上がった?

わかりません。cacika にわかるのは、数が増えたことだけです。

ここ、大事なところです

先に言っておきます

この数字で、生産性は測れません。

数が多い = 生産性が高い、ではありません

PR やコミットはアウトプットの数です。それが誰かの役に立ったか(アウトカム)は、数を見てもわかりません。1 行の修正が事業を救うこともあれば、100 個の PR が何も動かさないこともあります。

人事評価に使うと、逆効果になります

数で評価されるとわかれば、数を増やすのが最適解になります。PR を細かく刻めば数字は伸びる。そうして数字だけがきれいになり、実態は何も良くならない。これはコブラ効果、グッドハートの法則として昔から知られています。

それでも、まず数えたいときはあります

アウトカムの計測には指標の定義から必要で、時間も議論もかかります。その前に「まず今の状態を把握したい」と考えるのは、まっとうな出発点です。cacika が引き受けるのは、そこだけです。

「測定が目標になると、それは良い測定ではなくなる」
グッドハートの法則

それを承知の上で、安く・安全に・すぐ数えられる道具として作りました。使い方を間違えなければ、役に立つと思います。

cacika-report.html
チームごとの PR 数・コミット数・前期比が並んだ cacika のレポート画面

これが出力される HTML レポート。ブラウザで開くだけで読めます

できること

ぜんぶ、Mac の中で終わります

データの取得も保存もレポート作成もこのアプリの中で完結します。リポジトリの情報を外部サービスに預ける必要はありません。

GitHub データ取得

GitHub API を通じて指定期間の PR・コミットデータを収集。取得進捗をリアルタイムログで確認でき、前回の取得日時を自動的に次回の起点として提案します。

HTML レポート

スタンドアローンなHTML ファイルを生成。サーバー不要でブラウザだけで閲覧でき、日次〜年次まで集計粒度を切り替えられます。

自動スケジュール取得

2・4・8・12 時間ごとのバックグラウンド自動取得。実行曜日と除外時間帯(例:深夜〜早朝)を細かく設定できます。

セキュアなトークン管理

GitHub fine-grained PAT を暗号化し ローカル保存するのみ。

YAML コンフィグ

集計するリポジトリ・チーム・メンバーの設定 は YAML で設定。

データ管理

収集データを JSON でバックアップ・復元。全データはローカルの SQLite に保存され、完全削除(確認ステップ付き)にも対応します。

数えるもの

数えられるのは、この 6 つだけです

どれも下の粒度で切り替えて見られます。これ以上のことは数えませんし、数えられません。

PR 数
指定期間にマージされた Pull Request の数
コミット数
指定期間のコミットの数
前期比(%)
直前の同じ期間と比べた増減
1人あたりの PR 数
チームの PR 数をメンバー数で割った数(小数点第2位切り捨て)
1人あたりのコミット数
チームのコミット数をメンバー数で割った数(同上)
インシデント率(%)
全 PR のうち、インシデントラベルが付いた PR の割合

+α

リリース進行だけ、別のレポートで日数を数えます(β版機能)

GitHub Project を使っているチーム向けのおまけです。仕様の issue から開発 issue・PR・テスト issue をたどって、それぞれ何日かかったかを並べます。数えるのは日数だけで、速い・遅いの判断はしません。設定した場合にだけ出てきます。

※この機能は仕様、開発、テストをすべてGitHubのissueを使用している前提でのみ集計できる機能なのでご注意ください。

  • 企画開始〜リリース
  • 開発(全体・issue ごと)
  • テスト(全体・issue ごと)

画面

アプリと、出てくるレポート

メイン画面 — レポート出力・データ取得・実行履歴

メイン画面

レポート出力・データ取得・実行履歴

スケジュール設定 — 自動取得の間隔・曜日・除外時間帯を設定

スケジュール設定

自動取得の間隔・曜日・除外時間帯を設定

コンフィグ設定 — YAML でリポジトリ・チーム・メンバーを管理

コンフィグ設定

YAML でリポジトリ・チーム・メンバーを管理

GitHub Token 登録 — 暗号化してローカルに安全に保存

GitHub Token 登録

暗号化してローカルに安全に保存

設定・データ管理 — 設定とデータの書き出し・取り込み

設定・データ管理

設定とデータの書き出し・取り込み

ライセンス — メールアドレス・有効期限の確認と、このデバイスの解除

ライセンス

メールアドレス・有効期限の確認と、このデバイスの解除

メンバー — 誰が何 PR 出したか。前の期間との差も出ますが、優劣の話ではありません

メンバー

誰が何 PR 出したか。前の期間との差も出ますが、優劣の話ではありません

チーム — チームごとの合計と、1 人あたりの数。人数が違うチームを雑に比べないための数字です

チーム

チームごとの合計と、1 人あたりの数。人数が違うチームを雑に比べないための数字です

障害発生 — incident ラベルの付いた PR がどれくらいの割合か、その推移

障害発生

incident ラベルの付いた PR がどれくらいの割合か、その推移

メンバー詳細 — 1 人分の PR・コミット・障害・QA 修正を、直近 6 期間ぶん並べたところ

メンバー詳細

1 人分の PR・コミット・障害・QA 修正を、直近 6 期間ぶん並べたところ

リリース進行 — 仕様の issue が、企画から開発・テストまで何日かかっていたか

リリース進行

仕様の issue が、企画から開発・テストまで何日かかっていたか

リリース進行の詳細 — 1 つの仕様にぶら下がった issue を、ガントチャートで並べて眺めます

リリース進行の詳細

1 つの仕様にぶら下がった issue を、ガントチャートで並べて眺めます

はじめかた

5 ステップで動きます

インストールしたあとにやることは、トークンの登録と集計対象を決めることだけです。

  1. 1

    アプリを起動する

    ダウンロードした cacika.app を開きます。

  2. 2

    GitHub Token を登録する

    設定 → 一般 タブで Personal Access Token を入力。暗号化してローカルに保存されます。

  3. 3

    コンフィグをインポートする

    設定 → コンフィグ タブで config.yaml をインポート。集計対象のリポジトリ・チーム・メンバーを定義します。

  4. 4

    データを取得する

    メイン画面の「最新のデータを取得」でデータ収集を開始。または自動スケジュールを設定してバックグラウンド取得を有効にします。

  5. 5

    レポートを出力する

    「レポートを出力」ボタンで HTML レポートを生成・保存。ブラウザで開くだけで閲覧できます。

料金

月 ¥100 か、年 ¥1,000 の 1 ライセンス

期間が違うだけで、できることは同じです。メンバーが増えても料金は変わりません。1 ライセンスでチーム全体のリポジトリを集計できます。安いのは、やっていることが単純だからです。

どちらのライセンスでも

  • macOS アプリ 1 ライセンス
  • リポジトリ数・メンバー数の制限なし
  • 自動スケジュール取得もぜんぶ入り
  • ライセンス期間中のアップデートは無料
  • データはすべて手元に保存(外部サーバーなし)
動作環境
macOS
必要なもの
GitHub fine-grained PAT
データの保存先
手元の Mac(SQLite)

1 年ライセンス

2 ヶ月ぶんお得
¥1,000/ 年

1 ヶ月あたり約 ¥84。まとめて買うと 2 ヶ月ぶん安くなります。

まだ準備中です

1 ヶ月ライセンス

¥100/ 月

まず 1 ヶ月だけ試したいときに。

まだ準備中です

macOS 専用