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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy