Discordと連携するチーム向けタスク管理アプリケーション
- Discord統合: スラッシュコマンドでタスク管理
- 自動スレッド作成: タスクごとにDiscordスレッドを自動生成
- リアルタイム通知: ステータス変更、担当者変更、コメントなどを即座に通知
- メンション機能: @メンションでユーザーに直接通知
- 期限リマインダー: 自動的に期限が近いタスクをリマインド
- Web UI: 直感的なWebインターフェースでの管理も可能
- フレームワーク: Astro
- ランタイム: Cloudflare Workers
- データベース: Cloudflare D1
- 認証: better-auth (Discord OAuth)
- UI: Svelte + Tailwind CSS + shadcn-ui
- パッケージマネージャー: pnpm
git clone https://github.com/yourusername/wumtodo.git
cd wumtodopnpm installDiscord Developer Portalでアプリケーションを作成し、以下の情報を取得:
- Client ID
- Client Secret
- Bot Token
- Public Key
- Application ID
詳細はDiscord セットアップガイドを参照。
# ローカル開発用
cp .env.local.example .env.local
# .env.localを編集してDiscordの情報を設定# D1データベースを作成
npx wrangler d1 create wumtodo
# マイグレーションを実行
pnpm db:migratepnpm dev# ngrokを使ってローカルを公開
ngrok http 4321
# Discord Developer PortalでInteractions Endpoint URLを設定
# https://xxxx.ngrok.io/api/discord/interactionspnpm discord:register- 使い方ガイド - 基本的な使い方とコマンド一覧
- Discord Bot セットアップ - Botの追加と初期設定
- 開発者ガイド - 開発環境の詳細設定
- トラブルシューティング - 401エラーの対処法
| コマンド | 説明 |
|---|---|
pnpm dev |
開発サーバーを起動 (http://localhost:4321) |
pnpm build |
プロダクションビルドを作成 |
pnpm preview |
ビルドをプレビュー |
pnpm typecheck |
TypeScriptの型チェック |
pnpm db:create |
D1データベースを作成 |
pnpm db:migrate |
データベースマイグレーションを実行 |
pnpm discord:register |
Discordスラッシュコマンドを登録 |
pnpm deploy |
Cloudflare Workersにデプロイ |
DISCORD_PUBLIC_KEYが正しく設定されているか確認.env.localファイルが存在し、正しく読み込まれているか確認- 詳細なトラブルシューティングガイドを参照
pnpm discord:registerを実行したか確認- Botに必要な権限があるか確認
- Discordクライアントを再起動
- サーバー管理者が
/wumtodo setupを実行 - または任意のタスクコマンドを実行してチームを初期化
プルリクエストを歓迎します!大きな変更を行う場合は、まずissueを作成して変更内容について議論してください。