프로젝트 삭제하기
목표
delete-project 로 프로젝트와 모든 부수 자원(DB·포트·vhost·인증서·Route53·repo·메모리)을 일괄 정리한다.1. 언제 쓰나
폴더만 rm -rf 하면 DB·포트·vhost·인증서·DNS 레코드 같은 부수 자원이 서버에 남아 누적된다.
delete-project 는 이걸 3단계로 안전하게 일괄 정리한다.
사전 요건(실행 유저 환경). 없으면 해당 단계만 BLOCKED 되고 나머지는 진행된다.
- AWS 프로필
popup-chris: Route53 A 레코드 삭제용. 없으면 Route53 단계 실패. gh의delete_repo스코프: GitHub repo 삭제용(아래 3절).- sudo: apache vhost 비활성화·certbot. postgres superuser:
dropdb. devteam 은 둘 다 보유.
에이전트는 3단계로 동작한다.
- Phase 1 (read-only): 아래 자원을 스캔한다. 아무것도 삭제하지 않는다.
- 파일: 프로젝트 디렉토리 ·
<slug>_static_cdn· Claude 메모리 디렉토리 - 설정·DB:
.env의 DB_PASSWORD · PostgreSQL DB · wiki 포트 행 - 런타임·웹: 실행 중 프로세스 · apache vhost(dev/prod × le-ssl) · Let's Encrypt 인증서
- DNS·repo: Route53 A 레코드 · GitHub repo
- 파일: 프로젝트 디렉토리 ·
- Phase 2: 발견 자원 목록을 보여주고
yes확인을 받는다. - Phase 3: 순서대로 삭제. 프로세스 kill →
dropdb→a2dissite+ vhost rm + apache reload →certbot delete→ Route53 DELETE(AWS_PROFILE=popup-chris) →gh repo delete→ wiki 포트 행 삭제 → 프로젝트 디렉토리·static_cdnrm -rf→ 메모리 디렉토리 삭제. DB 비밀번호·포트가 디렉토리 안.env/CLAUDE.md 에 있으므로 디렉토리 삭제가 마지막이다.
2. 지우려는 프로젝트에서 빠져나오기
지우려는 프로젝트 안에서 Claude Code 를 켜 뒀다면 먼저 나온다(메모리 디렉토리 삭제 충돌 방지).
/exit
3. (최초 1회) 저장소 삭제 권한 추가
gh auth login 기본 스코프에는 delete_repo 가 없다.
GitHub repo 까지 지우려면 최초 1회 스코프를 추가한다(이미 했으면 건너뛴다).
gh auth refresh -h github.com -s delete_repo
(브라우저 승인이 한 번 뜬다. 조직 게이트 members_can_delete_repositories 는 이미 열려 있으므로, admin 권한 + 이 스코프면 삭제된다.)
4. 삭제
런처 디렉토리에서 Claude Code 를 켜고 slug 를 위임한다.
cd ~/standarda-devtools
claude
delete-project 로 my_project 지워줘
Phase 2 에서 삭제 대상 목록이 출력된다.
되돌릴 수 없으므로 목록을 눈으로 검증한 뒤 yes 를 입력한다.
yes
- 공유 자원 slug(
standarda-core·standarda-template·wiki등)은 allowlist 로 거부된다. slug 가 비었거나..·/를 포함하면 즉시 중단된다. - wiki 포트 표는 별도 git repo 라 에이전트가 변경만 하고 commit 하지 않는다. 삭제 후 wiki 변경 commit 안내가 온다.
- GitHub repo 삭제가 실패하면(scope·admin 부족) 다른 단계는 그대로 진행하고 repo 만 수동 처리하도록 원인을 진단해 알려준다.
마무리
- 핵심 정리:
delete-project3단계(discovery → 확인 → 삭제)로 프로젝트와 부수 자원(DB·포트·vhost·인증서·Route53·repo·메모리)을 일괄 정리했다. repo 삭제는 최초 1회gh auth refresh ... -s delete_repo, Route53 은popup-chris프로필 필요. - 다음 시간: 프로젝트 생애주기를 다룰 줄 알았으니 개발(AI 에이전트 구현)로 넘어간다.