• #日記
  • #gogcli
  • #tax-assistant
  • #Google Workspace
  • #クレカ明細
  • #mdx-playground
daily-log

2026年1月30日の開発日記

今日はgogcli(Google Workspace CLIツール)の全サービス制覇と、tax-assistantのクレカ明細画面の大改修を並行して進めた。gogcliは朝からChat・Sheets・Calendarを一気に触り、面談自動化フローまで組み上げた。tax-assistantは午後からクレカ明細の確定ステータス追加に着手し、テーブル再設計・右パネル再設計・バグ修正・NG明細ルール自動提案計画まで一気通貫で進めた。mdx-playgroundではブログカレンダーの月末日バグ修正と検索ページの軽量化も実施。

今日やったこと

1. gogcli: Chat Delete機能のGo実装とフォーク管理

gogcli本家にないChat messages deleteコマンドをGoで実装した。フォーク管理も整備し、origin→upstreamリネーム、feat/chat-deleteブランチ作成、GitHubプッシュ、LOCAL_OPS.md作成まで一通り対応した。keyringバックエンド問題(WindowsのコロンNG)の解決やDrive検索の制限事項の把握も行った。

主な成果:

  • Chat messages delete コマンドをGoで実装・ビルド・動作確認
  • Gitフォーク管理の整備とLOCAL_OPS.md作成
  • GAS→Python移行手順の公開記事作成(Codexレビュー・honda-sakubun校正済み)

詳細: gogcli Chat Delete機能の実装とGoogle Chat API活用ガイド


2. gogcli: Chat・Sheets・Calendar操作と面談自動化フロー

gogcliでChat API設定(Cloud Console構成タブ)からSheets操作(新規作成・データ入力・数式読み取り)、Calendar操作(予定作成・Meet自動生成・private-prop管理)まで全サービスを触った。最終的にfreebusy→Meet付き予定作成→Chat通知の面談自動化フローを構築した。

主な成果:

  • Google Chat: 構成設定、メッセージ送信、スレッド投稿、Drive画像リンク共有
  • Google Sheets: 新規作成、データ入力、数式の3モード読み取り(FORMULA/FORMATTED_VALUE/UNFORMATTED_VALUE)
  • Google Calendar: 予定作成、--with-meetでMeet自動生成、private-propによるバッチ管理
  • 面談自動化フロー: freebusy→Meet付き予定→参加者招待→Chat通知

詳細: gogcliでGoogle Chat・Sheets・Calendarを操作:面談自動化フローまで一気に構築


3. ブログカレンダーの月末日バグ修正

ブログカレンダーで月末日の記事が表示されないバグを発見・修正した。publishedAtがISO文字列("2026-01-30T00:00:00.000Z")としてクライアント側に渡され、"2026-01-31" との文字列比較で月末日の記事が除外されていた。

主な成果:

  • 原因特定: SSRとCSRでpublishedAtの形式が異なる(YYYY-MM-DD vs ISO 8601)
  • 修正: .slice(0, 10) で日付部分のみに正規化してから比較
  • 全ての月末日で発生しうるバグだった

詳細: Nuxt Contentブログカレンダーで月末日の記事が表示されないバグの原因と修正


4. 検索ページパフォーマンス改善

検索ページの軽量化を実施した。FlexSearchライブラリを削除し、.select() による必要フィールドのみの取得に切り替えた。payloadが約20MBから数十KBに削減された。

主な成果:

  • .select() でbody ASTを除外(payload: 20MB → 数十KB)
  • FlexSearch依存の完全削除
  • タイトル・説明文の部分一致検索に変更(filter + includes)

詳細: Nuxtブログの検索ページ軽量化 - FlexSearch削除とselect()による最適化


5. tax-assistant: クレカ明細の確定ステータス実装と右パネル再設計

午後はtax-assistantに集中。クレカ明細画面のreceipt_confirmed/rule_confirmedステータス追加、rule_matchedステータス統一、テーブル5カラム化、右パネル2分割再設計、仕訳編集UI、UX改善(Ctrl+Enter、月またぎナビ、タブ状態復元)、多数のバグ修正、NG明細ルール自動提案計画まで一気に進めた。

主な成果:

  • DBマイグレーション + バックエンド + API + フロントエンドの全レイヤー対応
  • テーブル簡略化(5カラム)と右パネル2分割再設計
  • 仕訳ルールと同じ編集UI(select/input)の実装
  • Ctrl+Enter確定、月またぎナビ、selectedIndex復元
  • 5件のバグ修正(SearchableSelect、onUnmounted変数名漏れ等)
  • NG明細ルール自動提案計画(Gemini API連携)の策定

詳細: 会計アプリ開発記録:クレカ明細の確定ステータス実装から右パネル再設計・NG明細ルール自動提案まで


今日の学び

  • gogcliのChat API設定は「構成」タブの保存が必要。API有効化だけでは動かない
  • --private-prop による識別子管理は、CLIでの一括操作を安全にする良い仕組み
  • ISO文字列と日付文字列の比較は形式を揃えてから行うべき(月末日バグの教訓)
  • onUnmountedフック内の変数参照は、リネーム時に見落としやすい
  • 確定/取消のUIは「状態表示(バッジ)」と「操作(ボタン)」を分離すると整理される

明日やること

  • tax-assistant: NG明細ルール自動提案(Gemini API連携)のPhase 1実装
  • tax-assistant: 仕訳出力機能との統合
  • gogcli: Chat Delete機能のPR作成(本家へのコントリビュート検討)
  • mdx-playground: 日記記事の表示確認

関連記事