docs: refactor strategic-roadmap with critical review corrections and positioning
This commit is contained in:
parent
e5f9c30d1e
commit
e2a87de0e0
|
|
@ -1,47 +1,132 @@
|
||||||
# Posimai Project 2026 戦略ロードマップ(Claude Code 共有事項)
|
# Posimai Project 2026 戦略ロードマップ
|
||||||
|
|
||||||
本書は、Antigravity(アーキテクト AI)との協議によって決定した、2026年3月以降の Posimai プロジェクトにおける **「3つの重要な戦略・構想」** をまとめています。Claude Code は以降の開発において、必ずこの方針を前提としてコード生成や提案を行ってください。
|
本書は Posimai プロジェクトの技術的決定事項・中長期構想をまとめます。
|
||||||
|
Claude Code / Cursor / Antigravity 等すべての AI は本書を前提として開発を進めてください。
|
||||||
|
|
||||||
|
最終更新: 2026-03-31
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1. 【確定】AI 開発基盤の安定化(`server.js` の現状維持)
|
## 0. コアポジショニング(不変)
|
||||||
|
|
||||||
膨大なトークン消費とデグレリスクを防ぐため、以下の決定が下されました。
|
**Posimai = 個人 AI 開発者のための OS**
|
||||||
|
|
||||||
- **ルールのスリム化**: `CLAUDE.md` と `AGENTS.md` を純粋な「掟」のみ(約100行)にスリム化しました。アプリ作成手順などは `docs/new-app-guide.md`、デザインは `docs/design-system.md` に分割されています。今後はこれらを辞書的に参照してください。
|
| コンポーネント | 役割 |
|
||||||
- **`server.js` は分割しない**: 当初予定していた `server.js` の複数ファイルへの解体(`routes/` 等へのモジュール化)は**無期限に中止(WONTFIX)**となりました。
|
|---------------|------|
|
||||||
- **理由**: 現在の `server.js`(2300行超)は `buildRouter()` という巨大なクロージャの中でデータベース `pool` や `KEY_MAP` などの状態を暗黙的に共有しており、物理分割すると VPS の Docker 環境を含めて全滅するリスクが高いためです。
|
| posimai-station | 目(Ubuntu PC キオスク監視盤) |
|
||||||
- **Claude Code への指示**: 今後 `server.js` を改修する際は全体を書き直そうとせず、ファイル内に整然と敷き詰められている `// ──` の見出しコメントを頼りに、ピンポイントでの検索・追記のみを行ってください(壊れていないものを直さない方針)。
|
| posimai-dev | 手(ブラウザ内ターミナル + AI 対話) |
|
||||||
|
| posimai-atlas | 脳(インフラ・依存関係の可視化) |
|
||||||
|
| posimai-dashboard | 統合ハブ(全アプリ管理 + 外部への窓口) |
|
||||||
|
|
||||||
|
これら4つのセットは競合不在のポジションです。設計・UI・機能追加はこの世界観を強化する方向で行ってください。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2. 【構想待機】自動コンテンツジェネレーター(Posimai Chronicle 構想)
|
## 1. 【確定】AI 開発基盤の安定化
|
||||||
|
|
||||||
非エンジニアであるユーザーの「AI 駆動開発の奮闘記(すったもんだ)」を、外部サービスへの過度な依存なしに完全自動化してブログ化する構想です。
|
### CLAUDE.md / AGENTS.md のスリム化
|
||||||
|
純粋な「掟」のみ(約100行)に維持します。詳細仕様は以下の辞書ドキュメントを参照してください:
|
||||||
|
- `docs/new-app-guide.md` — 新規アプリ作成手順
|
||||||
|
- `docs/design-system.md` — デザインシステム・カラートークン
|
||||||
|
- `docs/master-architecture.md` — インフラ構成・全アプリ一覧
|
||||||
|
|
||||||
- **脱・外部ツール**: n8n や Selenium など、ブラウザ自動操作を用いた脆い仕組みは作成しません。
|
### server.js の改修ルール(WONTFIX: ルーター分割)
|
||||||
- **インビジブル・ロギング**: 以下のアーキテクチャで「何もしなくても下書きが溜まる」ように構築します。
|
|
||||||
1. VPS の `server.js` に定期実行(cron)やトリガー用の小さなスクリプトを追加。
|
`server.js`(2300行超)は `buildRouter()` クロージャ内で `pool`・`KEY_MAP` 等の状態を共有しています。**ルーター構造の物理分割は禁止**です(Docker 環境ごと全滅するリスク)。
|
||||||
2. Gitea の直近コミットログと、ダッシュボードの `posimai-dashboard/src/app/timeline/page.tsx` を読み込む。
|
|
||||||
3. VPS 内蔵の Gemini API に「奮闘記のテイスト」でストーリー化させる。
|
ただし以下は許可します:
|
||||||
4. 生成された Markdown テキストを、既存の PostgreSQL `journal_posts` テーブルに `status: 'draft'`(下書き)として直接 `INSERT` する。
|
- `// ──` 見出しコメントを頼りにしたピンポイント追記
|
||||||
5. ユーザーが `posimai-journal`(CMS)を開き、1行だけ感想を足して公開ボタンを押し、`posimai-site` に載せる。
|
- **JWT 生成・メール送信・バリデーション等の純粋関数** → `utils/` や `helpers/` への抽出は可
|
||||||
|
|
||||||
|
**壊れていないものを直さない。追記で解決できることを優先する。**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 3. 【構想待機】PWA 販売・納品インフラ(Neo-Minimalist E-Commerce)
|
## 2. 【構想待機】Posimai Chronicle(自動コンテンツ生成)
|
||||||
|
|
||||||
非エンジニア顧客に対して、サポートコストを「ゼロ」に抑えた状態で PWA 群を販売するプラットフォーム構想です。
|
非エンジニアである開発者の「AI 駆動開発の奮闘記」を自動ブログ化する構想です。
|
||||||
|
|
||||||
- **販売フロント(ストア)**: 実験的要素(CMS連動)を含む `posimai-site` は使わず、これとは別に完全に新しい静的 PWA **`posimai-store`(仮)** を Vercel に構築します。ここにはカートロジックは置かず、商品説明と「Stripe決済URL(Payment Links)への href リンク」のみを置きます。
|
### アーキテクチャ
|
||||||
- **決済と納品(完全自動化)**:
|
|
||||||
1. お客様が Stripe で決済完了した瞬間、Stripe Webhook が VPS (`server.js`) へ飛びます。
|
```
|
||||||
2. `server.js` は PostgreSQL の `users` テーブルにお客様のアドレスを登録します。
|
git log(コミット履歴) ──┐
|
||||||
3. `server.js` から Resend API を経由して、顧客に「Magic Link」メールを自動送信します。
|
├→ server.js cron → Gemini API → journal_posts(draft)
|
||||||
4. パスワード不要の Magic Link により、非エンジニアでも迷わずに PWA にログインし利用開始できます。
|
posimai-journal(手動)──┘
|
||||||
- **サポートゼロ化**: クレカの変更やサブスクの解約手続きは「Stripe Customer Portal」をお客様自身に操作させることで、こちら側の管理コードをほぼゼロにします。
|
```
|
||||||
|
|
||||||
|
1. VPS `server.js` に定期実行(cron)エンドポイントを追加
|
||||||
|
2. **Gitea API から直近コミットログを取得**(`feat:`/`fix:` プレフィックスで構造化済み)
|
||||||
|
- ※ `timeline/page.tsx` を直接読むのは避ける(React コンポーネントのパースは脆弱)
|
||||||
|
3. Gemini API に「posimai らしいテイスト」でストーリー化させる
|
||||||
|
4. `journal_posts` テーブルに `status: 'draft'` で INSERT
|
||||||
|
5. mai が journal を開き1行感想を足して公開 → posimai-site に掲載
|
||||||
|
|
||||||
|
### 開始条件
|
||||||
|
「Chronicle の実装に入る」というトリガーが発動した時点で着手。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
> [!NOTE]
|
## 3. 【構想待機】posimai-store(PWA 販売・納品プラットフォーム)
|
||||||
> 構想 2 (Chronicle) および 構想 3 (Store) に関しては、まだコードの改変は開始していません。ユーザーから「Chronicle の実装に入る」「販売インフラを作る」といったトリガーが発動した際に、この構想に沿って粛々と `server.js` 等への機能追加を進めてください。
|
|
||||||
|
### 設計思想
|
||||||
|
|
||||||
|
Zenn 記事で指摘された通り「PWA を広める場所がない」問題は現実に存在します。
|
||||||
|
posimai-store は最初は「posimai の PWA を売る場所」ですが、将来的に**他の開発者の PWA も扱える配布プラットフォーム**に育てる可能性があります。
|
||||||
|
|
||||||
|
### フロー
|
||||||
|
|
||||||
|
```
|
||||||
|
posimai-store(静的 Vercel)
|
||||||
|
└→ Stripe Payment Links(固定価格・単品)
|
||||||
|
└→ Stripe Webhook → server.js
|
||||||
|
├→ PostgreSQL: users テーブルに登録
|
||||||
|
└→ Resend: Magic Link メールを自動送信
|
||||||
|
└→ 顧客がリンクを開くと即利用開始
|
||||||
|
```
|
||||||
|
|
||||||
|
### 技術決定
|
||||||
|
|
||||||
|
| 項目 | 選択 | 理由 |
|
||||||
|
|------|------|------|
|
||||||
|
| 販売ページ | 純粋な静的 HTML/CSS(Vercel) | CMS 非連動・絶対に落ちない |
|
||||||
|
| 決済(MVP) | Stripe Payment Links | コードなしで即日開始可能 |
|
||||||
|
| 決済(将来) | Stripe Checkout Session | 複数プラン・割引コード対応時に移行 |
|
||||||
|
| 認証 | Magic Link(自前実装済み) | パスワード不要・サポートゼロ |
|
||||||
|
| 解約・請求変更 | Stripe Customer Portal | 管理コードほぼゼロ |
|
||||||
|
|
||||||
|
### posimai-site との関係
|
||||||
|
- `posimai-site` = 個人ポートフォリオ・ブログ実験場(現状維持)
|
||||||
|
- `posimai-store` = 商用販売の唯一の窓口(新設・完全切り離し)
|
||||||
|
|
||||||
|
### 開始条件
|
||||||
|
「販売インフラを作る」というトリガーが発動した時点で着手。
|
||||||
|
その前提として **Magic Link 認証の server.js 実装**が完了していること。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 優先順位(2026-03-31 時点)
|
||||||
|
|
||||||
|
```
|
||||||
|
[今すぐ] Magic Link + Passkey 認証実装(server.js)
|
||||||
|
↓ 完了後
|
||||||
|
[次] posimai-store 新設(静的 LP + Stripe Payment Links)
|
||||||
|
↓ 並行して
|
||||||
|
[随時] Chronicle 実装(git log → Gemini → journal draft)
|
||||||
|
↓ 将来
|
||||||
|
[長期] posimai-store を他開発者の PWA 配布プラットフォームへ拡張
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 一元管理の方針
|
||||||
|
|
||||||
|
情報はできる限り以下に集約します:
|
||||||
|
|
||||||
|
| 種別 | 場所 |
|
||||||
|
|------|------|
|
||||||
|
| アプリ一覧・リンク・ステータス | `posimai-dashboard/src/data/projects.json` |
|
||||||
|
| 更新・開発履歴 | `posimai-dashboard/src/app/timeline/page.tsx` |
|
||||||
|
| インフラ構成 | `posimai-atlas`(atlas.json) |
|
||||||
|
| 技術的決定事項・戦略 | 本ファイル(`docs/strategic-roadmap.md`) |
|
||||||
|
| インフラ詳細・URL一覧 | `docs/master-architecture.md` |
|
||||||
|
| AI の個人記憶 | `memory/MEMORY.md`(claude-memory リポジトリと同期) |
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue