harnsy

承認する前に、エージェントが何を変えたかを見る。

エージェントは、それぞれの git worktree で作業します。「変更」は、その1つ1つについて、ブランチ、タスク、エージェント、master に入っているか、そして完全な diff を表示します。

Changes5against master

Files changed in more than one worktree: 1

api/orders.go

feat/checkout-api · #2 · shop-backend

feat/recalc-totals · #4 · shop-frontend

  • masterproject folderpushed

    ~/work/acme-shop

    ↑0 ↓0 ·committed 0 · uncommitted 0

  • feat/checkout-apinot pushed

    ~/work/acme-shop-wt/checkout-api

    ↑1 ↓0 ·committed 1 · uncommitted 1 ·Also changed in another worktree ·#2 チェックアウト API:注文を検証して決済する · in progress ·shop-backend running

  • feat/recalc-totalsnot pushed

    ~/work/acme-shop-wt/recalc-totals

    ↑2 ↓0 ·committed 2 · uncommitted 0 ·Also changed in another worktree ·#4 クーポン変更時に合計を再計算する · in progress ·shop-frontend running

  • fix/cart-totalparkedpushed

    ~/work/acme-shop-wt/cart-total

    ↑1 ↓0 ·committed 2 · uncommitted 1 ·#3 最後から2番目の商品を削除すると、カートの合計が0になる · blocked ·shop-frontend not running

  • fix/readme-typoitem closedin master

    ~/work/acme-shop-wt/readme-typo

    ↑0 ↓0 ·committed 0 · uncommitted 0 ·#6 README:ショップの動かし方 · doneRemove

すべてのエージェントのブランチと状態。2つが同じファイルに触れると警告が出ます。サンプルデータです。

見る

すべての worktree を、プロジェクトごとに。

「変更」は「タスク」の隣にあります。プロジェクトのすべての git worktree を、ブランチ、属するタスク、そこで作業しているエージェントとともに一覧します。

各ブランチの現在地。

master に入っている、まだプッシュされていない、保留中。それぞれの worktree が、コミットの行き先を示すので、これから反映すべきものがわかります。

完全な diff。

ブランチを開くと、触れているファイルと diff 全体が、全幅で表示されます。タスクカードも、ブランチの上にそのまま開きます。

問題になる前に

2つのエージェントが、1つのファイルに。

稼働中の2つの worktree が同じファイルを変更すると、ホームが重複を警告し、両方のタスクのリードにも知らせます。

通知の強さは、お好みで。

警告もリードへのメッセージも要らない場合は、システム › 通知で、それぞれをオフにできます。

片付ける

反映済みのものを片付ける。

コミットがすべてベースのブランチに入っている worktree は、確認したうえで、1つずつでも、まとめてでも削除できます。

使用中のものは、消えない。

直近12時間に使われた worktree は残ります(config.yaml の changes.recent_hours)。detached のもの(多くはレビュー担当のコピー)は、警告つきで1つずつだけ削除されます。

エージェントがコードを書く速さに、私の読む速さが追いつかない。

harnsy では全行を読む必要はありません:タスクはロールからロールへ進み、あなたは完成した結果を承認します。

レビューでは「承認」か「差し戻し」を押すだけではありません。直してほしい点を書けば、そのコメントがすぐにリードのセッションに届きます。リードはあなたの言葉を添えて、担当者にタスクを戻します。

仕組み:リードが割り振り、各ロールが根拠を添えて次に渡し、完了したカードは琥珀色になります。見たいときは「変更」で各 worktree の diff を確認できます。

あなたの対応待ち

タスク
ボードアーカイブドキュメント統計
あなたの対応待ち 0ブロック 0すべて
▸バックログ2
▸新規0
▸着手0
▾作業中2
#42バグ
analyst-7a · アナリスト2分
☑ 0/3
#43機能
site-9a · 開発者1時間
▸ブロック0
▾レビュー中0
▸取り下げ0

  1. analyst-7a · アナリスト受け入れ基準
  2. site-9a · 開発者実装
  3. qa-5e · テスターテストと証跡
  4. あなた · あなたの対応待ち#42 を開いて承認するか、コメントを付けて差し戻します

タスクを開いて、直す点をリードに伝えましょう。

サンプル表示 · #42:アナリスト → 開発者 → テスター → あなたの承認。

feat/checkout-apinot pushed~/work/acme-shop-wt/checkout-api

#2 チェックアウト API:注文を検証して決済する · in progress · shop-backend running

In the branch’s commits 2

  • addedAapi/charge.go
  • modifiedMapi/orders.go

Uncommitted 1

  • modifiedMapi/charge.go

api/orders.goIn the branch’s commits

--- a/api/orders.go

+++ b/api/orders.go

@@ -12,7 +12,14 @@ func CreateOrder(w, r)

var req OrderRequest

if err := decode(r, &req); err != nil {

fail(w, 400, "bad order")

return

}

order := newOrder(req)

if err := req.Validate(); err != nil {

fail(w, 422, err.Error())

return

}

order := newOrder(req)

if err := charge(order); err != nil {

fail(w, 402, "payment declined")

return

}

save(order)

「変更」のブランチ:そのファイルと diff(読み取り専用)。サンプルデータです。

できないことも、正直に

  • 「変更」は見るためのものです。コードを編集してコミットするのはエージェントで、ダッシュボードは表示するだけです。
  • プロジェクトの git worktree を読み取ります。git の外での作業は、ここには表示されません。

最初のチームは、ひと言で始められます。

インストールはエージェントへのひと言で済みます。エージェントを代わりに開くため、harnsy は端末を操作します。Linux と macOS では tmux、Windows では独自の端末ホストです。

https://harnsy.dev/llms.txt の手順に従って harnsy をインストールして
site-3fリード · Claude Codeライブ閲覧のみ
❯ チームと #42 の計画を立てて。

analyst-7a の分析を待っています…

analyst-7a から harnsy 経由で❯ #42 の分析完了:24時間後のリトライを含む受け入れ基準3つ。

#42 を site-9a に渡します。

❯