posimai-root/AGENTS.md

162 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Posimai Project — AI Instructions
## 新しい AI への引き継ぎチェックリスト(必読)
別の AI エージェントAntigravity 等)やセッションを新たに始めるときは、**必ず最初にこのセクションを読ませること。**
### 作業前に AI が確認すべき事項
1. **CLAUDE.md を全文読む**(このファイル)— デザインルール・デプロイ方法・禁止事項がすべてここにある
2. **memory/ ディレクトリを確認する**`C:\Users\maita\.claude\projects\c--Users-maita-posimai-project\memory\MEMORY.md` にプロジェクト固有の記憶がある
3. **`posimai-dashboard/src/data/projects.json` を確認する** — 全アプリの一覧・ステータス・技術スタックがここにある
### AI が絶対に守るべきルール(違反時は即修正)
| 禁止事項 | 理由 |
|---------|------|
| 絵文字の使用コード・コメント・HTML 問わず) | デザインルール違反 |
| `lucide@latest` の使用 | バージョン固定済み(`@0.344.0` |
| CDN ライブラリのバージョン未固定(`@latest` 等) | SW キャッシュ破壊・予期せぬ破壊的変更のリスク |
| `vercel --prod` の直接実行 | GitHub push で自動デプロイされるため二重になる |
| `git push origin` の使用 | `gitea``github` の2リモートを使う |
| デザインシステム外の色の使用 | アクセントは `--accent` 1色のみ |
| manifest.json / sw.js のないアプリを作る | 全アプリ PWA 必須 |
| `theme-color` メタタグをメディアクエリなしで書く | ライトモード時に黒い問題が発生する |
### 作業完了時の必須チェック
- [ ] emoji が増えていないか (`grep -r "emoji\|✅\|📱\|⚙️\|🎉" --include="*.html"`)
- [ ] `@latest` が増えていないか (`grep -r "@latest" --include="*.html"`)
- [ ] `npm run deploy` でデプロイしたか(`git push gitea main && git push github main`
- [ ] 大きな変更なら Dashboard Timeline に追記したか
---
## Deploy ルール(必須)
コードを変更してデプロイするときは **必ずこの手順** を使うこと:
```bash
git add .
git commit -m "feat/fix/chore: 変更内容"
npm run deploy
```
`npm run deploy` = `git push gitea main && git push github main`
- **Gitea**`http://100.76.7.3:3000/mai/`: ローカルバックアップ
- **GitHub**`https://github.com/posimai/`: Vercel 自動デプロイのトリガー
### やってはいけないこと
- `vercel --prod` を直接実行しないGitHub push で自動デプロイされるため不要)
- **例外**: 新アプリの初回本番デプロイのみ、空コミット push で代替する(`_template/README.md` 参照)
- `git push origin` を使わない(`gitea` と `github` の2つのリモートを使う
- `git push github main` だけ実行して Gitea を忘れない
---
## プロジェクト構成
| アプリ | ディレクトリ | 説明 |
|--------|-------------|------|
| posimai-dashboard | `posimai-dashboard/` | Next.js メインダッシュボード |
| posimai-analytics | `posimai-analytics/` | Next.js アナリティクス |
| posimai-brain | `posimai-brain/` | 記事管理(静的) |
| posimai-feed | `posimai-feed/` | RSS フィード(静的) |
| posimai-events | `posimai-events/` | イベント情報(静的) |
| posimai-hotels | `posimai-hotels/` | ホテル価格ウォッチ(静的) |
| posimai-daily | `posimai-daily/` | オーディオファースト・ブリーフィング(静的/API融合 |
| posimai-maps | `posimai-maps/` | マップ(静的) |
| posimai-reader | `posimai-reader/` | 記事リーダー(静的) |
| posimai-together | `posimai-together/` | 共有スペース(静的) |
| posimai-journal | `posimai-journal/` | CMS エディタSynology API バック) |
| posimai-site | `posimai-site/` | 公開ホームページjournal/site_config と連携) |
| posimai-digest | `posimai-digest/` | テキスト要約(静的) |
| posimai-ambient | `posimai-ambient/` | 常時表示アンビエント PWA静的 |
| posimai-widget | `posimai_widget/` | Android ホーム画面ウィジェットFlutter |
## Synology バックエンドserver.js
- ファイル: `server.js`ルートに配置、git 管理外)
- デプロイ: File Station でアップロード → `docker cp``docker restart posimai_api`
- API base: `https://posimai-lab.tail72e846.ts.net/brain/api`
- 主なテーブル: `users`, `articles`, `journal_posts`, `site_config`, `reading_history`
## デザインシステムprojects.json designRules が正)
```
--bg: #0D0D0D 背景
--surface: #1A1A1A カード面
--surface2: #252525 ネスト面
--border: #2D2D2D ボーダー
--text: #F3F4F6 主テキスト
--text2: #9CA3AF 副テキスト
--text3: #6B7280 弱テキスト
--accent: #6EE7B7 アクセントPosimai Teal← デフォルト
--radius: 12px 角丸
```
- フォント: Inter300/400/500/600
- アイコン: Lucidestroke 1.5〜2.0
- ヘッダー: 高さ 52px、glassmorphism、アクセントドット + アプリ名
- 絵文字: **禁止**
- 全アプリ: manifest.json + sw.js + PWA メタタグ必須
### アプリ別アクセントカラー(デフォルトから意図的に変える場合のみ記載)
| アプリ | ダーク accent | ライト accent | 理由 |
|--------|-------------|-------------|------|
| 全般(デフォルト) | `#6EE7B7` Teal | `#059669` | Posimai ブランドカラー |
| posimai-journal | `#80CAEE` Sky-Blue | `#0284C7` | CMS 系・静かで知的な印象 |
| posimai-site | `#80CAEE` Sky-Blue | `#0284C7` | journal と同系統の公開サイト |
**新アプリ作成時のルール:**
1. デフォルト Teal を使うなら何も記載不要
2. 意図的に変える場合はこの表に追記してから実装する
3. 同じ用途・系統のアプリは同じアクセントカラーに揃える
## 新アプリ作成
`_template/` をコピーして使う。`APP_NAME` / `APP_ID` / `APP_DESCRIPTION` を置換するだけで動く。
**完全な手順Git / Vercel セットアップ含む)は必ず `_template/README.md` を参照すること。**
特に以下の2点は詰まりやすいので注意
- Gitea リポジトリは **Web UI で先に作成**してから `git remote add gitea` する
- `vercel git connect` 後、**空コミット push** で初回本番デプロイをトリガーする
### 新アプリ作成後の必須チェックリスト(抜け漏れ禁止)
新しいアプリを作ったら、**コード実装の完了直後に必ずこの順番で実行する**こと:
1. **Dashboard カード追加**
- `posimai-dashboard/src/data/projects.json``projects` 配列にエントリを追加
- 適切な `category` を設定(`posimai-pwa` / `active` / `flagship` / `micro` / `infra` など)
2. **Ecosystem Map 追加**
- `posimai-dashboard/src/app/ecosystem/page.tsx``NODES` 配列にノードを追加
- 関連する `EDGES`(依存関係)も追加
3. **Development Timeline に追記**
- `posimai-dashboard/src/app/timeline/page.tsx``EVENTS` 配列に今日の日付でエントリを追加
- type: `launch`(新規公開)/ `feature`(機能追加)/ `fix`(修正)/ `infra`(インフラ)
4. **Dashboard をデプロイ**
```bash
cd posimai-dashboard
git add src/data/projects.json src/app/ecosystem/page.tsx src/app/timeline/page.tsx
git commit -m "feat: add [app-name] to dashboard"
npm run deploy
```
5. **プロジェクト構成テーブルを CLAUDE.md に追記**(このファイル)
> ⚠️ ダッシュボード更新カード・Ecosystem・Timelineを忘れると、アプリが孤立してエコシステムから見えなくなる。
## 既存アプリに大きな変更をした場合の必須チェックリスト
機能追加・バグ修正・リリースなど **ユーザーが気づくレベルの変更** をしたら:
1. `posimai-dashboard/src/app/timeline/page.tsx``EVENTS` 配列に今日の日付でエントリを追加
2. Dashboard をデプロイ
## Git リモート(全アプリ共通)
- `gitea``http://100.76.7.3:3000/mai/[app-name].git`
- `github``https://github.com/posimai/[app-name].git`