<p align="center"><img src="public/logo.svg" width="64" alt="Launch Harness"></p>
<h1 align="center">Launch Harness</h1>
<p align="center"><strong>アイデアを、届くところまで。</strong><br>計画・準備・告知・振り返りを、ひとつのワークスペースに。</p>

Launch Harnessは、商品発表、セミナー、キャンペーンをチームとAIで進めるセルフホスト型のローンチ管理ツールです。日本語の管理画面、REST API、MCPに対応しています。

自分のCloudflareへ導入して使います。既存のBloom、メールハーネス、LINE Harnessのアカウントやデータは不要です。

## まず、触ってみる

Node.js 22.16以降とnpmをご用意ください。

```sh
git clone https://github.com/plai-ai/launch-harness.git
cd launch-harness
npm ci
npm run demo
```

表示された **http://127.0.0.1:8793** を開き、「デモを試す」を選びます。クラウドの登録もAPIキーも不要です。

デモは架空データを使うローカル限定の環境です。実際の配信や課金は行わず、終了すると変更は消えます。普段の業務には、下の導入手順をご利用ください。

## できること

| やりたいこと         | 機能                                                                                  |
| -------------------- | ------------------------------------------------------------------------------------- |
| ローンチを始める     | 商品・サービス、セミナー、キャンペーン、空白の4テンプレート。開催日から準備期限を逆算 |
| 次にやることを知る   | ホームに進行中の案件、直近のタスク、期限超過、確認待ちの原稿、告知予定                |
| チームで準備する     | タスクの担当・期限・状態・メモ・リンク。ボードとリスト、絞り込み、検索                |
| 全体の日程を見る     | 開催日・タスクの期限・告知予定をカレンダーへ集約。小さい画面は予定リストで表示        |
| 告知を整える         | メール・LINE・SNS等の原稿と本文プレビュー。下書き→確認待ち→承認済み→実施済み          |
| 必要な資料を集める   | 販売ページ、申込、参加用URL、制作資料をローンチごとに保存                             |
| 結果を振り返る       | 日別・チャネル別の閲覧、集客、申込、売上、費用。出典と未計測を区別                    |
| AIに準備を頼む       | 10個のMCPツールとREST API。個人トークン、期限、権限、失効、操作履歴                   |
| チームで安心して使う | 管理者・確認者・編集者・閲覧者。招待、セッション管理、編集競合の検出                  |
| データを残す         | 復元できるアーカイブ、JSONエクスポート、D1バックアップ                                |

**実際のメール・LINE・SNS配信は、各配信サービスで行います。** この製品の日時は「予定」であり、配信予約そのものではありません。承認した原稿を編集すると、下書きへ戻って承認が解除されます。

## 自分の環境へ導入する

```sh
npm run setup -- --cloud
```

ウィザードがCloudflareへのログイン、アカウント選択、専用DBの作成、初期設定、管理画面の配置を案内します。最後に表示されるURLで管理者を登録します。Cloudflareの料金・制限は利用者のプランと使用量に従います。

- **1環境 = 1組織**。組織が異なる場合は別の環境を作ります。
- 同名の既存Workerへの上書きを防ぎ、途中で結果が不明になった処理を自動再実行しません。
- メンバーの招待は管理画面から。招待リンクは48時間・1回限りです。
- 画面の日時は日本時間です。APIの時刻にはタイムゾーンを指定します。

[導入・更新・復旧ガイド](docs/SETUP.md) · [AI / MCPガイド](docs/AI.md) · [APIリファレンス](docs/API.md)

## いつもの使い方

1. テンプレートを選び、開催・発売日と届けたい価値を決める。
2. タスクに担当を割り当て、制作物や資料のリンクを添える。
3. 告知原稿の本文・対象・日時・リンクを揃え、確認者が承認する。
4. 各配信サービスで実施し、この画面に実施済みの記録を残す。
5. 実績と出典を記録して振り返る。終了した案件はアーカイブする。

開催日を後から変えても、個別に調整したタスク期限は動かしません。カレンダーを見ながら必要な期限を更新してください。

## AIと使う

画面の「AI連携」でトークンを発行し、表示されるMCP設定をAIアプリに追加します。

> 期限が過ぎたタスクと確認待ちの原稿を確認して、今日やることをまとめて。

> このローンチの届けたい相手と価値を読んで、メールの告知原稿を下書きして。

> チャネル別の集客と申込を比較して。未入力の数字は0として扱わないで。

トークンは発行者の現在の権限を超えません。AIによる更新も操作履歴へ残ります。

## 開発・検証

```sh
npm test
npm run lint
npm run check:build
npm run setup -- --local
npm run dev
```

配布物の作成は `npm run pack:release`。ファイルを明示的に選び、秘密値やローカル環境の混入を検査します。

[設計](docs/ARCHITECTURE.md) · [セキュリティ](docs/SECURITY.md) · [既存版からの分離範囲](docs/EXTRACTION.md) · [検証範囲](docs/VERIFICATION.md)
