このページは英語から翻訳されています。
開発者向けツール
GitHub連携のあるアプリを構築する
リポジトリに配線された納品ハブ。クライアントの依頼はラベル付きのIssueになり、マージされた仕事はクライアントが本当に読める変更履歴になり、リリースメールは公開されたプルリクエストから下書きされます。
テキスト ボックスにアイデアを入力するだけで、AIがそれを構築します。
リポジトリに、表の顔がいる理由
4人のプロダクトスタジオにとって、納品の事実はすでに存在しています。プルリクエスト、マイルストーン、リリースタグの中にあります。問題は、クライアントがGitHubを読まないことです。だから金曜日は翻訳に消えます。Issueのステータスを表計算に写し、コミットメッセージをメールに書き直し、「あの機能はどこですか」という問いに、クライアントが開くはずのないボードのスクリーンショットで答える。
Klivのアプリは、この会話の両端を持てます。あなたのGitHub Organizationに接続し、双方向に働きます。あちら側で動作し、Issueを起票してラベルを付けます。あちら側で起きたことに反応し、マージとリリースを着いた瞬間に捕まえます。スタジオは仕事のある場所で働きつづけます。クライアントには、自分の言葉で話し、YAMLを見せないハブが渡ります。
Webhookの両側
5つの記録が納品の物語を運びます。半分はリポジトリで生まれ、半分はハブで生まれます。
プロジェクト
1社のクライアントを、そのリポジトリとマイルストーンに対応づけます。クライアントに見えるもの、つまり依頼、変更履歴、請求書は、すべてこの記録にぶら下がります。ほかのどこにもぶら下がりません。
依頼
クライアントが普通の言葉で出します。アプリは正しいラベルを付けてGitHubのIssueを起票し、両者を同期させ続けます。ステータスは書き写されるのではなく、映されます。
変更履歴の項目
プルリクエストがマージされた瞬間に生まれます。WebhookがPRのタイトルを抱えた下書きを書き込み、人がクライアントの読みたい一文に書き直すまで、そこで待ちます。
マイルストーンの請求書
リリースがマイルストーンを閉じると、ハブは納めた依頼から請求書を下書きします。30万円の固定マイルストーンが、公開された内容ごとの明細になり、自分のStripeアカウントでカード決済されます。
クライアントの壁
1社のサインインで見えるのは、1社のプロジェクトだけです。境界はデータベースの行そのものに引かれています。だからモノレポは、2社を混ぜることなく2社に仕えられます。
「これもできますか」からリリースメールまで
ひとつの機能依頼がハブを通り抜けます。誰も何もコピーせずに済んだ回数を数えてください。
普通の言葉で依頼が届く
クライアントがハブに2文を打ちます。アプリは正しいリポジトリにラベル付きのIssueを起票し、依頼と結び直し、クライアントには「受け付けました」と見えます。入れもしないシステムのチケット番号ではありません。
仕分けは、仕事のある場所で
スタジオはこれまでどおり、GitHubの中で見積もり、ラベルを付け、予定を組みます。ハブはその動きをクライアントの画面に映し返します。同じ事実、2つの読み手。
マージが最初の下書きを書く
プルリクエストがmainに着地し、Webhookが変更履歴の下書きを起こします。PRのタイトル、プロジェクト、解決した依頼を抱えて、人間の一文を待ちます。
リリース当日、ボタンひとつ
リリースを公開すると、下書きが変更履歴ページになり、クライアントごとにメールが送られます。スタジオの声で、そのクライアントのものだけを並べて。
請求書は、何が出たかをすでに知っている
閉じたマイルストーンが、自分の請求を下書きします。納めた依頼の明細と、カード決済のチェックアウト。クライアントは、仕事を見守ったのと同じページから支払います。
リポジトリを配線する
クライアント向け納品ハブ
依頼が入り、変更履歴が出て、会社ごとに壁がある。
“うちのGitHub Organizationにつながる納品ハブを作って。クライアントの依頼がラベル付きIssueになって、マージされたプルリクエストがプロジェクトごとの変更履歴になって、各社は自分のプロジェクトだけが見えるようにして。”
公開の変更履歴サイト
リリースを、購読できるページに。
“うちのプロダクトの変更履歴サイトを作りたい。GitHubのリリースを読みやすい記事に変えて、訪問者がメールで購読できて、リリースを公開したら更新のお知らせが届くようにして。”
Issue受付フォーム
仕分け済みで届く不具合報告。
“サポートチーム向けの不具合受付フォームを作って。構造化された報告を、重大度ラベルとスクリーンショット付きでGitHubのIssueとして起票して、報告者には自分のIssueの状況が見えるようにして。”
作らなくていい部分
接続は1回の認可であって、配管工事ではありません。 GitHub Organizationを一度つなぐだけです。トークンはプラットフォームが預かり、アプリのコードに貼り付けられることはありません。以降、アプリはIssueを起票し、コメントし、リリースを読めます。Webhookはマージやタグを、あなたの関数が処理するイベントとして届けます。
下書きは、人を待ちます。 変更履歴の項目はレビュー待ちの列に保留として並びます。誰かが「fix: race in webhook dedupe」を「リリースメールの重複がなくなりました」に書き直すまで、クライアントには何も届きません。この列は最初から備わっていて、誰が何を承認したかの監査記録も同じです。
この話には、GitHubが2つあります。 ハブはあなたのリポジトリと連携します。そしてハブ自身のソースコードも、リポジトリの中にあります。Klivはアプリをあなたが所有するリポジトリと双方向に同期します。仕事を報告する道具が、仕事のすぐ隣でバージョン管理されます。
クライアントがSlackにいるなら、Slackにも。 リリースは、各クライアントと共有しているチャンネルに要約を投稿できます。同じイベント、もうひとつの読み手。
GitHubは、多くの差込口のひとつです。この「動作し、反応する」型は、Slack、Notion、Linear、HubSpotほかにも届きます。どこまで届くのかは構築と拡張のページで。
最初のWebhookの前に聞かれること
クライアントにGitHubアカウントは必要ですか?
いいえ。クライアントはメールとパスワード、Google、またはパスキーでハブにサインインします。GitHubはスタジオの道具のままです。ハブが見せるのは派生した記録です。依頼のステータス、変更履歴の項目、請求書。リポジトリそのものが露出することはありません。
プルリクエストのタイトルが技術的すぎて公開できない場合は?
すべての項目は下書きとしてレビュー待ちの列に着地し、誰かが書き直して承認するまでクライアントには見えません。Webhookが事実を供給し、人が一文を供給します。
プライベートリポジトリでも動きますか?
はい。Organizationを一度認可すれば、プラットフォームがその接続をサーバー側で保持します。アプリはイベントを受け取り、連携を通じて動作します。鍵がアプリのソースに現れることはありません。
2社が1つのモノレポを共有できますか?
はい。依頼と変更履歴の項目はプロジェクトの範囲を持ち、各社のアクセスはその行の上で守られます。壁はリポジトリではなく、プロジェクトに従います。A社のサインインには、B社の項目へ至る道がそもそもありません。
いつもどおり公開する。ただし、見えるかたちで
仕事はすでにGitHubで起きています。クライアントにどう見せたいかを説明すれば、ハブも変更履歴もリリースメールも、あとからついてきます。