🚀 엔지니어 · 온보딩 · 프로젝트 다루기 · L03

프로젝트 가져오기

작성일자 2026-07-24  ·  수정일자 2026-07-24  ·  강의차수 L03  ·  예상소요 8분

목표 clone-repo 로 기존 repo 를 표준 레이아웃으로 clone 하고 venv·패키지까지 세팅한다.

1. 언제 쓰나

새로 만드는 게 아니라 이미 GitHub 에 있는 repo(내가 전에 만든 것, 팀의 다른 프로젝트, 외부 repo)를 서버에 올릴 때 쓴다. clone-repo 는 cookiecutter 를 돌리지 않고 새 repo 도 만들지 않는다. 기존 repo 를 create-project 결과와 동일한 표준 레이아웃(~/<slug>/src)으로 정리하는 것만 담당한다.


2. 가져오기

런처 디렉토리에서 Claude Code 를 켜고 clone URL 을 위임한다.

cd ~/standarda-devtools
claude
clone-repo 로 https://github.com/popupstudio-ai/my_project.git 가져와줘

이 에이전트가 내부적으로 하는 일:

  1. slug 결정 + 충돌 확인: 입력 없으면 URL 끝 segment 에서 .git 제거. $HOME/<slug> 존재 시 BLOCKED: target-exists.
  2. clone: git clone <url> $HOME/<slug>/src. 빈 repo 면 BLOCKED: empty-repo.
  3. .memory symlink: src 절대경로 인코딩([^a-zA-Z0-9] → -) → ~/.claude/projects/<enc>/memory 생성·링크. dangling 방지로 test -d 검증.
  4. .gitignore 정합성: .memory 라인 없으면 추가(tracked 파일 변경이라 commit 은 사용자 판단).
  5. Django 감지 + venv·패키지: src/manage.py 있으면 python3 -m venv $HOME/<slug>(부모에 생성 → ../bin/activate 규칙 충족) 후 pip install -r requirements.txt. standarda-core 는 git 태그 고정(-e 금지). manage.py 없으면 이 단계 SKIP: not-django.

DB·migrate·포트 할당은 자동화하지 않고 안내만 한다. setup.sh 가 있는 standarda-template 기반 repo 면 5단계 대신 cd ~/<slug> && ./setup.sh 한 줄로 끝낼 수도 있다. 다 받으면 Claude Code 를 나간다.

/exit

3. 작업 시작

작업은 프로젝트 src 에서 Claude Code 를 켠다.

cd ~/my_project/src
claude

마무리

  • 핵심 정리: clone-repo 로 기존 repo 를 ~/<slug>/src 표준 레이아웃(.memory symlink·.gitignore·venv·패키지)으로 셋업했다. cookiecutter·repo 생성은 하지 않는다.
  • 주의 사항: 신규는 create-project(EL07), 기존은 clone-repo(이 강의). DB·migrate·포트는 clone-repo 가 자동으로 안 한다.
  • 다음 시간: 프로젝트 업데이트.
이 강의를 학습하셨나요?