바이브코딩 검수

AI 개발 프로젝트 인수인계, 어떤 문서가 있어야 직접 운영할 수 있을까

AI 도구로 만든 웹서비스를 인수인계받을 때 저장소 안내, 실행·환경 설정, 배포·복구, 데이터·외부 서비스, 오류 확인과 안전한 변경 절차를 어떻게 문서화해야 하는지 설명합니다.

이재민 · Incant 대표

소스 코드를 전달받았다고 웹서비스를 직접 운영할 수 있는 것은 아닙니다. 어느 명령으로 실행하는지, 운영 설정은 어디에서 관리하는지, 배포가 실패했을 때 무엇을 확인하고 이전 상태로 돌아가는지 모르면 작은 수정도 원래 개발자에게 다시 의존하게 됩니다.

Incant(인캔트)는 인수인계 문서를 파일 목록이 아니라 다음 담당자가 실제 작업을 재현하는 운영 절차로 만듭니다. 저장소 구조, 실행과 검증, 환경 설정 이름, 배포·복구, 데이터와 외부 서비스, 오류 확인, 안전한 변경 순서를 연결하고 비밀번호·토큰 같은 실제 비밀값은 문서에 적지 않습니다.

먼저 확인할 다섯 가지

  • 서비스 목적, 주요 사용자 흐름과 저장소의 기준 위치를 첫 안내에 적습니다.
  • 설치·실행·검사 명령과 필요한 도구 버전을 새 환경에서 직접 확인합니다.
  • 환경변수는 이름·용도·관리 위치·변경 책임만 기록하고 실제 비밀값은 분리합니다.
  • 배포, 상태 확인, 중단·복구와 데이터 백업·복원 절차를 실제 운영 환경에 맞춥니다.
  • 다음 담당자가 문서만 보고 작은 변경과 장애 확인을 재현해야 인수인계를 완료합니다.

01 · SERVICE MAP

파일 설명보다 서비스의 목적과 기준 위치부터 적습니다

처음 저장소를 연 담당자는 폴더 이름만으로 어떤 기능이 중요한지 알기 어렵습니다. 서비스의 대상 사용자, 대표 행동, 운영 주소와 주요 구성 요소를 먼저 설명하고 화면, 서버 처리, 데이터와 외부 서비스가 어느 경로에서 연결되는지 표시해야 합니다.

GitHub는 README에 프로젝트가 유용한 이유, 시작 방법, 도움을 받을 곳과 유지관리 주체를 포함하는 방식을 안내합니다. Incant는 README를 짧은 출발점으로 두고 상세 실행·배포·운영 절차는 연결된 문서로 나눕니다. 같은 설명을 여러 파일에 복사해 서로 다른 최신본을 만들지 않습니다.

  • 서비스 목적, 주요 사용자와 반드시 유지할 대표 행동
  • 운영·검수 주소와 저장소, 기본 브랜치의 기준 위치
  • 화면·서버·데이터·외부 연동의 주요 디렉터리와 관계
  • README에서 실행·배포·운영 문서로 이어지는 상대 링크
  • 기능·정책·운영 문의를 판단할 현재 담당 역할

02 · LOCAL REPRODUCTION

새 컴퓨터에서 설치부터 검증까지 다시 실행합니다

기존 개발자의 컴퓨터에서 실행된다는 사실은 인수인계 증거가 아닙니다. 운영체제와 런타임·패키지 관리자 버전, 설치 명령, 필요한 로컬 서비스와 시작 순서를 적고 저장소를 새로 받은 환경에서 그대로 실행해 봐야 합니다.

개발 서버가 열리는 것만 확인하지 않습니다. 단위 테스트, 린트, 타입 검사와 프로덕션 빌드처럼 프로젝트가 요구하는 검증 명령을 정확히 기록하고 정상 종료 기준을 남깁니다. 테스트 자료를 만드는 방법과 외부 서비스 없이 확인할 수 없는 항목도 구분합니다.

  • 운영체제, 런타임과 패키지 관리자 버전 및 설치 방법
  • 의존성 설치, 개발 실행과 프로덕션 실행 명령
  • 테스트·린트·타입 검사·빌드의 정확한 명령과 성공 기준
  • 샘플 데이터와 검수 계정을 준비하는 안전한 방법
  • 로컬에서 대체할 수 없는 외부 기능과 확인 담당자

03 · CONFIGURATION BOUNDARY

설정 방법을 인계하되 실제 비밀값은 문서에서 분리합니다

환경변수 목록이 없으면 다음 담당자는 코드 검색과 오류 메시지로 필요한 설정을 추측하게 됩니다. 반대로 문서나 예제 파일에 운영 비밀번호와 토큰을 복사하면 저장소, 메신저와 백업으로 비밀정보가 퍼질 수 있습니다. 변수 이름, 용도, 필수 여부와 값의 형식만 문서화하고 실제 값은 승인된 운영 환경에서 관리합니다.

Twelve-Factor App은 배포마다 달라지는 자격 정보와 대표 주소 같은 설정을 코드와 엄격히 분리하고 환경변수로 관리하도록 설명합니다. Railway도 서비스 설정과 비밀을 변수로 제공하고 애플리케이션의 환경변수로 사용할 수 있게 합니다. 인수인계 문서에는 값을 볼 수 있는 사람, 교체 절차와 변경 뒤 재배포·검수 범위를 남깁니다.

  • 환경변수 이름, 목적, 필수 여부와 안전한 예시 형식
  • 개발·검수·운영 환경별 설정 위치와 접근 가능한 역할
  • 문서·저장소·화면·로그에 기록하지 않을 비밀번호와 토큰
  • 자격 정보 만료·교체·폐기와 담당자 변경 시 회수 절차
  • 설정 변경 뒤 필요한 배포와 대표 기능 재검수

04 · DEPLOY & RECOVER

배포 버튼이 아니라 공개 확인과 복구 순서를 적습니다

호스팅 서비스에서 배포 성공이 표시되어도 실제 도메인의 페이지와 대표 기능이 정상이라는 뜻은 아닙니다. 어떤 브랜치와 커밋이 운영에 연결되는지, 빌드·시작 명령과 상태 확인 주소가 무엇인지, 배포 뒤 어느 화면과 서버 기능을 확인해야 하는지 순서대로 적습니다.

실패했을 때 무조건 다시 배포하면 이미 처리된 데이터나 외부 요청이 중복될 수 있습니다. 먼저 현재 배포와 오류 범위를 확인하고 중단, 수정 배포 또는 이전 검증 버전 복구 중 하나를 선택하는 기준을 둡니다. 복구 뒤에도 공개 주소, 데이터 상태와 외부 알림을 다시 확인해야 합니다.

  • 운영에 연결되는 저장소·브랜치와 배포 승인 주체
  • 빌드·시작 명령, 상태 확인 주소와 운영 도메인
  • 배포 뒤 확인할 대표 화면·서버 처리·외부 알림
  • 배포 실패·부분 장애에서 중단·재배포·복구를 고르는 기준
  • 이전 상태 복구 뒤 데이터와 사용자 영향 확인 절차

05 · DATA & INTEGRATIONS

코드 밖의 데이터와 외부 계정 소유권을 함께 인계합니다

서비스는 저장소만으로 동작하지 않습니다. 데이터베이스, 도메인, 이메일, 파일 저장소와 외부 API 계정이 개인 명의에 남거나 관리자가 누구인지 모르면 결제·갱신·권한 변경과 장애 대응이 멈출 수 있습니다. 각 서비스의 최종 소유 조직과 작업에 필요한 최소 권한을 구분합니다.

데이터는 저장 위치와 구조뿐 아니라 백업 시점, 복원 방법과 삭제 책임을 함께 기록합니다. 백업 파일이 존재한다는 사실만으로 복구 가능하다고 판단하지 않고 제한된 검수 환경에서 복원 절차와 소요 단계를 확인합니다. 외부 요청이 실패하거나 결과가 모호할 때 자동 재전송할 수 있는지도 별도로 정합니다.

  • 도메인·호스팅·데이터베이스·이메일·외부 API의 최종 소유자
  • 서비스별 관리자, 개발자와 읽기 전용 권한의 구분
  • 데이터 기준 원본, 백업 범위·주기·보관과 복원 절차
  • 계정·키 교체와 협업 종료 뒤 외부 접근 회수
  • 외부 처리 실패·지연·중복과 수동 대체 절차

06 · OPERATIONS & LOGGING

오류를 찾는 위치와 남기면 안 되는 정보를 같이 정합니다

장애가 발생한 뒤 로그가 있다는 말만으로는 원인을 찾기 어렵습니다. 운영자가 어느 대시보드에서 배포 상태와 애플리케이션 오류를 보는지, 발생 시각·요청·사용자 영향과 최근 변경을 어떻게 연결하는지, 어떤 조건에서 담당자에게 알리는지 적어야 합니다.

OWASP 로깅 안내는 애플리케이션이 사용자 역할, 대상, 행동과 결과의 맥락을 가장 잘 알 수 있다고 설명하는 동시에 인증 정보와 민감정보를 안전하게 다루도록 권고합니다. Incant는 조사에 필요한 사건과 보관·열람 기준을 정하되 비밀번호, 접근 토큰, 세션과 불필요한 개인정보는 기록하지 않습니다.

  • 배포·서버·외부 서비스 오류를 확인할 화면과 담당 역할
  • 발생 시각, 대상 기능, 안전한 요청 식별자와 최근 변경 연결
  • 기록할 정상·실패 사건과 알림·대응을 시작할 조건
  • 로그에서 제외하거나 가릴 비밀번호·토큰·세션·개인정보
  • 로그 열람 권한, 보관 기간과 장애 기록 정리 위치

07 · HANDOVER REHEARSAL

다음 담당자의 재현으로 인수인계 완료를 확인합니다

문서를 작성한 사람이 직접 설명하면서 실행하면 빠진 단계가 드러나지 않을 수 있습니다. 다음 담당자가 새로 받은 권한과 문서만 사용해 설치, 검증, 제한된 변경, 검수 배포와 오류 확인을 수행하게 하고 막힌 지점을 문서에 반영합니다.

Incant는 저장소 위치, 실행·검증, 설정, 배포·복구, 데이터·외부 서비스와 운영 확인을 한 장의 인수인계표로 연결합니다. 실제 비밀값은 문서에 복사하지 않고 접근 위치와 재승인 절차만 전달합니다. 다음 담당자가 작은 변경을 안전하게 배포하고 원래 상태를 확인할 수 있을 때 셀프 인수인계의 완료로 판단합니다. 전체 인수인계표는 Incant 공식 원문에서 확인할 수 있습니다.

  • 새 환경에서 저장소 받기, 설치·실행과 전체 검증
  • 비밀값을 노출하지 않고 필요한 설정의 존재와 권한 확인
  • 작은 변경의 검수 배포, 공개 확인과 되돌리기 연습
  • 오류 발생 위치 찾기, 안전한 증거 수집과 담당자 연결
  • 막힌 단계, 미확정 책임과 문서 수정일을 최종 기록

OFFICIAL REFERENCES

참고한 공식 자료

프로젝트 문의하기