GoLive의 기능
GoLive는 에이전트가 구축한 애플리케이션을 소스 코드에서 실제 인프라로 전환하기 위한 오픈 소스 Agent Skill입니다. 저장소를 검사하고, 필요한 서비스를 감지하며, 공급자별 변경 사항을 제안하고, 승인을 요청한 뒤, 사용자의 계정을 통해 변경 사항을 적용하고, 관찰할 수 있는 항목을 확인합니다.
이 프로젝트는 애플리케이션을 생성하는 단계와 실제 사용자에게 운영하는 단계 사이의 간극을 메우도록 설계되었습니다. 애플리케이션에 따라 호스팅, 데이터베이스, 환경 변수, 인증, 사용자 지정 도메인, 트랜잭션 이메일, 테스트 모드 결제가 필요할 수 있습니다.
GoLive 계정이나 호스팅된 GoLive 백엔드가 필요하지 않으며, 제품 텔레메트리도 포함하지 않습니다. 공급자 액세스는 계속 사용자의 계정과 로그인 정보에 연결됩니다.
알파 경고: 현재 릴리스는
0.1.0-alpha.3입니다. 일회성 라이브 리소스를 사용해 여러 여정을 실행했지만, 프로젝트 로드맵의 더 광범위한 체크리스트는 모든 출시 워크플로가 완료되었다는 의미가 아닙니다.
주요 기능
- 저장소 감지: GoLive는 애플리케이션을 검사하고 필요한 것으로 보이는 인프라와 서비스를 식별합니다.
- 공급자 유지: 애플리케이션에서 이미 사용 중인 공급자를 자동으로 교체하지 않고 유지합니다.
- 승인 우선 실행: 공급자 변경 전에 대상 계정, 리소스 세부 정보, 변경 사항 및 확인 가능한 비용 정보를 보여줍니다.
- 사람의 개입: 가입, 브라우저 로그인, 본인 확인, 구매, 받은 편지함 액세스 및 기타 사람만 수행할 수 있는 작업은 사용자가 직접 관리합니다.
- 검증: GoLive는 관찰 가능한 결과를 확인하고 차단되었거나 검증되지 않은 항목을 명확히 보고합니다.
- 수명 주기 기록: 생성된 리소스를 기록하고, 필요할 때
golive status드리프트 검사를 지원하며, 인계 산출물을 생성할 수 있습니다. - 제어된 해제: 실행 중 생성된 리소스는 별도로 계획하고 승인한 해제 워크플로를 통해 삭제할 수 있습니다.
- 안내형 공급자 지원: 기본 어댑터가 없는 공급자의 경우 공식 CLI, 공식 MCP 통합, API 또는 대시보드 안내를 사용해 최선의 방식으로 흐름을 시도할 수 있습니다.
현재 알파 범위
가장 안정적으로 구축된 알파 경로는 호스팅 공급자 2곳과 데이터베이스 공급자 2곳을 대상으로 합니다.
- 호스팅: Vercel 및 Netlify.
- 데이터베이스: Supabase 및 Neon.
- 사용자 지정 도메인 DNS: Porkbun 및 GoDaddy는 Vercel과 함께 실제 테스트를 거친 레코드 작성 여정을 제공합니다.
- 트랜잭션 이메일: Resend 도메인 설정, DNS 검증 및 실제 애플리케이션 전송을 테스트했습니다.
- 결제: Stripe 테스트 모드 키, 웹훅 등록, 서명된 이벤트 검증 및 실제 테스트 카드 결제를 실행했습니다.
- 인증: Supabase Auth 정책 구성과 선택적 가입 여정에 대한 라이브 증거가 있습니다. 비밀번호 복구와 계정 격리는 구현되어 모의 테스트도 완료했지만, 이에 상응하는 라이브 검증은 아직 완료되지 않았습니다.
라이브 테스트를 거친 애플리케이션 조합은 Vercel과 Supabase, Netlify와 Neon입니다. 다른 조합은 동일한 수준의 라이브 증거가 아닌 모의 테스트 범위만 제공할 수 있습니다. Cloudflare DNS는 실험적이며 아직 검증된 알파 경로가 아닙니다.
사전 요구 사항
GoLive를 설치하기 전에 다음을 준비하세요.
- Node.js 20 이상.
npm및npx.- GitHub 및 Skills CLI 설치 채널을 사용할 때 필요한 Git.
- 스킬을 로드하고 명령을 실행할 수 있는 코딩 에이전트.
Codex와 Claude Code를 사용한 설치를 확인했습니다. 다른 에이전트 클라이언트는 현재 검증되지 않았습니다.
Skills CLI로 GoLive 설치
모든 프로젝트에서 스킬을 사용할 수 있도록 한 번 설치하려면 어느 디렉터리에서든 다음 명령을 실행하세요.
npx skills add https://github.com/mikehasa/golive-skill --skill golive --global대화형 설치 프로그램에서 에이전트를 선택하라는 메시지가 표시됩니다. 화살표 키로 이동하고, Space로 선택한 다음, Enter로 확인하세요.
Codex에 비대화형으로 설치
npx skills add https://github.com/mikehasa/golive-skill --skill golive --global --agent codex --yesClaude Code에 비대화형으로 설치
npx skills add https://github.com/mikehasa/golive-skill --skill golive --global --agent claude-code --yes프로젝트 로컬 설치를 하려면 프로젝트 저장소에서 명령을 실행하고 --global을 생략하세요. 설치 과정에서 스킬 지침, 공급자 참조 자료 및 사전 빌드된 런타임이 복사됩니다. 공급자 계정에 연결하거나 애플리케이션을 배포하지는 않습니다.
npm에서 설치
동일한 릴리스는 golive npm 패키지로도 제공됩니다. 이 채널을 사용하면 Git이나 Skills CLI 없이 스킬을 설치할 수 있습니다.
Codex 설치
npx golive@alpha install --agent codexClaude Code 설치
npx golive@alpha install --agent claude현재 프로젝트 대신 홈 디렉터리에 설치하려면 --global을 추가하세요.
npx golive@alpha install --agent codex --globalnpm 설치 프로그램은 기존 대상 위치를 덮어쓰지 않으며 공급자 계정에 연결하지 않습니다. 두 설치 채널에는 동일한 프로젝트 릴리스가 포함됩니다.
npm 패키지는 개별 터미널 작업도 제공합니다.
npx golive@alpha help
npx golive@alpha version
npx golive@alpha detect
npx golive@alpha menu
npx golive@alpha plan
npx golive@alpha verify
npx golive@alpha handoff터미널 apply 작업에는 승인된 계획 ID와 명시적인 확인이 필요합니다. 이러한 명령은 개별 작업을 수행하며, 완전한 대화형 스킬 워크플로를 대체하지 않습니다.
코딩 에이전트에서 GoLive 시작하기
코딩 에이전트에서 애플리케이션 저장소를 엽니다. 새로 설치한 스킬이 표시되지 않으면 스킬을 다시 불러오거나 새 에이전트 세션을 시작합니다.
Codex에서는 채팅으로 다음과 같이 스킬을 호출합니다.
$golive 이 앱을 실제 환경에 배포할 수 있게 도와줘.Claude Code에서는 다음을 사용합니다.
/golive 이 앱을 실제 환경에 배포할 수 있게 도와줘.일반 언어로 더 구체적인 지침을 제공할 수도 있습니다.
golive 스킬을 사용해 이 앱을 실제 환경에 배포할 수 있게 해줘. 이미 사용 중인 프로바이더를 유지해줘.
변경하기 전에 대상 계정과 계획을 보여줘.
지금은 테스트 리소스를 사용해줘.
golive skill은 터미널 명령이 아닙니다. Skills CLI를 설치해도 전역golive실행 파일이 추가되지는 않습니다. 코딩 에이전트는 설치된 스킬 디렉터리에 포함된 CLI를 실행합니다. npm 패키지는 별도로npx golive@alpha를 통해 명령을 제공합니다.
배포 워크플로 이해하기
일반적인 실행은 리소스를 즉시 생성하는 대신 통제된 순서로 진행됩니다.
- 검사: GoLive가 저장소를 분석하고 기존 프로바이더 통합과 누락된 인프라를 감지합니다.
- 확인: 앱만으로 답을 결정할 수 없으면 에이전트가 사용할 프로바이더 또는 계정을 묻습니다.
- 인증: 별도의 터미널이나 브라우저에서 프로바이더 로그인 절차를 완료합니다.
- 대상 확인: GoLive가 연결된 계정, 팀 또는 조직을 확인하므로 리소스가 생성될 위치를 검증할 수 있습니다.
- 계획: 에이전트가 리소스 이름, 가능한 경우 ID, 설정, 변경 사항 및 관련 비용 정보를 제시합니다.
- 승인: 계획을 승인하기 전에는 프로바이더 변경 사항이 적용되지 않아야 합니다.
- 적용: GoLive가 승인된 리소스를 프로비저닝하고 연결합니다.
- 검증: 에이전트가 배포, 통합 및 관찰 가능한 애플리케이션 동작을 확인합니다.
- 기록: 생성된 리소스와 검증 결과를 저장하여 이후 상태 확인, 인계 또는 해제에 활용합니다.
승인 후 계획이 변경되면 GoLive는 다시 승인을 요청합니다. 인증 또는 도메인 연결과 같은 일부 작업은 초기 배포 후 후속 계획에서 진행될 수 있습니다.
예시: 이미 Supabase를 사용하는 앱 배포하기
저장소에 이미 Supabase 통합이 포함되어 있지만 선택된 호스팅 프로바이더가 없다고 가정해 보겠습니다. 다음과 같이 시작합니다.
$golive 이 앱을 테스트 리소스를 사용해 실제 환경에 배포해줘. 기존 Supabase 통합은 유지해줘.GoLive가 Vercel, Netlify 또는 다른 프로바이더 중 무엇을 사용할지 물을 수 있습니다. Vercel을 선택하면 알파 버전에서 실제 테스트를 거친 Vercel 및 Supabase 경로를 따릅니다. 그런 다음 기존 Supabase 프로젝트를 사용할지, 일회성 테스트 프로젝트를 새로 만들지 결정합니다.
별도로 인증하라는 요청을 받을 수 있습니다.
vercel login
supabase login로그인한 후 에이전트가 연결된 Vercel 팀과 Supabase 조직을 식별하도록 합니다. 계획을 승인하기 전에 해당 대상을 주의 깊게 검토합니다.
승인된 계획에는 호스팅 프로젝트 생성, 데이터베이스 프로젝트 생성 또는 선택, 필요한 환경 값 전달, 애플리케이션 배포 및 결과 검증이 포함될 수 있습니다. 완료되면 GoLive가 실제 URL, 검증 근거 및 아직 완료되지 않은 검사를 보고합니다.
설정 중 자격 증명 보호하기
프로바이더 워크플로에서 특정 메커니즘을 명시적으로 안전하게 요구하는 경우가 아니라면 프로바이더 비밀 값을 에이전트 채팅에 붙여넣지 마세요. macOS에서 GoLive는 필요한 API 키를 입력할 때 기본 제공 숨김 입력 대화상자를 사용할 수 있습니다. 대화상자에는 키가 필요한 이유와 저장 위치가 표시됩니다. 값은 채팅이나 명령 출력에 표시되지 않고 로컬 자격 증명 파일에 직접 기록됩니다.
다른 플랫폼에서는 편집기를 대체 수단으로 사용합니다. 요청되는 내용을 계속 확인하고, 가능한 경우 적절한 범위의 테스트 자격 증명을 사용하며, 대상 계정이 올바른지 확인합니다.
홈페이지 이상을 검증하기
배포 URL이 성공적으로 생성된 것은 시작에 불과합니다. 검증은 애플리케이션의 실제 동작에 맞아야 합니다. 선택한 경로에 따라 GoLive는 다음과 같은 영역을 확인할 수 있습니다.
- 호스팅 배포가 완료되고 애플리케이션이 제공되는지 여부
- 데이터베이스 환경 변수가 배포에 연결되었는지 여부
- 애플리케이션이 데이터베이스에 연결할 수 있는지 여부
- 지원되는 경로에서 인증된 CRUD 또는 세션 격리 검사가 성공하는지 여부
- 사용자 지정 도메인에 필요한 DNS 레코드, 소유권 증명 및 HTTPS 응답이 있는지 여부
- Resend가 발신 도메인을 확인하고 애플리케이션이 실제 전송을 수행할 수 있는지 여부
- Stripe 테스트 결제가 서명 검증된 웹훅 이벤트에 도달하는지 여부
GoLive가 관찰할 수 없는 사항은 명시적으로 검증되지 않은 상태로 남겨야 합니다. 예를 들어 GoLive는 수신자의 받은 편지함을 확인하지 않으므로 이메일 수신 여부는 사람이 확인해야 합니다.
배포 드리프트 확인하기
GoLive는 기록된 예상 상태와 관찰 가능한 프로바이더 상태를 비교하는 온디맨드 golive status 워크플로를 제공합니다. 이는 지속적인 모니터링이나 알림이 아니라 드리프트 검사입니다.
golive statusnpm 설치를 사용하는 경우 설치된 알파 버전에서 사용할 수 있는 터미널 작업은 패키지 도움말을 확인하세요.
npx golive@alpha help수동으로 프로바이더를 변경한 후, 프로젝트를 다른 소유자에게 넘기기 전에, 또는 제거 계획을 세우기 전에 상태 점검을 실행하세요. 접근할 수 없거나 검증할 수 없는 리소스는 정상이라고 가정하지 말고 조사할 발견 사항으로 처리하세요.
인수인계 기록 만들기
인수인계 워크플로는 GoLive가 인식하는 인프라의 소유권 문서를 생성합니다. README에는 일회용 Vercel 전용 픽스처에서 golive handoff --write를 실행했으며, 생성된 아티팩트를 감사하여 자격 증명처럼 보이는 값이 포함되지 않도록 했다고 설명되어 있습니다.
golive handoff --write클라이언트나 다른 엔지니어링 팀에 프로젝트를 이전하기 전에 인수인계가 유용합니다. 생성된 문서와 JSON 버전을 검토하고, 각 프로바이더 계정과 리소스 소유자를 확인한 다음, 비밀 정보는 적절한 보안 채널을 통해 별도로 전달하세요.
일회용 리소스를 안전하게 제거하기
테스트 배포가 더 이상 필요하지 않으면 스킬에 제거 계획을 요청하세요.
$golive Plan teardown for the resources created by this project. Show me everything that will be removed before deleting anything.제거 절차에는 승인이 필요합니다. 실제 검증에서는 일회용 Netlify 프로젝트를 사용했으며, --confirm-destroy 없이는 삭제가 차단되었고 명시적으로 확인한 후 제거되었습니다. 테스트된 정리 대상에는 DNS 레코드, Resend 전송 키, GoLive가 생성한 Stripe 테스트 모드 엔드포인트도 포함되었습니다.
제거 계획에서 공유 데이터베이스, 도메인, DNS 영역, 이메일 구성, 결제 엔드포인트, 그리고 현재 중요한 데이터가 들어 있을 수 있는 프로젝트를 항상 확인하세요. GoLive가 리소스를 제거할 수 있다는 사실이 제거가 적절하다는 뜻은 아닙니다.
고급 팁
초기 실험에서는 테스트된 조합을 우선하기
현재 가장 강력한 근거를 확보하려면 Vercel과 Supabase 또는 Netlify와 Neon으로 시작하세요. 다른 조합도 작동할 수 있지만, 모의 테스트 범위가 실제 실행 완료와 같은 의미는 아닙니다.
명시적인 테스트 리소스 사용하기
알파 버전을 평가할 때 일회용 또는 테스트 리소스를 요청하세요. Stripe 지원은 특히 테스트 모드에서 검증되었으며, README는 라이브 모드 결제 준비 상태, 환불 처리, 구독 처리 또는 권한 검증이 동등하게 지원된다고 주장하지 않습니다.
선택적 Supabase Auth 여정을 신중하게 선언하기
Supabase Auth 정책 설정은 승인된 계획을 통해 가입, 이메일 확인, 최소 비밀번호 길이, 메일러 설정, 사이트 URL 및 리디렉션 허용 목록을 관리할 수 있습니다. 선택적 가입 여정은 다음과 같은 구성으로 활성화됩니다.
auth:
e2e: true비밀번호 복구와 계정 격리에도 구성 플래그가 있습니다.
auth:
recovery: true
isolation: true
identityPath: /your-identity-route
isolationPath: /your-rows-route알파 문서에 따르면 이 후자의 여정은 구현되어 있고 모의 테스트로 검증되었지만 아직 실제 환경에서 검증되지는 않았습니다. 격리 기능에는 예상된 동작을 수행하는 애플리케이션 라우트가 필요하며, 라우트가 없거나 적합하지 않으면 잘못된 성공 판정 대신 인수인계 작업이 생성됩니다.
확인 플래그를 안전 게이트로 취급하기
실제 시스템에 영향을 줄 수 있는 작업에는 명시적인 게이트가 사용됩니다. 프로젝트에서 설명하는 예로는 DNS 쓰기에 사용하는 --confirm-dns, 특정 실제 계정 또는 라이브 값 작업에 사용하는 --confirm-live, 제거에 사용하는 --confirm-destroy가 있습니다. 정확한 계획과 대상을 검토하지 않은 채 이러한 확인을 우회하지 마세요.
기본 제공 어댑터와 안내형 프로바이더 구분하기
지원되지 않는 프로바이더의 경우 GoLive는 대시보드 안내로 대체하기 전에 공식 CLI, 공식 MCP 통합 또는 API가 있는지 확인합니다. 이는 여전히 최선의 노력에 기반한 지원입니다. 완료 및 검증 수준이 보장되지 않으므로 자동화를 계속할 수 없을 때는 구체적인 차단 요인과 다음 작업이 제시될 것으로 예상하세요.
릴리스 기능은 신중하게 실험하기
프로젝트에는 구현되었지만 아직 실제 환경에서 검증되지 않은 프리뷰, 릴리스 확인, 프로모션 및 롤백 기능이 포함되어 있습니다. 프리뷰 동작은 golive.yaml을 통해 선택적으로 활성화됩니다.
release:
preview: true프로모션과 롤백에는 추가 선택 설정이 필요합니다.
release:
preview: true
promote: true
rollback: true이러한 기능은 아직 실제 환경에서 검증되지 않았으므로 통제된 테스트 환경에서만 사용하고 생성된 각 계획을 확인하세요. 배포가 성공하면 프로바이더의 배포 식별자가 .golive/state.json에 기록될 수 있어, 이후 기능에서 모호한 URL 대신 특정 배포를 참조할 수 있습니다.
중요한 제한 사항
- 이 프로젝트는 초기 알파 소프트웨어입니다.
- 모든 프레임워크 또는 신규 사용자 계정 설정이 검증된 것은 아닙니다.
- 전용 백엔드 서버, 컨테이너, 객체 스토리지, 모니터링, 분석, 백그라운드 작업 및 여러 다른 출시 범주는 아직 로드맵 항목으로 남아 있습니다.
- 지속적인 모니터링과 알림은 포함되지 않으며, 상태 확인은 필요할 때 수행합니다.
- Cloudflare DNS는 검증된 알파 경로가 아니라 실험적 기능입니다.
- Supabase 비밀번호 복구와 계정 격리는 구현되었지만 실제 환경 검증을 완료하지 않았습니다.
- Supabase Auth용 Resend 맞춤 SMTP는 구현되어 있고 모의 테스트로 검증되었지만 실제 환경에서는 검증되지 않았습니다.
- 안내형 프로바이더에는 기본 제공 어댑터와 동일한 완료 또는 검증 보장이 적용되지 않습니다.
결론
GoLive는 에이전트가 구축한 애플리케이션을 사용자가 소유한 인프라로 옮길 수 있도록 승인 기반 방식을 제공합니다. 일회용 리소스로 시작하고, 실제 환경에서 테스트된 프로바이더 조합을 우선하며, 변경을 승인하기 전에 대상 계정을 확인하고, 해결되지 않은 모든 발견 사항을 검토하세요. 배포가 검증되면 상태 확인과 인수인계 문서를 사용해 운영 맥락을 보존하고, 테스트 리소스가 더 이상 필요하지 않을 때는 게이트가 적용된 제거 워크플로를 사용하세요.
