CLAUDE.md

このファイルは、このリポジトリでコードを扱う際のClaude Code (claude.ai/code)へのガイダンスを提供します。

プロジェクト概要

esa-journalは、esa.ioから作業ログをダウンロードし、OpenAIのAPIを使用して要約を生成するプロジェクトです。

主要コンポーネント

  • esa.ioアクセス: esa.io APIへのアクセスにはRubyを使用
  • 要約生成: OpenAI APIを使用したPython
  • 作業ログカテゴリ: "結城浩の作業ログ"
  • URLパターン: https://hyuki.esa.io/#path=%2F%E7%B5%90%E5%9F%8E%E6%B5%A9%E3%81%AE%E4%BD%9C%E6%A5%AD%E3%83%AD%E3%82%B0%2F{year}%2F{month}%2F{day}

環境変数

  • JOURNAL_ESA_TEAM: esa.ioのチーム名
  • JOURNAL_ESA_ACCESS_TOKEN: esa.ioのアクセストークン
  • OPENAI_API_KEY: OpenAI APIキー

開発コマンド

新規プロジェクトのため、以下のコマンドを実装する必要があります:

Rubyセットアップ(esa.ioアクセス用)

# 依存関係のインストール(Gemfileが作成された後)
bundle install

# esaログダウンローダーの実行
ruby download_esa_logs.rb

Pythonセットアップ(OpenAI要約用)

# 仮想環境の作成
python -m venv venv
source venv/bin/activate  # macOS/Linux

# 依存関係のインストール(requirements.txtが作成された後)
pip install -r requirements.txt

# 要約プログラムの実行
python summarize_logs.py

アーキテクチャ

プロジェクトは以下のように構成されるべきです:

  1. esa.ioダウンローダー(Ruby)

    • チーム名とアクセストークンを使用してesa.io APIに接続
    • 指定されたカテゴリから作業ログをダウンロード
    • Python処理に適した形式(JSON推奨)でデータをエクスポート
  2. ログ要約プログラム(Python)

    • Rubyコンポーネントからエクスポートされたデータを読み取り
    • OpenAI APIを使用してログを処理
    • 週次要約を生成
  3. データフロー

    • Rubyスクリプトがログをダウンロード → JSONファイル → Pythonスクリプトが処理 → 要約出力

(2025年6月8日)