コンテンツへスキップ
Latchkey ホーム

CI/CD のすべてを、オートパイロットで

1 つのチームが 1 日 1,000 件以上のジョブを回す、その方法をご覧ください。

スクロールして再生
01 · 接続

GitHub を接続して、リポジトリを選ぶだけ

ワンクリックで Latchkey アプリをインストール。実行するリポジトリを選べば、すぐに使えます。登録するランナーも、貼り付けるトークンも、クレジットカードも要りません。

app.latchkey.dev / acme / overview

新しい acme ワークスペースが Get started カードで開きます。Connect GitHub で Latchkey アプリをインストールすると、Select repositories ダイアログで acme/api と acme/web にチェックを入れ、Enable monitoring on 2 repositories を押すと、2 つのリポジトリで監視が有効になったことをトーストが知らせます。

02 · コミット

フォルダをコミットすれば、パイプラインの完成

.latchkey/workflows にいくつかファイルを置いて push するだけ。push のたびに、lint、分割したテスト、Postgres と Redis、3 つのブラウザが、まっさらなランナーで一斉に走ります。

acme-api · git · what changed

acme-api リポジトリに 3 つのファイルを含む .latchkey/workflows フォルダが加わり、1 行ずつ書き込まれます。ci.yml は small で Lint、large で 4 つの Unit シャード、medium で Postgres と Redis に対する Integration を実行し、すべて成功すると Build を実行します。e2e.yml は large で Chromium、Firefox、WebKit の E2E テストを実行します。bench.yml は xlarge でプルリクエストのベンチマークを取ります。続いて git が 3 つのファイルを ci: run CI on Latchkey としてコミットし、main に push します。

03 · 実行

エージェントは push の前にテストする

コマンド 1 つで、エージェントの作業ツリーがまっさらなランナーへ。数秒でジョブ ID が返り、重い処理は CI に任せてコーディングを続けます。

エージェントは 5 分以内にジョブを実行できます

無料で始める

クレジットカード不要

acme-api · zsh · latchkey run --detach

~/acme-api のターミナルで latchkey run --detach 'npm ci && npm test' が 412 ファイルをまとめ、ジョブを作成し、ダッシュボードのリンクを表示し、コンテキストをアップロードして送信します。ジョブ ID が 1 行で返り、ジョブがキューにある間にプロンプトがすぐに戻ります。

04 · 見守る

すべての実行を見渡す管制塔

push もエージェントも、1 つのライブボードに。いま何が動いていて、1 時間あたりいくらかかっているか。これまでの実行も、ワンクリックで詳細へ。

app.latchkey.dev / acme / runs

Runs ページ。Live の Running now に、push によるジョブ (CI の Lint、4 つの Unit シャード、Integration と、3 つの E2E ブラウザ) とエージェントの CLI ジョブが並びます。それぞれランナーを待ってから実行され、Lint は完了して一覧から消えます。上の行は使用中のランナー数 (最大 80 中 10) と費用 (最大 1 時間あたり $4.80) を示します。下の History にはその日の実行が並び、選択した CI の実行 (成功、修復済み) の詳細が横に開いています。

05 · 修正

エージェントが、壊れたところを直す

自己修復で直せない失敗は、latchkey watch がコーディングエージェントに渡し、エージェントは Latchkey MCP サーバーから失敗バンドルを読みます。エージェントはコードを直し、まっさらなランナーで修正を確かめます。

acme-api · zsh · latchkey watch

~/acme-api で latchkey watch が、claude に渡す新しい失敗の監視を始めます。acme/api の CI で失敗が届きます。src/auth/refresh.ts の test_failure で、トークンの有効期限を秒単位でミリ秒の時計と比較していたことが原因です。実行へのリンクとともに、watch がそれを claude に渡します。エージェントは Latchkey MCP サーバーから失敗バンドルを読み、expires_at をミリ秒に直し、まっさらなランナーで latchkey run 'npx vitest run src/auth' を実行します。5 つのテストファイルと 63 のテストが成功し、ジョブは終了コード 0 で成功します。

06 · 節約

節約を、ワンクリックで承認

Latchkey は実行したジョブを計測し、必要より大きいランナーで動いているジョブを見つけます。承認すれば、acme の E2E テストを半額のランナーに移すプルリクエストを開きます。見込みは月 $271.62 の節約です。

app.latchkey.dev / acme / insights

AI Insight ページ。過去 30 日間にランナー上で修復された失敗は 40 件、Cost insights の下に適用できる節約が月 $331.98 あります。1 件目の指摘は、acme/api の E2E にある e2e を large から medium に移すものです。このジョブの過去 30 日間のすべての実行が medium に収まり、ピークは 2.9 vCPU と 9.4 GB で、medium の 1 分は large の半額です。見込みは月 $271.62 の節約です。Preview は .latchkey/workflows/e2e.yml の変更 (runs-on: large が runs-on: medium になる) を示します。Approve でプルリクエスト #212 が開き、トーストがそれを知らせ、カードは Applied recently に移ります。acme/api の CI にある integration を medium から small に移す指摘 (月 $60.36) は、適用できるまま残ります。

“CI の費用は見込んでいた予算のごく一部にまで下がり、セットアップは数日ではなく数分で終わりました。チームの誰かが「CI 担当」になる必要もありません。リリースは速くなり、周辺のインフラではなく Busbar そのものに時間を使えています。”
Matthew · 創業者, Busbar

エージェントに、ふさわしい CI を

キュー待ち、不安定なランナー、手書きの YAML。エージェントはもう十分に待ちました。Latchkey がすべてのジョブを実行し、修復し、報告するので、エージェントは出荷に戻れます。