- Implement complete Rust API server with axum framework - Add database abstraction supporting PostgreSQL and SQLite - Implement comprehensive gacha system with probability calculations - Add JWT authentication with atproto DID integration - Create card master data system with rarities (Normal, Rare, SuperRare, Kira, Unique) - Implement draw history tracking and collection management - Add API endpoints for authentication, card drawing, and collection viewing - Include database migrations for both PostgreSQL and SQLite - Maintain full compatibility with Python API implementation - Add comprehensive documentation and development guide 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
ai.card プロジェクト固有情報
プロジェクト概要
- 名前: ai.card
- パッケージ: aicard
- タイプ: atproto基盤カードゲーム
- 役割: ユーザーデータ主権カードゲームシステム
実装状況
現在の状況
- ai.bot統合: ai.botの機能として実装済み
- カード取得: atproto accountでmentionすると1日1回カード取得可能
- データ管理: ai.api (MCP server) でユーザー管理
独立MCPサーバー(ai.gpt連携)
- 場所:
/Users/syui/ai/gpt/card/
- サーバー: FastAPI + fastapi_mcp (port 8000)
- 統合: ai.gptサーバーからHTTP連携
アーキテクチャ構成
技術スタック
- Backend: FastAPI + MCP
- Frontend: React Web UI + SwiftUI iOS app
- Data: atproto collection record(ユーザー所有)
- Auth: OAuth 2.1 scope(実装待ち)
データフロー
ユーザー → ai.bot mention → カード生成 → atproto collection → ユーザー所有
↑ ↓
← iOS app表示 ← ai.card API ←
移行計画
Phase 1: 独立化
- iOS移植: Claude担当予定
- Web UI: React実装
- API独立: ai.botからの分離
Phase 2: データ主権実装
- atproto collection: カードデータをユーザー所有に
- OAuth 2.1: 不正防止機能実装
- 画像ファイル: Cloudflare Pages最適化
Phase 3: ゲーム機能拡張
- ガチャシステム: 確率・レアリティ管理
- トレード機能: ユーザー間カード交換
- デッキ構築: カードゲーム戦略要素
yui system適用
唯一性担保
- カード効果: アカウント固有の効果設定
- 改ざん防止: ハッシュ・署名による保証
- ゲームバランス: 唯一性による公平性維持
ai.verse連携
- ゲーム内アイテム: ai.verseでのカード利用
- 固有スキル: カードとキャラクターの連動
- 現実反映: カード取得がゲーム内能力に影響
ディレクトリ構成
/Users/syui/ai/gpt/card/
├── api/ # FastAPI + MCP server
├── web/ # React Web UI
├── ios/ # SwiftUI iOS app
└── docs/ # 開発ドキュメント
MCPツール(ai.gpt連携)
カード管理
- card_get_user_cards: ユーザーカード取得
- card_draw_card: ガチャ実行
- card_analyze_collection: コレクション分析
- card_check_daily_limit: 日次制限確認
- card_get_card_stats: カード統計情報
- card_manage_deck: デッキ管理
開発状況
完成済み機能
- ✅ 基本カード生成: ai.bot統合での1日1回取得
- ✅ atproto連携: mention機能
- ✅ MCP統合: ai.gptからの操作
開発中機能
- 🔧 iOS app: SwiftUI実装
- 🔧 Web UI: React実装
- 🔧 独立API: FastAPI server
将来機能
- 📋 OAuth 2.1: 不正防止強化
- 📋 画像最適化: Cloudflare Pages
- 📋 ゲーム拡張: トレード・デッキ戦略
ai.botからの移行詳細
現在のai.bot実装
- Rust製: seahorse CLI framework
- atproto連携: mention機能でカード配布
- 日次制限: 1アカウント1日1回取得
- 自動生成: AI絵画(Leonardo.AI + Stable Diffusion)
独立化の理由
- iOS展開: モバイルアプリでの独立した体験
- ゲーム拡張: デッキ構築・バトル機能の追加
- データ主権: ユーザーによる完全なデータ所有
- スケーラビリティ: サーバー負荷分散
技術的課題と解決策
データ改ざん防止
- 短期: MCP serverによる検証
- 中期: OAuth 2.1 scope実装待ち
- 長期: ブロックチェーン的整合性チェック
スケーラビリティ
- 画像配信: Cloudflare Pages活用
- API負荷: FastAPIによる高速処理
- データ保存: atproto分散ストレージ
ユーザー体験
- 直感的UI: iOS/Webでの統一UX
- リアルタイム更新: WebSocketでの即座反映
- オフライン対応: ローカルキャッシュ機能
ai.game連携構想
Play-to-Work統合
- カードゲームプレイ → 業務成果変換: ai.gameデバイスでの労働ゲーム化
- デッキ構築戦略 → 企業戦略思考: カード組み合わせが戦略思考を鍛練
- トレード交渉 → ビジネススキル: 他プレイヤーとの交渉が実務能力向上
メタバース展開
- ai.verse統合: 3D世界でのカードバトル
- アバター連動: 所有カードがキャラクター能力に影響
- 配信コンテンツ: カードゲームが配信可能なエンターテイメント
Description
Languages
Vue
94.3%
Shell
4.9%
JavaScript
0.8%