Skip to content

Commit 450827c

Browse files
committed
CLAUDE.mdを追加:プロジェクト概要とo3 MCP検索戦略を記載
- DojoMapプロジェクトの概要と主要コマンドを文書化 - アーキテクチャとデータフローの説明を追加 - o3 MCP価値最大化戦略セクションを追加 - Jekyll、地図API、画像最適化などの検索テンプレートを提供
1 parent fc2ff4d commit 450827c

File tree

1 file changed

+160
-0
lines changed

1 file changed

+160
-0
lines changed

CLAUDE.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## プロジェクト概要
6+
7+
DojoMapは、全国のCoderDojoを地図上で探せるWebアプリケーションです。JekyllベースのシンプルなWebアプリで、Geolonia Mapsを使って地図を表示し、Clubs APIとCoderDojo JapanのAPIからデータを定期的に取得して更新しています。
8+
9+
## よく使うコマンド
10+
11+
### 開発環境のセットアップ
12+
```bash
13+
# 依存関係のインストール
14+
bundle install
15+
```
16+
17+
### データ更新
18+
```bash
19+
# 全世界のDojoデータを取得(Clubs APIから)
20+
bundle exec rake get_data_from_earth
21+
22+
# 日本のDojoとイベントデータを取得(CoderDojo Japan APIから)
23+
bundle exec rake get_data_from_japan
24+
25+
# ロゴ画像をダウンロードしてWebP形式でキャッシュ
26+
bundle exec rake cache_dojo_logos
27+
28+
# GeoJSONファイルを生成(全データを統合)
29+
bundle exec rake upsert_dojos_geojson
30+
```
31+
32+
### 開発・ビルド・テスト
33+
```bash
34+
# ローカル開発サーバーの起動
35+
bundle exec jekyll server
36+
37+
# 本番環境向けビルド
38+
JEKYLL_ENV=production bundle exec jekyll build
39+
40+
# テストの実行(リンクチェックなど)
41+
bundle exec rake test
42+
```
43+
44+
## アーキテクチャと主要コンポーネント
45+
46+
### データフロー
47+
1. **データ取得**: 外部APIから最新のDojo情報を取得
48+
- `get_dojos_from_earth.rb`: Clubs API(旧CoderDojo Zen)からワールドワイドのデータを取得
49+
- `get_dojos_from_japan.rb`: CoderDojo Japan APIから日本のデータを取得
50+
- `get_events_from_japan.rb`: 日本のイベント情報を取得
51+
52+
2. **データ統合**: 複数のソースから取得したデータを統合
53+
- `upsert_dojos_geojson.rb`: 両方のAPIから取得したデータをマージし、重複を除去してGeoJSON形式に変換
54+
55+
3. **画像最適化**: ロゴ画像を効率的に配信
56+
- `cache_dojo_logos.rb`: ロゴ画像をダウンロードしてWebP形式に変換
57+
58+
### 自動更新システム
59+
GitHub Actionsで毎日自動更新(日本時間 5:59):
60+
1. データ取得スクリプトを実行
61+
2. 変更があれば自動コミット
62+
3. GitHub Pagesへ自動デプロイ
63+
64+
### 地図表示
65+
- **Geolonia Maps**: 日本に最適化された地図タイルサービス
66+
- **index.html**: 日本のDojoに特化した地図
67+
- **world.html**: 世界中のDojoを表示する地図
68+
- マーカークリックでポップアップ表示(名前、説明、連絡先、イベント情報)
69+
70+
### 主要ファイル
71+
- `dojos_earth.json`: Clubs APIから取得した全世界のDojoデータ
72+
- `dojos_japan.json`: CoderDojo Japan APIから取得した日本のDojoデータ
73+
- `events_japan.json`: 日本のイベントデータ
74+
- `dojos.geojson`: 地図表示用の統合データ(GeoJSON形式)
75+
- `images/dojos/*.webp`: 各Dojoのロゴ画像(WebP形式で最適化)
76+
77+
### テスト戦略
78+
- `html-proofer`: HTMLの妥当性とリンクチェック
79+
- 外部リンクの検証を含む包括的なチェック
80+
81+
## 🧠 o3 MCP価値最大化戦略
82+
83+
技術的に詰まったときや調査が必要なときは、o3 MCP(`mcp__o3__o3-search`)を活用して最新の情報を取得します。
84+
85+
### 予防的調査(エラーを未然に防ぐ)
86+
実装前に必ずo3 MCPで以下を調査:
87+
- 新しいGemを追加する前:`mcp__o3__o3-search "[gem名] Jekyll 4.3 Ruby 3.4 compatibility issues 2025"`
88+
- APIエンドポイント変更前:`mcp__o3__o3-search "CoderDojo Clubs API endpoint migration breaking changes 2025"`
89+
- GitHub Actions更新前:`mcp__o3__o3-search "GitHub Actions Ubuntu runner Jekyll build issues 2025"`
90+
91+
### DojoMap固有のクエリテンプレート
92+
93+
#### Jekyll関連
94+
```bash
95+
# Jekyll 4.3のビルドエラー
96+
mcp__o3__o3-search "Jekyll 4.3 [エラーメッセージ] Ruby 3.4 GitHub Pages 2025"
97+
98+
# Jekyll プラグイン互換性
99+
mcp__o3__o3-search "Jekyll 4.3 [プラグイン名] compatibility Ruby 3.4 2025"
100+
101+
# Liquid テンプレートエラー
102+
mcp__o3__o3-search "Jekyll Liquid template [エラー内容] syntax error 2025"
103+
```
104+
105+
#### 地図・GeoJSON関連
106+
```bash
107+
# Geolonia Maps API
108+
mcp__o3__o3-search "Geolonia Maps API [機能名] implementation JavaScript 2025"
109+
110+
# GeoJSON フォーマット
111+
mcp__o3__o3-search "GeoJSON format [問題] mapbox compatibility 2025"
112+
113+
# マーカークラスタリング
114+
mcp__o3__o3-search "Geolonia Maps marker clustering performance optimization 2025"
115+
```
116+
117+
#### API連携
118+
```bash
119+
# Clubs API (旧CoderDojo Zen)
120+
mcp__o3__o3-search "CoderDojo Clubs API [エンドポイント] authentication Ruby 2025"
121+
122+
# APIレート制限
123+
mcp__o3__o3-search "CoderDojo API rate limit handling Ruby retry strategy 2025"
124+
125+
# JSONパースエラー
126+
mcp__o3__o3-search "[エラー全文] JSON parse Ruby 3.4 encoding UTF-8"
127+
```
128+
129+
#### 画像最適化
130+
```bash
131+
# WebP変換
132+
mcp__o3__o3-search "Ruby ImageMagick WebP conversion quality optimization 2025"
133+
134+
# 画像キャッシュ戦略
135+
mcp__o3__o3-search "Jekyll static site image caching strategy WebP CDN 2025"
136+
```
137+
138+
#### GitHub Actions
139+
```bash
140+
# ワークフローエラー
141+
mcp__o3__o3-search "GitHub Actions [エラー] Jekyll build Ruby 3.4 Ubuntu 2025"
142+
143+
# 自動コミット問題
144+
mcp__o3__o3-search "GitHub Actions automated commit permission denied GITHUB_TOKEN 2025"
145+
146+
# GitHub Pages デプロイ
147+
mcp__o3__o3-search "GitHub Actions Pages deploy Jekyll JEKYLL_ENV production 2025"
148+
```
149+
150+
### 段階的問題解決アプローチ
151+
1. **初期調査**: エラーメッセージ全文で検索
152+
2. **深堀り**: 使用している技術スタック(Jekyll 4.3, Ruby 3.4, Geolonia Maps)を含めて再検索
153+
3. **検証**: 公式ドキュメントや最新のGitHub Issuesを確認
154+
155+
### 結果の批判的評価
156+
o3の検索結果を使用する際は必ず:
157+
1. 情報の日付を確認(2024年以降の情報を優先)
158+
2. Jekyll/Ruby/APIのバージョン互換性を確認
159+
3. DojoMapの制約条件(静的サイト、GitHub Pages)と照合
160+
4. 小規模な変更でテストしてから本実装

0 commit comments

Comments
 (0)