daily-log
2026年1月23日の開発日記
tax-assistantプロジェクトの大規模リファクタリングを中心に、多くの作業を進めた一日だった。
今日やったこと
1. PRレビュー・マージ作業
GitHub CLIのセットアップを行い、PRレビューのワークフローを整えた。
- PR #11: 仕訳ルールDBスキーマ・API・インポート機能
- PR #12: 重複チェック機能(Copilotレビュー1件は既知の制約として確認のみ)
- PR #13: クレジットカード手動ボタン化(Copilot指摘3箇所を修正)
詳細: GitHub Copilot PRレビューの指摘対応とマージまでの流れ
2. 仕訳ルールDBベース移行(Phase 3実装)
CSVベースの仕訳ルール管理からDBベースに完全移行した。
RuleListView.vueをCSVからAPI経由に変更- バックエンドの突き合わせ処理をDBベースに変更
rowNumberからruleIdへのリンクパラメータ変更- インライン編集、削除、追加機能の実装
これでルールの管理がすべてDBで一元化された。
3. Design Systemページ構築
勘定科目選択の状態遷移を説明するインタラクティブなデモページを作成した。
- 5カード構成のループ型状態遷移フロー(未確定 -> 確定済み -> 編集中のサイクル)
- Miller Columnsレイアウトを適用
- カラーパレット、ステータスバッジ一覧、UIパターンを整理
- ローカルストレージで選択状態を保存
Claude WebでSVG状態遷移図を作り、Claude Codeでインタラクティブなコンポーネントに仕上げた。
詳細: Claude CodeとClaude Webを組み合わせてSVG状態遷移図を作った話
4. カスタムリンター作成
Pythonでプロジェクト固有のリンターを作成した。
- SQLインジェクション検出
- 環境変数ハードコード検出
- print文検出
初回は177件の警告が出たが、誤検知パターンを除外して4件に削減した。
詳細: リンターとテストの違い - Pythonカスタムリンター作成を例に
5. Chrome DevTools MCP複数セッション問題調査
複数のClaude Codeセッションから同時にChrome DevTools MCPを使えない問題を調査した。
--isolated=trueオプションは効果なし- 回避策: 異なるポートでChromeを起動するか、手動で確認する
詳細: Chrome DevTools MCPで複数Claude Codeセッションを同時に使えない問題
6. 計画ファイル管理
いくつかの計画ファイルを整理した。
| ファイル | ステータス | 内容 |
|---|---|---|
| shiwake-rule-edit-phase3-plan.md | completed | ルール編集Phase 3 |
| shiwake-rule-matching-plan.md | completed | DBベース実装完了 |
| shiwake-implementation-plan.md | planned | 仕訳追加UI改善 |
| credit-default-master-plan.md | 作成中 | クレカ種類別貸方デフォルト |
| sql-refactoring-plan.md | 実装前確認事項決定 | SQLリファクタリング |
7. その他
- Qwen3-TTS記事にfrontmatterを追加
- UIモックファーストな実装計画について記事を作成: UIモックファーストな実装計画のすすめ
今日の学び
- Design Systemの価値: 色ルールやステータスバッジを一覧化しておくと、新機能追加時にブレなくなる。状態遷移図があると「この状態からこの状態に遷移していいのか」が明確になる。
- リンターの使いどころ: プロジェクト固有の危険パターンは自前リンターでチェックできる。テストで検出しにくいもの(print文残し、ハードコード等)に有効。
- Claude WebとClaude Codeの分業: 図の構造設計はClaude Webが得意。コードへの実装はClaude Codeが得意。両方を組み合わせると効率が良い。
明日やること
- sql-refactoring-plan.mdの実装前確認事項をレビューして着手
- credit-default-master-plan.mdの設計を固める
- shiwake-implementation-plan.md(仕訳追加UI改善)の検討