mattpocock/sandcastle

Orchestrate sandboxed coding agents in TypeScript with sandcastle.run()

해결하는 문제

Sandcastle는 격리된 환경에서 AI 코딩 에이전트를 실행할 수 있는 안전하고 자동화된 방법을 제공합니다. 에이전트가 호스트 머신에 무제한으로 액세스하는 것을 방지하는 동시에, git 브랜치 생성, 샌드박스 관리, 메인 코드베이스로의 변경 사항 병합과 같은 개발 주기의 번거로운 부분을 자동화합니다.

작동 방식

이 라이브러리는 AI 에이전트 작업의 수명 주기를 오케스트레이션합니다. 사용자가 에이전트를 호출하면 Sandcastle는 격리된 샌드박스(Docker, Podman 또는 Vercel과 같은 제공업체 사용)를 생성하고 특정 git 브랜치 전략을 할당합니다. 에이전트는 이 샌드박스 내에서 코딩 작업을 수행하며, 작업이 완료되면 Sandcastle는 에이전트가 수행한 커밋을 수집하여 호스트 저장소로 병합합니다.

대상 사용자

병렬화된 에이전트 작업, 자동 코드 리뷰 파이프라인 또는 코딩 에이전트를 위한 맞춤형 오케스트레이션 도구와 같이 AI 기반 코딩 워크플로우를 구축하는 개발자를 위해 설계되었습니다.

주요 특징

  • 공급자 중립적 샌드박싱: Docker, Podman 및 Vercel을 기본적으로 지원하며, 사용자 정의 제공업체를 생성할 수 있습니다.
  • 브랜치 관리: 에이전트가 생성한 커밋의 브랜치 생성 및 병합을 자동으로 처리합니다.
  • 유연한 실행: run()을 통한 일회성 실행 또는 반복적인 컨테이너 시작 비용을 피하기 위한 createSandbox()를 통한 재사용 가능한 웜(warm) 샌드박스를 지원합니다.
  • 수명 주기 훅: 설정 중에 호스트와 샌드박스 내부 모두에서 사용자 정의 셸 명령을 실행할 수 있습니다.
  • 프로그래밍 가능한 API: 구조화된 출력 추출 지원을 포함하여 CI 파이프라인 및 스크립트에 통합할 수 있는 TypeScript API를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트