git-artifact

git-artifact

アーティファクトを独立したGitブランチへ

AIを活用した開発では、開発中に多くの生成物が生まれます。メモやプラン、プロンプトのログ、分析レポートなどです。ソースと同じブランチに保存すると、古いドキュメントと実装の乖離など、メンテナンスや継続的な開発上の不都合になるおそれがあります。git-artifactは、これらの生成物をアーティファクトとして孤立ブランチに保存します。必要なものだけを読み込み、通常のファイルとして編集し、Git履歴へスナップショットを残せます。

仕組み

git-artifactは、アーティファクトを専用のorphanブランチに保存するGitサブコマンドです。

  1. 01

    artifactsブランチを作る

    artifactsブランチは、開発の生成物を保存するための独立したorphanブランチです。永続的にソースコードといっしょに管理するには適さない、一時的な作業成果物を想定しています。それらを明確に分離されたartifactsブランチで管理します。

  2. 02

    普通のディレクトリとファイル

    アーティファクトの実体は、.artifacts/配下のディレクトリとそこに含まれるファイルです。保存用ブランチをチェックアウトせず、作業ブランチにいたまま作成・保存・読み出しができます。

  3. 03

    手元をクリーンに保つ

    保存したあとは作業ツリーからアーティファクトを消し、必要なものだけを手元に残せます。履歴はartifactsブランチに置きつつ、ソース側の作業領域を散らかさずに進められます。

  4. 04

    必要なときに探し出す

    保存済みのアーティファクトは検索でき、過去の生成物が必要になったときに再び読み出せます。必要なものだけを、必要なときに手元へ戻せます。

ワークフローの例

ローカルファイルシステムとコマンド

artifactsブランチ

  1. $git artifact init
    孤立したartifactsブランチを作成
    tree
    • artifacts/
    • README.md
  2. AIエージェントが設計・実装・レビュー
    tree
    • app/
    • design.md
    • review.md
    AIエージェントがファイルを生成
  3. $git artifact new auth-redesign
    アーティファクトを作成
    tree
    • app/
    • .artifacts/
    • auth-redesign/
    • (empty)
    tree
    • artifacts/
    • README.md
    • auth-redesign/
    • .artifact.json
  4. design.mdとreview.mdを.artifacts/auth-redesign/へ移動
    tree
    • app/
    • .artifacts/
    • auth-redesign/
    • design.md
    • review.md
  5. $git artifact save -d "#42 Auth redesign"
    アーティファクト内のファイルを保存
    tree
    • artifacts/
    • auth-redesign/
    • .artifact.json
    • design.md
    • review.md
  6. ローカルのアーティファクトを削除
    tree
    • app/
    • .artifacts/
    • (empty)
  7. 後日、過去の作業を調査したいとき
  8. $git artifact list
    過去のアーティファクトを検索
  9. $git artifact load auth-redesign
    .artifacts/へ復元
    tree
    • app/
    • .artifacts/
    • auth-redesign/
    • design.md
    • review.md
    tree
    • artifacts/
    • auth-redesign/
    • .artifact.json
    • design.md
    • review.md

インストール

Homebrewならgit-artifactをまとめて入れられます。手動インストールは、Pythonの実行ファイルを1つPATHに置くだけです。

brew install kohkimakimoto/tap/git-artifact
インストールの詳細 →