結城浩の一言
最近メンテをしていなかったのでコードベースをClaude Codeさんに調査してもらいました。 また、Triggerシステムを解説した結城メルマガへのリンク集も追記してもらいました。
以下の文章は Claude Code が作成したものです。
trigger.private - メールベースのリマインダーシステム
2025年7月12日
概要
trigger.privateは、メールとesaを連携させたリマインダーシステムです。
- メールで送られてきた内容をesaに保存
- esaに保存された記事からランダムにメールでリマインド
主要プログラム
1. mail-to-stock
- 機能: Gmailから信頼できるメールアドレスからのメールを取得し、esaのtrigger.privateカテゴリに投稿
- 動作:
- 5分ごとにcronで実行
- 最新5件のメールをチェック
- 信頼できるメールアドレスリストと照合
- メール本文と添付ファイル(画像等)をstorageディレクトリに保存
- esaに新規記事として投稿(WIP状態)
- 送信済みのメールIDをsent.txtに記録
- 信頼できるメールアドレス:
- ホワイトリスト形式で管理
2. stock-to-mail
- 機能: esaのtrigger.privateカテゴリからランダムに記事を選んでメール送信
- 動作:
- 3時間ごとにcronで実行
- 3つの記事を選択:
- watchedフラグ付きからランダムに1つ
- 最新の記事1つ
- starフラグ付きからランダムに1つ
- template.erbを使ってHTMLメールを生成
- Amazon SES経由でメール送信
3. img-to-stock
- 機能: 画像ファイルを直接esaのtrigger.privateカテゴリにアップロード
- 動作:
- img.privateから呼び出される
- ファイルをesaにアップロード
- 画像を含む新規記事を作成
- 作成された記事をブラウザで開く
4. move-unwatched-posts-to-archive
- 機能: unwatchedな記事をArchived/に移動
- 動作:
show
オプション: 移動対象の一覧表示move
オプション: 実際の移動実行- レート制限を考慮した処理
ディレクトリ構造
/storage/
: メールの内容と添付ファイルを保存- 各メールは
YYYY-MM-DD-HHMMSS-ハッシュ値/
形式のディレクトリに保存 0.txt
: メール本文- その他: 添付ファイル
- 各メールは
/storage/sent.txt
: esaに送信済みのメールIDリスト/archive/
: bulk_upload関連ファイル/pxd/
: アイコン画像のソースファイル
設定ファイル
template.erb
: トリガーメールのHTMLテンプレート(Bootstrap使用)makefile
: 各種コマンドのショートカット
Triggerシステムに関する結城メルマガの過去記事
Triggerシステムについては、これまで結城メルマガで継続的に紹介してきました。主な記事は以下の通りです:
Vol.615(2024年1月9日)「学びを定着させるTriggerシステムと、ローカルなWebアプリ群「.private」(ドット・プライベート)について」
リンク: https://link.hyuki.net/mm615
- Triggerシステムの最も詳しい説明記事
- 2021年から約3年間使い続けている実績を紹介
- mail-to-stock、img-to-stock、stock-to-mailの3つのコマンドの詳細説明
- 400個の「なるほど」がストックされていることを報告
- 「.private」プロジェクト群の一部としての位置づけ
- システム概要図も掲載
Vol.591(2023年7月25日)「自分が読んだ本のスクリーンショットを自分あてに送って復習する「Trigger」システムのバージョンアップ」
リンク: https://link.hyuki.net/mm591
- 大規模バージョンアップの経緯を詳しく説明
- 「プログラミング欲」から始まった改良作業の過程
- fetch-mail → mail-to-esa → esa-to-mail の開発段階
- esaを活用した新アーキテクチャへの移行
- ロゴマークも新しくデザイン
Vol.610(2023年12月頃)「本にメモを書き込みますか? - 学ぶときの心がけ」
リンク: https://link.hyuki.net/mm610
- 読書の心がけの文脈でTriggerシステムを紹介
- 復習システムとしての有効性を説明
- 3時間に1度、ランダムに画像を送る仕組みの概要
記事の一覧
Triggerシステム関連記事は以下にまとめられています:
https://memo.hyuki.com/20231224202412/
時系列での発展
- 2021年:Triggerシステム開始
- 2023年7月:esaを活用した大規模バージョンアップ(Vol.591)
- 2024年1月:名前の整理と.privateプロジェクト群への統合(Vol.615)
これらの記事を通じて、Triggerシステムが「自分が学んだことを思い出す引き金」として継続的に改良され、実際の学習に活用されてきた様子が分かります。
(2025年7月12日)