From 6f0c2ccbed4216833d5a6041c6c9f343073d99e3 Mon Sep 17 00:00:00 2001 From: posimai Date: Tue, 17 Mar 2026 17:20:02 +0900 Subject: [PATCH] chore: initial backup of Claude Code project memory Backs up all memory files (MEMORY.md, user_profile, feedback_style, project_status, project_infrastructure, project_api_keys, reference_deploy, project_ponshu_cleanup) for disaster recovery. Co-Authored-By: Claude Sonnet 4.6 --- MEMORY.md | 18 ++++ feedback_style.md | 28 +++++ project_api_keys.md | 41 ++++++++ project_infrastructure.md | 28 +++++ project_ponshu_cleanup.md | 71 +++++++++++++ project_status.md | 208 ++++++++++++++++++++++++++++++++++++++ reference_deploy.md | 34 +++++++ user_profile.md | 32 ++++++ 8 files changed, 460 insertions(+) create mode 100644 MEMORY.md create mode 100644 feedback_style.md create mode 100644 project_api_keys.md create mode 100644 project_infrastructure.md create mode 100644 project_ponshu_cleanup.md create mode 100644 project_status.md create mode 100644 reference_deploy.md create mode 100644 user_profile.md diff --git a/MEMORY.md b/MEMORY.md new file mode 100644 index 0000000..e3486c1 --- /dev/null +++ b/MEMORY.md @@ -0,0 +1,18 @@ +# Posimai Project Memory Index + +## User +- [user_profile.md](user_profile.md) — 開発者プロフィール・スキルレベル + +## Feedback +- [feedback_style.md](feedback_style.md) — 応答スタイル・コーディング方針 + +## Project +- [project_infrastructure.md](project_infrastructure.md) — Synology インフラ・Docker 構成 +- [project_api_keys.md](project_api_keys.md) — APIキー体系・認証設計 +- [project_status.md](project_status.md) — 現在の状態・残タスク・次ステップ + +## Reference +- [reference_deploy.md](reference_deploy.md) — デプロイ手順・リモート設定 + +## 要判断・保留事項 +- [project_ponshu_cleanup.md](project_ponshu_cleanup.md) — ponshu-room環境整理の未解決事項(Vercel命名・git remote・posimai-projectの謎) diff --git a/feedback_style.md b/feedback_style.md new file mode 100644 index 0000000..5833724 --- /dev/null +++ b/feedback_style.md @@ -0,0 +1,28 @@ +--- +name: フィードバック・スタイル方針 +description: コーディングや応答スタイルに関するユーザーからの指示・好み +type: feedback +--- + +- 実装前に批判的コードレビューを行い問題を整理してから修正する +- 絵文字禁止(CLAUDE.md に明記) +- npm run deploy = git push gitea main && git push github main(必ず両方) +- デプロイは複数アプリを並行バックグラウンド実行してよい +- 過度な説明不要。修正内容は表形式でコンパクトにまとめる +- `vercel --prod` は直接実行しない + +## 新アプリ作成時のフルデプロイ(ユーザーに言われなくても必ずやる) + +**Why:** ユーザーは毎回「デプロイまでやって」と言わなくていいようにしたい。 + +**How to apply:** 新アプリのコード実装が終わったら、ユーザーの確認を待たずに以下を全部実行する: +1. Gitea APIでリポジトリ作成(`curl POST http://100.76.7.3:3000/api/v1/user/repos`、tokenはgit credentialから取得) +2. GitHub CLIでリポジトリ作成(`gh repo create posimai/[app-name] --private`) +3. `git init && git add . && git commit -m "feat: 初回コミット"` +4. `git remote add gitea ... && git remote add github ...` +5. `npm run deploy` +6. `vercel git connect "https://github.com/posimai/[app-name].git" --yes`(複数リモート選択肢が出たらgithubを選ぶ) +7. `git commit --allow-empty -m "ci: trigger initial Vercel deployment" && npm run deploy` +8. Vercelデプロイ完了URLをユーザーに報告 + +Giteaトークンは `git credential fill`(protocol=http, host=100.76.7.3:3000)で取得できる。 diff --git a/project_api_keys.md b/project_api_keys.md new file mode 100644 index 0000000..4fc93f5 --- /dev/null +++ b/project_api_keys.md @@ -0,0 +1,41 @@ +--- +name: APIキー体系・認証設計 +description: Posimai プロジェクト全体のAPIキー構造と各アプリでの使われ方 +type: project +--- + +## posimai_api 認証キー(pk_ キー) +フロントエンドアプリ → posimai_api への認証に使用 + +| ユーザー | キー | localStorage キー名 | +|---------|------|-------------------| +| maita | pk_maita_a2be09f6eaaba0db65b72f085ea352d3 | posimai_api_key | +| partner | pk_partner_fcfcbdf7d4a2ee23abf3ad046830af44 | posimai_api_key | +| musume | pk_musume_76488f7ee2a4e6cd9d4b3ad6284d4cc7 | posimai_api_key | + +## Gemini API キー +- サーバーサイド(posimai_api)が Gemini に接続するためのキー +- .env の GEMINI_API_KEY に設定 +- フロントエンドアプリは直接使わない + +## Magic Link 仕組み +- Dashboard → `?init_key=pk_maita_...` 付き URL でアプリを開く +- アプリ側: `localStorage.setItem('posimai_api_key', initKey)` で保存 +- 対象: Brain / Reader / Feed(Maps は別途 Google Maps API キーが必要) + +## Dashboard 環境変数 +- Vercel: POSIMAI_API_KEY = pk_maita_... (2026-03-12 追加済み) + +## 各アプリのキー要否 +| アプリ | 必要なキー | 用途 | +|--------|-----------|------| +| Brain | posimai_api_key | 記事保存・取得 | +| Reader | posimai_api_key | Brain への保存(記事取得は Jina AI 無料) | +| Feed | posimai_api_key | Brain への保存 | +| Maps | Google Maps API Key | 地図検索(posimai_api キー不要) | +| Think | Gemini API Key(AIza...) | Gemini 2.5 Flash 直接呼び出し | + +## AI API方針 +- フロントエンドからAIを直接呼ぶ場合は **Gemini API**(AIza...)を使う +- Claude API(sk-ant-...)は持っていないため使わない +- posimai_api バックエンドに chatエンドポイントはまだない(将来追加予定) diff --git a/project_infrastructure.md b/project_infrastructure.md new file mode 100644 index 0000000..acf8f9f --- /dev/null +++ b/project_infrastructure.md @@ -0,0 +1,28 @@ +--- +name: Synology インフラ・Docker 構成 +description: Synology NAS 上の Docker Compose 環境と各コンテナの役割 +type: project +--- + +## Synology NAS +- 本体: Mai_SVR(物理NAS) +- VM: Posimai_lab(Synology Virtual Machine Manager 上の Linux VM) +- Tailscale ドメイン: posimai-lab.tail72e846.ts.net + +## Docker Compose(/volume1/docker/posimai_lab/) +- **gitea**: Gitea git サーバー(プライマリリモート) +- **gitea_db**: PostgreSQL 15(Gitea 用 DB) +- **posimai_api**: Node.js API サーバー(Brain/Feed/Reader のバックエンド) + - server-current.js がメインファイル + - エンドポイント: /brain/api/articles, /brain/api/save, /brain/api/feed/media 等 +- **mcp_server**: MCP サーバー(AI エージェント連携) +- **ai_proxy**: 停止中・削除予定(旧 Ponshu Room Python プロキシ) + +## 独立コンテナ(プロジェクト外) +- uptime-kuma: 死活監視 +- ponshu-proxy-server: Ponshu Room Node.js プロキシ +- ponshu-redis: Ponshu Room Redis + +## .env ファイル +- 場所: /volume1/docker/posimai_lab/.env +- 変数: DB_PASS, GITEA_DOMAIN, GEMINI_API_KEY, API_KEYS, ALLOWED_ORIGINS diff --git a/project_ponshu_cleanup.md b/project_ponshu_cleanup.md new file mode 100644 index 0000000..f71a1e1 --- /dev/null +++ b/project_ponshu_cleanup.md @@ -0,0 +1,71 @@ +--- +name: ponshu_room 環境整理 — 要判断事項 +description: ponshu-room関連のVercel/GitHub残骸整理で「後で判断が必要」な未解決事項 +type: project +--- + +2026-03-16 に Step A 削除を実施。以下は慎重な判断が必要なため保留した。 + +## 実施済み削除(Step A / 2026-03-16 確認済み) + +- GitHub `posimai/mai-ponshu-room` → 削除済み +- Vercel `mai-ponshu-room` (`mai-ponshu-room-posimais-projects.vercel.app`) → 削除済み +- Vercel `web` (`mai-ponshu-room-app.vercel.app`) → 削除済み +- Vercel `download` (`download-tan-ten.vercel.app`) → 削除済み + +--- + + + +## 1. Vercel `ponshu-room-download` の扱い + +**現状:** `ponshu-room-download.vercel.app` が APK ダウンロードページとして現役稼働中 +**接続元:** `ponshu_room_lite/web/` フォルダ(`.vercel/project.json` で確認済み) +**問題点:** +- プロジェクト名 `ponshu-room-download` は意味は通じるが `posimai-` 接頭辞がない(他アプリと統一されていない) +- URL が `ponshu-room-download.vercel.app` で長い +- eiji さんや maita さんに配布している APK URL が Tailscale 経由(`posimai-lab.tail72e846.ts.net`)なので、このVercel URLが実際に使われているか不明 + +**判断が必要なこと:** +- このページは誰かに共有しているか? URL が変わると困るか? +- `posimai-widget-dl` のように `posimai-` 接頭辞に揃えてリネームするか? +- 将来の新 PWA(ponshu-room)のランディングページと統合するか? + +**Why:** APK 配布 URL が変わると既存ユーザー(eiji さん等)がダウンロードできなくなるリスクがある。 + +--- + +## 2. `ponshu_room_lite` の git remote 命名問題 + +**現状:** +``` +gitea(リモート名) → http://100.76.7.3:3000/mai/ponshu-room-lite.git (fetch/push) +gitea(リモート名) → https://github.com/posimai/ponshu_room_lite.git (push のみ、追加URL) +``` + +**問題点:** +- CLAUDE.md の標準は `gitea` と `github` の2リモートだが、このアプリは `gitea` 1つに GitHub push URL が追加されている変則設定 +- GitHub リポジトリ名が `ponshu_room_lite`(アンダースコア)で他アプリのハイフン命名と不統一 +- ただし**現状は動作している**(`git push gitea main` で両方に push される) + +**判断が必要なこと:** +- この変則設定を CLAUDE.md 標準(2リモート分離)に揃えるか? → Flutter アプリは触りたくないならそのままでもOK +- GitHub リポジトリ名をアンダースコア→ハイフンに変更するか? → リネームすると既存の clone やリンクが全部切れる + +**Why:** Flutter の package name はアンダースコアが標準なので `ponshu_room_lite` はむしろ正しい。変更は混乱を招く可能性あり。 + +--- + +## 3. Vercel `posimai-project` プロジェクト(URL なし) + +**現状:** `vercel project ls` に `posimai-project` というプロジェクトが存在するが Latest Production URL が `--`(なし) +**判断が必要なこと:** これが何に使われていたか不明。空のまま放置か削除か。 + +--- + +## 実施済み削除(2026-03-16) + +- GitHub: `posimai/mai-ponshu-room` → 削除済み(旧 Flutter プロジェクト、lib/ 空) +- Vercel: `mai-ponshu-room` → 削除済み(上記に接続した残骸) +- Vercel: `web` → 削除済み(mai-ponshu-room の web/ フォルダ接続残骸) +- Vercel: `download` → 削除済み(ponshu_room_lite/web/download/ の二重デプロイ残骸) diff --git a/project_status.md b/project_status.md new file mode 100644 index 0000000..99d9052 --- /dev/null +++ b/project_status.md @@ -0,0 +1,208 @@ +--- +name: プロジェクト現状・残タスク・次ステップ +description: 2026-03-16 全アプリ品質監査完了。ponshu-room は Flutter との乖離解消まで保留。 +type: project +--- + +## 完了済み(〜2026-03-15 全セッション) + +### インフラ・設定 +- Docker Compose の .env 分離(Synology) +- Magic Link キー保存先を全アプリで posimai_api_key に統一 +- theme-color を全アプリで Teal (#6EE7B7) に統一 +- server.js CORS wildcard(posimai-*.vercel.app)対応 → デプロイ済み +- Gemini モデル: gemini-3.1-flash-lite → gemini-2.0-flash-lite(Journal AI tag 修正) + +### posimai-daily 改修(2026-03-15) +- Feed 欄を Brain API → `posimai-feed.vercel.app/api/feed` に変更(常に最新) +- VOICEVOX TTS 実装(AudioContext エンジン、AbortController、fallback) +- 話者選択 UI(設定パネルに 6 話者ボタン) +- SW v3(skipWaiting + clients.claim) +- API キー移行スクリプト(posimai_api_key → posimai-daily-apikey) +- NAS Infrastructure ページ(posimai-dashboard)追加 +- Sidebar に NAS Infrastructure リンク追加 + +### Dashboard 機能追加 +- Ecosystem Map / Timeline / Boilerplates / Access Guide / NAS Infrastructure +- Sidebar 各ページへのリンク追加 + +### 新アプリ実装 +- posimai-digest, posimai-clean, posimai-ambient, posimai_widget, posimai-widget-dl + +--- + +## posimai-daily VOICEVOX TTS 問題(2026-03-15 解決済み) + +### 根本原因(確定) +VOICEVOX の合成速度が遅すぎた(NAS の CPU が弱い): +- 短文 "テスト": 13 秒 +- ニュース記事(30 文字): 67 秒 +- キャッシュ HIT: 0.005 秒 + +Tailscale Funnel が数秒のタイムアウトで接続を切断 → browser に response が届かず pending のまま。 + +### 解決策(2026-03-15 実装・デプロイ済み) +**バックグラウンドウォームアップ方式**: +1. server.js に `POST /brain/api/tts/warmup` エンドポイント追加 + - 即座に 202 を返す(Funnel タイムアウトなし) + - VOICEVOX をバックグラウンドでシリアル合成してキャッシュに入れる +2. index.html で Feed 読み込み後に warmup を fire-and-forget で呼ぶ +3. `#tts-status` に「音声準備中...」→「音声準備完了」を表示 + +### ウォームアップ時間の目安 +- 記事ごとに 13〜70 秒(テキスト長による) +- 全 6 テキスト(5 記事 + 締め): 2〜5 分 +- ユーザーが記事を読んでいる間に完了するケースが多い +- 未完了でも Web Speech API フォールバックが動く + +### 現在のコード状態 +- `server.js`: `ttsSynthesize()` ヘルパー + `/tts/warmup` エンドポイント追加済み +- `posimai-daily/index.html`: warmup 呼び出し + `#tts-status` 表示ロジック追加済み +- `posimai-daily/api/tts.js`: Vercel プロキシ(未使用、残置) + +--- + +## バックアップ現状(2026-03-17 調査) + +### 安全(Gitea + GitHub 二重保存済み) +- 全 posimai-* アプリ 22個 → gitea / github リモート両方あり確認済み +- ponshu-room → 同上 + +### PC 消失で消えるもの(git 管理外・PC のみ) +- `server.js` — Synology API サーバー本体ソース(CRITICAL) +- `CLAUDE.md` — AI ルール設定(CRITICAL) +- `.claude/memory/` — 全引き継ぎ記憶(CRITICAL) +- `_template/` — アプリ雛形(HIGH) +- `deploy-server.sh` — デプロイスクリプト(HIGH) +- `scripts/` — 各種スクリプト(MEDIUM) + +### 次セッション: Step 2 バックアップ整備(未完了) +**手順**: +1. Gitea Web UI で `posimai-root` リポジトリを新規作成(http://100.76.7.3:3000/mai/) +2. GitHub で `posimai/posimai-root` を private リポジトリとして作成 +3. `c:/Users/maita/posimai-project/` で git init → remote 設定 +4. `.gitignore` 作成(node_modules, .vercel, *.bak, m-ai-dashboard*, mai_quick*, _conoha/) +5. `git add CLAUDE.md _template/ deploy-server.sh scripts/ server.js` +6. push to both remotes +7. `.claude/` ディレクトリも別途 `claude-memory` リポジトリでバックアップ + +### Step 1 完了済み(2026-03-17) +- posimai-dashboard: Header.tsx 末尾改行コミット・push 済み +- posimai-tech-events: theme-color media query 修正・gas-proxy-setup.md コミット・push 済み +- posimai-hotels: 改行コード差分のみ → git restore で戻した(変更なし) + +--- + +## 全プロジェクト精査結果(2026-03-17) + +### [CRITICAL] 即対応必須 +- [ ] **C-1** posimai-pulse/sw.js — クロスオリジン API キャッシュバグ(originチェックなし)→ 修正1行 +- [ ] **C-2** posimai-lens/sw.js — 同上 +- [ ] **C-3** posimai-tech-events/sw.js — /brain/api パスが /api/ で始まらず staticブランチにキャッシュされる +- [ ] **C-4** server.js archiveShare — URL プロトコルバリデーションなし(SSRF類似リスク) +- [ ] **H-1** posimai-ambient/index.html — theme-color media query なし(ライトモードで黒ステータスバー) +- [ ] **H-3** posimai-together/index.html:2005 — marked.parse に DOMPurify なし(外部コンテンツXSSリスク) +- [ ] **M-3** server.js /together/react — type フィールドバリデーションなし(like/star/fire以外が保存される) + +### [MEDIUM] 設計不整合 +- [ ] **M-1** #6EE7B7 のハードコード(brand-logo gradient)— pulse/diff/habit/lens に残存、var(--accent)に置換 +- [ ] **M-2** border-radius: 8px が97箇所残存(カード・モーダルに混在) +- [ ] **M-4** posimai-diff/sw.js, posimai-timer/sw.js — originチェックなし(現在実害なし、将来リスク) + +### [LOW] Tech debt +- [ ] **L-1** posimai-brain/sw.js — 重複 fetch リスナー(Web Share Target 用 no-op) +- [ ] **L-4** Dashboard Timeline 最終エントリが 2026-03-15 で止まっている +- [ ] **L-5** server.js コメントに絵文字(CLAUDE.md違反、実害なし) + +### 確認済み(対応不要) +- Lucide バージョン: 全アプリ @0.344.0 固定済み +- manifest.json / sw.js: 全PWAアプリで存在確認済み +- 絵文字: HTML ファイルでは検出なし + +--- + +## 残タスク(手動・未対応) +- [ ] ai_proxy コンテナ削除(Synology Container Manager) +- [ ] posimai_widget APK 実機インストール・ウィジェット動作テスト +- [ ] Magic Link 動作確認(ブラウザで手動テスト) +- [ ] Lucide アイコン @latest → バージョン固定(14アプリ横断、低優先度) + +## ponshu-room PWA — 保留中(2026-03-16) + +**状態**: Flutter ネイティブアプリとの UI/UX 乖離が大きく、再設計が必要なため保留。 + +**問題点(3つ)**: +1. テーマが根本的に違う(Posimai Teal → Washi 琥珀に要変更) +2. Sakenowa 自動マッチング(6軸フレーバー)が未実装 +3. MBTI・ゲーミフィケーションが未実装 + +**再開時の参照先**: `ponshu-room/ROADMAP.md`(全詳細・優先度・実装チェックリスト記載) + +**再開時の作業順**: +1. CSS を Washi テーマへ書き換え(最速で効果大) +2. データモデル拡張(Sakenowa フィールド追加) +3. Sakenowa API 連携(公開 API、認証不要) +4. グリッド/リスト切替 +5. MBTI・ゲーミフィケーション(後回し可) + +**触ってはいけないもの**: `ponshu_room_lite/`(Flutter 版本体、読み取り専用参照のみ) + +## posimai-together 実装状況(2026-03-17 完了) + +### 完了済み +- DB テーブル(together_groups/members/shares/reactions/comments)クリーンリセット migration 追加 +- 設定モーダル統合(3モーダル → 1モーダル、タブ切替) +- Quick Capture(Web Share Target API、GET method) +- インライン Reader Sheet(Jina Reader + marked.js) +- AI 要約スケルトン(archive_status: pending/done/failed) +- Bubble Board(Canvas アニメーション) +- 30秒ポーリング + 新着バナー + +### Gemini API キー管理(未完了) +- server.js に `genAITogether`(`GEMINI_TOGETHER_API_KEY` 専用インスタンス)追加済み・デプロイ済み +- **Container Manager での `GEMINI_TOGETHER_API_KEY` 環境変数設定が未完了** + - 「複製」で同名コンテナを作れない問題に直面 + - 根本解決策:docker-compose.yml + .env ファイルへの移行が必要 + - 次セッションで SSH 経由で Synology の現状確認 → docker-compose 移行を実施する + +### 次セッションでやること(優先順) +1. SSH で Synology の現在のコンテナ設定を確認(docker inspect posimai_api) +2. docker-compose.yml + .env ファイルを作成(/volume1/docker/posimai/ 等) +3. GEMINI_TOGETHER_API_KEY を .env に追加 +4. docker-compose で再デプロイ(コンテナ名は posimai_api のまま維持) +5. Together アプリで AI 要約が動作することを確認 + +### Gemini サーバー側管理の中長期計画 +- posimai-think → server.js の `/think/chat` エンドポイント経由に移行(GEMINI_THINK_API_KEY) +- posimai-digest → server.js の `/digest/summarize` 経由に移行(GEMINI_DIGEST_API_KEY) +- ponshu-room → server.js の `/ponshu/analyze` 経由に移行(GEMINI_PONSHU_API_KEY) +- 各アプリのキー入力 UI は廃止 + +--- + +## 確定済み「対応不要」 +- `?init_key=` URL: **廃止しない**。Magic Link 方式は意図的設計 +- Jina Reader SPOF: **対応済み**。AbortSignal.timeout(15000) + OGP フォールバック実装済み +- モノレポ化・Firebase SSO: 個人利用規模では不要 + +## 重要なシステム情報 + +### Dashboard 認証 +- Basic 認証: middleware.ts で実装 +- デフォルト: mai / posimai +- Vercel 環境変数: BASIC_AUTH_USER / BASIC_AUTH_PASSWORD + +### デザインシステム v2 +- Dark: bg #0D0D0D / surface #1A1A1A / accent #6EE7B7(Teal) +- Light: bg #F9FAFB / surface #FFFFFF / accent #059669(Emerald-600) +- アプリ別例外: journal/site = #80CAEE(Sky Blue) +- フォント: Inter 300/400/500/600 / アイコン: Lucide / 絵文字禁止 +- radius: 12px + +### Synology インフラ +- NAS IP(Tailscale): 100.76.7.3 +- Docker binary: /var/packages/ContainerManager/target/usr/bin/docker +- Tailscale binary: /var/packages/Tailscale/target/bin/tailscale +- Brain API: http://127.0.0.1:8090/brain/api (ホスト上), posimai_api コンテナ +- VOICEVOX: http://127.0.0.1:50021 (ホスト上), コンテナ名 voicevox:50021 +- Tailscale Funnel: /brain → http://127.0.0.1:8090, / → http://127.0.0.1:3000 diff --git a/reference_deploy.md b/reference_deploy.md new file mode 100644 index 0000000..4a40d42 --- /dev/null +++ b/reference_deploy.md @@ -0,0 +1,34 @@ +--- +name: デプロイ手順・リモート設定 +description: 全アプリ共通のデプロイコマンドとリモートリポジトリ設定 +type: reference +--- + +## デプロイコマンド +```bash +git add . +git commit -m "feat/fix/chore: 変更内容" +npm run deploy +# = git push gitea main && git push github main +``` + +## リモート構成 +- gitea → http://100.76.7.3:3000/mai/[app-name].git(ローカルバックアップ) +- github → https://github.com/posimai/[app-name].git(Vercel 自動デプロイトリガー) + +## 各アプリの URL +| アプリ | Vercel URL | +|--------|-----------| +| posimai-dashboard | https://posimai-dashboard.vercel.app | +| posimai-brain | https://posimai-brain.vercel.app | +| posimai-feed | https://posimai-feed.vercel.app | +| posimai-reader | https://posimai-reader.vercel.app | +| posimai-maps | https://posimai-maps.vercel.app | +| posimai-digest | https://posimai-digest.vercel.app | +| posimai-clean | https://posimai-clean.vercel.app | +| posimai-think | https://posimai-think.vercel.app | +| posimai-template(preview) | https://posimai-template.vercel.app | + +## API エンドポイント +- ベース: https://posimai-lab.tail72e846.ts.net/brain/api +- 認証: Authorization: Bearer pk_xxxx_... diff --git a/user_profile.md b/user_profile.md new file mode 100644 index 0000000..bda6e46 --- /dev/null +++ b/user_profile.md @@ -0,0 +1,32 @@ +--- +name: ユーザープロフィール +description: 開発者 maita のスキル・背景・好みのコミュニケーションスタイル +type: user +--- + +- 個人開発者。Synology NAS ファーストのセルフホスト志向 +- Claude に対して「世界的ベテランエンジニア兼UI/UXデザイナー」として批判的レビューを求める傾向 +- 実装の判断は Claude に委ねることが多い(「推奨内容で進めてください」) +- スクリーンショットを多用してUI問題を報告する +- 日本語でやり取り。技術用語は英語混じり +- ユーザー名: maita、パートナー・娘(musume)と3ユーザー体制 +- 将来的な商用利用を視野に入れてアプリを量産中 + +## 開発環境・課金状況(2026-03-17 現在) + +### 契約中サービス +- **Claude Pro** ($20/月): Claude Code CLI のメイン作業環境。超過時に $50 上限キャップを設定(これまで超過なし) +- **Cursor Pro** ($20/月): AI Chat で Claude Opus 目当てに使用。リミットが早く来るため Claude Code に切り替える運用 +- **Gemini AI Pro** ($20/月): Antigravity アプリ経由で Gemini/Claude 最新モデルを利用 + ブラウザ版 Gemini 思考モードでの長時間相談 + +### 作業フロー実態 +- Cursor ターミナルで `claude` コマンド起動 = Claude Code CLI がメイン +- Cursor AI Chat は Opus が欲しいときのみ(設計・アーキテクチャ相談)→ リミット後は Claude Code に移行 +- Cursor の Tab 補完・Composer はほぼ未使用 +- Antigravity 経由で Gemini/Claude Opus を補完的に使用 + +### コスト最適化の検討事項(共同開発者と協議中) +- 円安のため新規 $ 契約は避ける方針(為替リスク) +- Cursor Pro 解約 → VS Code 無料化で $20 節約が有力案 +- Claude Max ($100) は Cursor Pro 解約 + 円相場改善後に検討 +- Claude Code 超過 $50 は「これまで発生なし」→ Pro プランで現状問題なし