- 対話型Ganttチャート自動生成システム
- Claude Code スキル定義 (/gantt, /gantt-update)
- Google Apps Script連携
- Todoist・Discord統合機能
- 完全なセットアップドキュメント
🤖 Generated with Claude Code
7.7 KiB
7.7 KiB
インストールガイド
Claude Code対話型Ganttチャート自動生成システムのセットアップ手順を説明します。
📋 前提条件
- Node.js: v20.x以上
- npm: v10.x以上
- Claude Code CLI: インストール済み
- Google Cloud Platform: アカウント作成済み
- Google Apps Script: 基本的な知識
🚀 セットアップ手順
1. リポジトリのクローン
git clone https://github.com/{your-username}/claude-gantt-chart.git
cd claude-gantt-chart
2. 依存関係のインストール
npm install
3. 環境変数の設定
.env.exampleをコピーして.envを作成:
cp .env.example .env
.envファイルを編集:
# Google Drive設定
GOOGLE_DRIVE_FOLDER_ID=your_folder_id_here
GOOGLE_CLIENT_ID=your_client_id_here
GOOGLE_CLIENT_SECRET=your_client_secret_here
GOOGLE_REDIRECT_URI=http://localhost:19204/oauth2callback
# スプレッドシートID(Discord通知用、オプション)
GOOGLE_SPREADSHEET_ID=your_spreadsheet_id_here
# Discord通知設定(オプション)
DISCORD_WEBHOOK_URL=your_webhook_url_here
# Todoist API設定(オプション)
TODOIST_API_KEY=your_todoist_api_token_here
4. Google Cloud Platformの設定
4.1 プロジェクト作成
- Google Cloud Consoleにアクセス
- 新規プロジェクトを作成
4.2 Google Drive API有効化
- 「APIとサービス」→「ライブラリ」
- 「Google Drive API」を検索して有効化
4.3 OAuth 2.0認証情報の作成
- 「APIとサービス」→「認証情報」
- 「認証情報を作成」→「OAuth 2.0 クライアントID」
- アプリケーションの種類: デスクトップアプリ
- リダイレクトURI:
http://localhost:19204/oauth2callback - クライアントIDとシークレットを
.envに設定
4.4 Google Driveフォルダ作成
- Google Driveで新規フォルダを作成(例:
Gantt-JSON-Files) - フォルダURLからフォルダIDを取得:
- URL形式:
https://drive.google.com/drive/folders/{FOLDER_ID} {FOLDER_ID}の部分を.envのGOOGLE_DRIVE_FOLDER_IDに設定
- URL形式:
5. Google OAuth認証
初回認証トークンを取得:
npm run gantt:auth
ブラウザが開き、Googleアカウントでログイン・認証します。
認証完了後、.google-token.jsonが自動生成されます(gitignoreに含まれます)。
6. TypeScriptのビルド
npm run build
7. Google Apps Scriptの設定
7.1 スプレッドシート作成
- Google Sheetsで新規スプレッドシートを作成
- スプレッドシートのURLからIDを取得:
- URL形式:
https://docs.google.com/spreadsheets/d/{SPREADSHEET_ID}/edit {SPREADSHEET_ID}を.envのGOOGLE_SPREADSHEET_IDに設定(オプション)
- URL形式:
7.2 Apps Scriptプロジェクト作成
- スプレッドシートを開く
- 「拡張機能」→「Apps Script」
- 新規プロジェクトが作成されます
7.3 GASコードのコピー
gas/フォルダ内の全ファイルをApps Scriptエディタにコピー:
Config.gsSheetManager.gsGanttRenderer.gsCode.gs
7.4 Config.gsの設定
Config.gsを開き、以下を設定:
const CONFIG = {
DRIVE_FOLDER_ID: 'あなたのフォルダID', // .envと同じ値
DISCORD_WEBHOOK_URL: 'あなたのWebhook URL', // オプション
TODOIST_API_KEY: 'あなたのTodoist APIトークン', // オプション
// ...その他の設定
};
7.5 時間トリガーの設定
- Apps Scriptエディタで「トリガー」アイコン(⏰)をクリック
- 「トリガーを追加」をクリック
- 以下のように設定:
- 実行する関数:
checkForNewJsonFiles - イベントのソース:
時間主導型 - 時間ベースのトリガーのタイプ:
分ベースのタイマー - 時間の間隔:
1分おき
- 実行する関数:
- 「保存」をクリック
8. Todoist統合(オプション)
Todoistと連携する場合:
8.1 Todoist APIトークン取得
- Todoist設定にアクセス
- 「開発者」タブ→「APIトークン」をコピー
.envのTODOIST_API_KEYに設定Config.gsのTODOIST_API_KEYにも設定
8.2 Todoistトリガー設定
Apps Scriptで以下のトリガーを追加:
-
Todoistタスク同期:
- 実行する関数:
syncTodoistTasks - イベントのソース:
時間主導型 - 時間の間隔:
30分おき
- 実行する関数:
-
期日切れタスク通知:
- 実行する関数:
sendOverdueTasksNotification - イベントのソース:
時間主導型 - 時間ベースのトリガーのタイプ:
日タイマー - 時刻:
午前9時~10時
- 実行する関数:
9. Discord通知設定(オプション)
Discord通知を有効にする場合:
- Discordサーバーで「サーバー設定」→「連携サービス」→「ウェブフック」
- 新しいウェブフックを作成
- ウェブフックURLをコピー
.envのDISCORD_WEBHOOK_URLに設定Config.gsのDISCORD_WEBHOOK_URLにも設定
✅ 動作確認
1. Claude Codeで動作確認
# プロジェクトディレクトリで
claude code
Claude Codeのプロンプトで:
/gantt
スキルが正常に認識されれば成功です。
2. JSONファイル生成テスト
/ganttコマンドで対話形式でプロジェクト情報を入力- 完了後、以下を実行:
npm run gantt:save
output/フォルダにJSONファイルが生成されることを確認- Google Driveにアップロードされることを確認
3. Ganttチャート生成テスト
- JSONファイルがGoogle Driveにアップロードされた後、1分以内に自動処理される
- スプレッドシートに以下のシートが作成されることを確認:
- プロジェクト一覧
- 全プロジェクトタスク
- 期日切れタスク
- 個別Ganttチャート
🛠️ トラブルシューティング
Q1. OAuth認証がうまくいかない
A: 以下を確認:
- Google Drive APIが有効化されているか
.envのクライアントID・シークレットが正確か- リダイレクトURIが正確に設定されているか
Q2. JSONファイルが生成されない
A: 以下を確認:
npm run buildを実行したか- TypeScriptのコンパイルエラーがないか
npm run gantt:saveを実行したか
Q3. Ganttチャートが自動生成されない
A: 以下を確認:
- 時間トリガーが正しく設定されているか
Config.gsのDRIVE_FOLDER_IDが正しいか- Apps Scriptの実行ログでエラーがないか
- JSONファイルが正しいフォルダにアップロードされているか
Q4. Todoistタスクが同期されない
A: 以下を確認:
TODOIST_API_KEYが正しく設定されているか- Todoistトリガーが正しく設定されているか
testTodoistIntegration()関数で手動テストする
📚 次のステップ
- README.md - 詳細な使い方
- gas/README.md - GAS側の詳細ドキュメント
- DESIGN.md - システム設計ドキュメント
🆘 サポート
問題が発生した場合:
- Issuesで報告
- トラブルシューティングセクションを確認
- Apps Scriptの実行ログを確認
📝 ライセンス
MIT License