mcpField
T
tracer-bullets

tracer-bullets

github.com/oakoss開発20100 回インストール10 週間前に更新
リポジトリ

tracer-bullets について

tracer-bulletsは、複数の層を通る小さな機能単位を構築・検証してから拡張する開発手法です。早期のフィードバックが必要な作業向けで、単純な作業や分解済みの作業は対象外とします。

主な機能

  1. 01機能をエンドツーエンドの単位で構築
  2. 02各単位を次へ進む前に検証
  3. 031回のエージェントセッションに収まる単位
  4. 04最初の機能で実装パターンを確立
  5. 05適用する作業と省略する作業の判別

活用シーン

  1. 01CRUD機能を段階的に実装・検証する
  2. 02インポートやウィザードを端から端までの手順に分割する
  3. 03全バックエンドまたは全UIを先に作る進め方を避ける

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oakoss/agent-skills --skill tracer-bullets

インストール後、Claude Code で/tracer-bulletsを入力して読み込まれたか確認します。

詳細

トレーサーバレット

すべてのレイヤーを通る垂直スライスとして機能を構築し、次のスライスに進む前に各スライスを検証します。『The Pragmatic Programmer』の教えに従い、できるだけ早くフィードバックを得ます。水平レイヤーを個別に構築する(すべてのエンドポイント、次にすべての UI、最後にすべてのテスト)ことは避けます。まず薄い垂直パスを1つ構築して動作を検証し、その後に拡張します。

単一レイヤーの変更、1ファイルのバグ修正、またはタスクトラッカーですでに順序付けされた垂直スライスに分解されている作業では省略します。

クイックリファレンス

原則実践
水平より垂直すべての機能を1つのレイヤーで進めるのではなく、すべてのレイヤーを通るスライスを1つ構築します
次に進む前に検証次のスライスに進む前に、テストが通り、ページが描画され、往復処理が動作することを確認します
1セッションにつき1スライス各スライスは1回のエージェントセッションで完了できる規模にします
最初の機能でパターンを確立最初の CRUD で規約を確立すれば、以降の CRUD はより速く進みます
構築前に確認タスクトラッカーですでに作業がスライスに分解されている場合があります
単純な場合は省略単一レイヤーの作業や、実証済みのパターンにはこの手順は不要です

CRUD 機能のスライス

スライス範囲検証内容
1バックエンド/API + テスト(UI なし)データレイヤーが動作し、規約が確立され、テストで証明される
2実データを使った一覧ページデータが DB -> サーバー -> 描画されたページへ流れる
3作成ダイアログ完全な往復処理:フォーム -> サーバー -> DB -> 更新
4編集 + 削除完全な CRUD サイクル、変更パターン、確認ダイアログ
5E2E テスト機能全体を固定します

CRUD 以外への応用

原則は同じで、スライスが異なります。

  • インポートフロー:1行を解析 -> 1行を表示 -> 検証 + 重複排除 -> 確認 + 確定
  • ダッシュボード:実データを使ったウィジェットを1つ -> 空の状態/オンボーディング状態 -> すべてのウィジェットを含むレイアウト
  • 検索/パレット:エンティティタイプを1つ -> すべてのエンティティタイプ -> クイックアクション
  • 複数ステップのウィザード:最初のステップをエンドツーエンドで完成 -> ステップを1つずつ追加 -> 最終送信

よくある間違い

間違い正しいパターン
UI を作る前にすべての API エンドポイントを構築するエンドポイント、その UI、テストを1つずつ構築してから、次に進みます
バックエンドをテストする前に UI に着手するスライス1はテストを含むバックエンドのみとし、まずデータレイヤーを証明します
作成/編集/削除 UI 全体を一度に構築するまず作成ダイアログ(スライス3)、次に編集 + 削除(スライス4)を行います
スライス間の検証を省略する次のスライスに着手する前に、テストを実行して出力を確認します
1セッションでは大きすぎるスライスを作るさらに分割します。1セッションで完了できないスライスは大きすぎます
単純な単一レイヤーの作業にトレーサーバレットを適用する1つのコンポーネント、1つのユーティリティ、または実証済みのパターンでは省略します

委任

  • サブタスクに分解する:コードを書く前に、プロジェクトのタスクトラッカーを使って順序付けされた垂直サブタスクを作成します
  • 各スライスを分離する:各スライスをサブエージェントに委任し、失敗の影響を抑え、コンテキストを新鮮に保ちます
  • CRUD 以外の作業でスライスの境界を見つける:すべてのレイヤーを通る最小のパスをスライス1として選び、その後に拡張します

参考資料

参考ファイルはありません。出典:Tracer Bullets: Keeping AI Slop Under Control

コメント