ホームTypeScriptmattpocock/sandcastle
mattpocock

sandcastle

AI🌱 NEW PROJECT BOOST#TypeScript#Docker#Agentic AI#Sandboxing#Automation
GitHub で見る →
66

// 概要

Sandcastle は、分離された安全なサンドボックス環境内で AI コーディングエージェントをオーケストレーションするために設計された TypeScript ライブラリです。Docker、Podman、Vercel などの複数のプロバイダーをサポートし、エージェントの実行やブランチ戦略を効率的に管理します。サンドボックスのライフサイクル、git worktrees、自動コミットマージを処理することで、複雑なワークフローを簡素化します。

// 技術解説

Sandcastle は、 Git worktrees とコンテナ化された sandbox を活用し、安全で隔離された環境内で AI コーディングエージェントをオーケストレーションするために設計された TypeScript ライブラリです。変更の隔離、ブランチ戦略の管理、および複数のエージェント反復にわたる状態の永続化を構造化された方法で提供することで、自律型エージェントを安全に実行するという課題を解決します。このプロジェクトは、プロバイダーに依存しないアーキテクチャを通じて柔軟性を優先しており、開発者は Docker、 Podman、 Vercel を切り替えたり、特定のインフラストラクチャのニーズに合わせてカスタム sandbox プロバイダーを実装したりできます。

// 主要ハイライト

01
Docker、 Podman、 Vercel を含む複数の sandbox プロバイダーをサポートし、柔軟な環境隔離を実現します。
02
単一の永続的な sandbox コンテナ内で複数回の実行を可能にすることで、マルチステップのエージェントワークフローを実現します。
03
Git worktrees と統合し、メインのコードベースに影響を与えることなく、特定のブランチ上でエージェントの変更を管理します。
04
ホスト環境と sandbox 環境の両方に対して包括的なライフサイクルフックを提供し、依存関係のインストールなどのセットアップタスクを自動化します。
05
CI パイプライン、カスタムツール、並列化されたエージェントオーケストレーションなどの高度なユースケース向けに、プログラム可能な API を提供します。
06
エージェントの反復、ツール呼び出し、生成されたコミットを追跡するための組み込みのログ記録および可観測性機能を備えています。

// ユースケース

01
複数の AFK AI コーディングエージェントの並列化
02
自動化されたコードレビューパイプラインの構築
03
分離された環境管理によるカスタム AI エージェントのオーケストレーション

// クイックスタート

開始するには、 npm 経由でパッケージをインストールし、 'npx sandcastle init' を実行して必要な設定ファイルをスキャフォールドします。生成された .sandcastle/.env ファイルで環境変数を設定し、 'npx tsx' を使用してメインの TypeScript ファイルを実行することでエージェントロジックを実行します。その後、コード内でエージェントと sandbox プロバイダーを定義して、 AI コーディングタスクのオーケストレーションを開始できます。