diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 1857ffc..91bcd8e 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -28,7 +28,10 @@ "Bash(docker compose exec:*)", "Bash(docker-compose restart:*)", "Bash(TOKEN=\"15c19c3c-3476-4177-8351-3b545c1e51d1\")", - "Bash(ssh:*)" + "Bash(ssh:*)", + "Bash(claude mcp list)", + "Bash(claude mcp get trilium)", + "Bash(claude mcp get gitea)" ] } } diff --git a/.cursor/rules/30_Cursorガイド.md b/.cursor/rules/30_Cursorガイド.md new file mode 100644 index 0000000..4b64fc3 --- /dev/null +++ b/.cursor/rules/30_Cursorガイド.md @@ -0,0 +1,58 @@ +## Cursor ガイド(Keina System) + +> **最終更新**: 2026-02-28 +> **対象**: Cursor(GPT-5.1)エージェント用の運用ルール + +--- + +## このドキュメントの目的 + +- Keina System プロジェクトにおいて、Cursor がどのような前提・役割で振る舞うかを明文化する。 +- Claude Code(Sonnet 系)と併用する際の、自身の立ち位置と守るべきルールを整理する。 + +--- + +## セッション開始時の読み順 + +Cursor は、このリポジトリで新しいセッションを開始する際に、次の順番でドキュメントを参照することを前提とする。 + +1. `.cursor/rules/30_Cursorガイド.md`(このファイル) + - Cursor 自身の振る舞い・運用ルールを確認し、必要に応じてアップデートする。 +2. `document/20_Cursor_Claude連携ガイド.md` + - Cursor / Claude Code の役割分担と情報共有の方針を確認する。 + +--- + +## Cursor の主な役割 + +- **設計相談・検討の相棒** + - 要件整理、設計方針の比較検討、リファクタリング方針の検討など、思考の整理と決定の支援を担当する。 +- **ドキュメントドリブンの徹底** + - 新しい設計判断や運用ルールを決めた場合は、まず関連ドキュメント(`CLAUDE.md` / `20_` / 本ファイルなど)を更新する。 +- **実装の下書き・雛形作成** + - 実装方針が固まったあとのコードスケッチや雛形作成も行うが、実際の細かい実装・仕上げは Claude Code と分担してもよい。 + +--- + +## Claude Code との関係 + +- Cursor と Claude Code は直接通信できないため、**リポジトリ内ドキュメントを介して情報を共有する**。 +- Cursor は、設計フェーズの結果を必要に応じて以下のファイルにまとめる。 + - `document/21_Cursor_設計ログ.md`(詳細な時系列ログ。必要になったタイミングで作成し、以後更新) + - `document/22_Cursor_からClaudeへの引き継ぎ.md`(Claude Code 向けの要約・ToDo。必要になったタイミングで作成し、以後更新) +- Claude Code に作業を渡すときは、ユーザーから「`CLAUDE.md` と 20_ / 22_ を読むように指示する」ことを前提とする。 + +--- + +## MCP / 外部連携に関する方針 + +- Trilium や Gitea などの MCP サーバーが利用可能な場合でも、**人手によるコピー操作を前提としない設計**を優先し、可能な限りリポジトリ内の Markdown に集約する。 +- MCP ツールを使う際は、各 MCP サーバー配下の `SERVER_METADATA.json` や `tools/*.json` を事前に参照し、スキーマに従った安全な呼び出しのみを行う。 + +--- + +## このファイルの更新ルール + +- Cursor / Claude Code の役割分担やワークフローに大きな変更があった場合は、**まずこのファイルを更新**する。 +- 変更がプロジェクト全体のルールに影響する場合は、`CLAUDE.md` や `document/20_Cursor_Claude連携ガイド.md` にも必要な範囲で反映する。 + diff --git a/.cursor/rules/cursor-agent.mdc b/.cursor/rules/cursor-agent.mdc new file mode 100644 index 0000000..188d308 --- /dev/null +++ b/.cursor/rules/cursor-agent.mdc @@ -0,0 +1,17 @@ +--- +description: Cursor エージェント専用の振る舞いガイドを定義する +alwaysApply: true +--- + +# Cursor エージェントの参照ドキュメント優先順位 + +- Cursor は、このリポジトリで新しいセッションを開始するとき、**自分専用のガイドとして** `document/30_Cursorガイド.md` を最優先で参照する。 +- `CLAUDE.md` は「プロジェクト全体の背景・データモデル・マイルストーン」などの**共通コンテキストを把握するための参考資料**としてのみ扱い、**Cursor の振る舞いルールは基本的に `document/30_Cursorガイド.md` に従う。** +- Claude Code(Sonnet 系)向けの具体的な運用指示は `CLAUDE.md` 側を正とし、Cursor は「Claude Code がどう動く前提なのか」を理解するために必要なときだけ参照する。 + +# 役割分担と指示の解釈 + +- Cursor に対する振る舞い・運用ルール・ワークフローの変更は、**まず `document/30_Cursorガイド.md` に記述された内容を正とする。** +- Cursor は、`CLAUDE.md` に Cursor 自身への直接的な指示が書かれていても、**内容が `document/30_Cursorガイド.md` と衝突する場合は 30 側を優先する。** +- Claude Code 向けの設定や運用手順を変える場合は、`CLAUDE.md` と `document/20_Cursor_Claude連携ガイド.md` を更新し、Cursor はそれらを「Claude Code に何を伝えるべきか」の資料として参照する。 + diff --git a/CLAUDE.md b/CLAUDE.md index 7ffa4f7..654cc1f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -56,6 +56,9 @@ ``` keinasystem_t02/ ├── CLAUDE.md # このファイル(Claude向けガイド) +├── .cursor/ +│ └── rules/ +│ └── 30_Cursorガイド.md # Cursor専用ガイド ├── document/ # 詳細設計書(人間向け) │ ├── 00_Gemini向け統合指示書.md # 全体像の詳細 │ ├── 01_プロダクトビジョン.md @@ -311,6 +314,8 @@ Phase 2 のタスクに進む段階。 ## 🛠️ よくある作業パターン +- **Cursor / Claude Code 連携**: 詳細な運用ルールは `document/20_Cursor_Claude連携ガイド.md` を参照すること。 + ### 新しいモデルを追加する場合 1. `apps//models.py` にモデルクラスを追加 @@ -411,6 +416,7 @@ docker-compose exec backend python manage.py migrate ## 📝 更新履歴 +- 2026-02-28: Cursor / Claude Code 連携運用ルールを追加(詳細は `document/20_Cursor_Claude連携ガイド.md` を参照) - 2026-02-28: 気象データ機能を実装・本番稼働。`apps/weather`(WeatherRecord, 5 API)、Windmill `f/weather/weather_sync`(毎朝6時)、フロントエンド `/weather`(年別集計・期間指定・Rechartsグラフ)。`Crop.base_temp` 追加。デプロイコマンドの本番パス修正(/home/keinasystem/)。マスタードキュメント `document/12_マスタードキュメント_気象データ編.md` 追加 - 2026-02-25: CLAUDE.md更新。パスワード変更機能追記。メールフィルタリング機能を本番稼働済みに更新。マスタードキュメント `document/11_マスタードキュメント_メール通知関連編.md` リンク追加。デプロイコマンド(`--env-file .env.production` 必須)をトラブルシューティングに追加 - 2026-02-22: メールフィルタリング機能を実装。`apps/mail` Django app、Windmill向けAPI(APIキー認証)、フィードバックページ、ルール管理ページを追加。仕様書: `document/メールフィルタ/mail_filter_spec.md` diff --git a/document/20_Cursor_Claude連携ガイド.md b/document/20_Cursor_Claude連携ガイド.md new file mode 100644 index 0000000..ecf7656 --- /dev/null +++ b/document/20_Cursor_Claude連携ガイド.md @@ -0,0 +1,95 @@ +## Cursor / Claude Code 連携ガイド + +> **最終更新**: 2026-02-28 +> **対象**: Cursor(GPT-5.1)と Claude Code の協調運用ルール + +--- + +## このドキュメントの目的 + +- Cursor と Claude Code を併用する際の **役割分担** と **情報の受け渡し方法** を明文化する。 +- 両方のエージェントが、このリポジトリ内の同じドキュメントを参照することで、Trilium や外部 MCP に依存せずに進捗・設計情報を共有できるようにする。 + +--- + +## 全体方針 + +- **設計相談・方針検討** は主に Cursor が担当する。 +- **具体的な実装・継続作業** は主に Claude Code が担当する。 +- 両者のあいだで **直接通信は行わず**、このリポジトリ配下の Markdown 文書を介して情報を引き継ぐ。 +- ユーザーが Trilium に手作業でコピーすることを前提にせず、可能な限り **リポジトリ内ドキュメントの自動更新** で完結させる。 + +--- + +## 役割分担 + +### Cursor(GPT-5.1) + +- 設計方針や仕様の検討、代替案の比較、設計レビューなどを担当する。 +- セッション中の議論内容・決定事項・未解決の論点を、以下のドキュメントに **逐次追記・更新** する。 + - `document/20_Cursor_Claude連携ガイド.md`(このガイド。必要に応じて拡張) + - `document/21_Cursor_設計ログ.md`(時系列の詳細ログ、※必要になったら作成) + - `document/22_Cursor_からClaudeへの引き継ぎ.md`(Claude Code 向けの要約・ToDo、※必要になったら作成) + +### Claude Code + +- 実際のコード編集、リファクタリング、テスト整備などの「手を動かす」部分を中心に担当する。 +- 作業前に必ず以下を読む: + 1. `CLAUDE.md` + 2. `document/20_Cursor_Claude連携ガイド.md`(このファイル) + 3. 必要に応じて `document/21_Cursor_設計ログ.md` と `document/22_Cursor_からClaudeへの引き継ぎ.md` +- Cursor がまとめた設計方針や前提条件を尊重しつつ、実装詳細を詰める。 + +--- + +## 共有ドキュメントと役割 + +- **`document/20_Cursor_Claude連携ガイド.md`(本ファイル)** + - Cursor / Claude Code の運用ルールそのものを定義する。 + - 運用方針や役割分担に変更があった場合は、まずここを更新する。 + +- **`document/21_Cursor_設計ログ.md`(想定)** + - Cursor セッション中の思考過程や議論の詳細を、時系列で残すログ。 + - 「なぜその設計にしたか」「どの案を捨てたか」など、後から振り返りたい情報を含める。 + +- **`document/22_Cursor_からClaudeへの引き継ぎ.md`(想定)** + - Claude Code が最初に読むべき、Cursor セッションの要約。 + - 構成イメージ: + - 背景・前提 + - 決定した方針 + - 未完了タスク / ToDo + - 注意点(制約、やってはいけないこと など) + +実際に `21` や `22` を使い始めるタイミングで、Cursor 側がひな型を作成し、以降はセッションごとに更新していく。 + +--- + +## ワークフロー(例) + +1. **Cursor セッション開始** + - ユーザーが設計相談や仕様検討を Cursor に依頼する。 + - 必要に応じてこのガイドや既存ドキュメントを参照しつつ、方針を議論する。 + +2. **Cursor による記録** + - 議論の結果を `document/21_Cursor_設計ログ.md`(詳細ログ)と + `document/22_Cursor_からClaudeへの引き継ぎ.md`(要約・ToDo)に追記・更新する。 + +3. **Claude Code への引き継ぎ** + - Claude Code に作業を依頼する際、「まず `CLAUDE.md` と `document/22_Cursor_からClaudeへの引き継ぎ.md` を読むこと」と指示する。 + - Claude Code が詳細を知りたくなった場合は、`document/21_Cursor_設計ログ.md` やその他ドキュメントを参照する。 + +4. **Claude Code セッション終了時** + - Claude Code 側で重要な設計判断や仕様変更があった場合は、`CLAUDE.md` や関連マスタードキュメント(10〜12など)を更新する。 + - 必要に応じて、Cursor 側に再相談したい論点を `document/22_Cursor_からClaudeへの引き継ぎ.md` にメモしておく。 + +--- + +## 注意点 + +- Cursor と Claude Code は **直接通信できない** ため、必ずこのリポジトリ内のドキュメントを介して情報を共有する。 +- 運用ルールやフローに大きな変更があった場合は、 + 1. 本ガイド(`20_Cursor_Claude連携ガイド.md`)を更新し、 + 2. 必要があれば `CLAUDE.md` の「よくある作業パターン」などからリンクを追加・修正する。 + +このファイル自体も、今後の運用の中で少しずつ育てていくことを前提とする。 +