Mdlogbook
Markdownで書いた作業記録から勤務時間を集計し、一覧・カレンダー・グラフ・抽出・匿名化形式で表示するCLIツールです。
できること
- Markdownで書いた日々の作業記録を集計する
- 一覧形式・カレンダー形式・折れ線グラフ・グリッド・ヒートマップで表示する
- 当月・過去の月・週・直近N日・四半期・年など、さまざまな期間を指定して確認する
- プロジェクトごとに設定を切り替えて集計する
- 記録ファイルをエディタで開いて追記する
- AI向けに生のMarkdown抽出・匿名化出力・匿名化辞書出力を行う
より詳しい説明は使い方ガイドを参照してください。
入力形式
入力ファイルは、日付、作業名、時間帯付きの記録をMarkdownで並べた形式です。
# 2026-03-01
## 開発
* 09:30-12:00 (2.50)
* 13:00-18:00 (5.00)
# 2026-03-02
## 会議
* 10:00-11:30 (1.50)
## 開発
* 13:00-19:00 (6.00)-
# YYYY-MM-DDで日付を表す -
## ...で作業区分や案件名を表す -
* HH:MM-HH:MM (x.xx)で作業時間帯と記録時間を表す
記録時間(かっこ内の値)と時刻から計算した差分が一致しない場合、--simple/--calendarでは警告がstderrに表示されます。日をまたぐ時間帯は23:30-24:30のように24:xxで記述します。23:30-00:30も1時間として集計されますが、非推奨の書き方として警告されます。
基本的な使い方
インストール
gem install mdlogbook最初に設定ファイルを作成する
mlb --init日々の記録を確認する
作業後にターミナルでmlbを実行すると、当月のログファイルを自動的に選択して集計します。
mlb # 今月を一覧表示
mlb -c # 今月をカレンダー表示- 一覧形式(デフォルト): 日付・時間帯・作業名を1行ずつ表示し、月の合計と達成率を表示
- カレンダー形式: 日ごとの合計時間を月間カレンダーで表示し、週・曜日の集計も表示
ログファイルを編集する
mlb -e # 当月ファイルをエディタで開く(当日の行にカーソルを移動)使用するエディタを設定しておく必要があります。
詳細は使い方ガイド・エディタの設定を参照してください。
過去の記録を参照する
mlb m1 # 先月
mlb 2026/1 # 2026年1月
mlb 2026/1 2026/3 # 2026年1〜3月を月別表示
mlb w..1 # 今週+先週
mlb D30 # 直近30日間指定方法の詳細は使い方ガイド・対象期間の指定にまとめています。
詳しい使い方
詳しいセットアップ、設定ファイル、期間指定、出力オプション、シェルコンプリーションは使い方ガイドを参照してください。
開発
依存関係のセットアップ:
bin/setupテストとスタイルチェック:
bundle exec rake test
bundle exec rubocop
bundle exec rake