프로젝트 생성하기
목표
create-project 로 새 프로젝트를 생성하고 setup.sh 로 동일 환경을 세팅한 뒤 dev 도메인으로 접속한다.1. 프로젝트 만들기
런처 디렉토리에서 Claude Code 를 켜고 create-project 를 위임한다.
slug 은 언더스코어(my_project), dev 도메인은 하이픈(my-project-dev.popupstudio.ai)으로 갈린다.
cd ~/standarda-devtools
claude
create-project 로 'my_project' 만들어줘
이 에이전트가 내부적으로 하는 일:
- slug 도출 + 충돌 확인:
project_name을 lower + 공백/하이픈 → 언더스코어 치환(cookiecutter.json derive 규칙).$HOME/<slug>가 있으면BLOCKED: target-exists. - 포트 할당: 팀 wiki
infrastructure/server-environment.md의 포트 표(8000-8099)에서 빈 포트 2개(dev/prod)를 골라 2행 추가한다. - cookiecutter 실행:
cookiecutter https://github.com/popupstudio-ai/standarda-template.git --no-input project_name=....project_slug·github_repo·db_name등은 derive 로 자동 채워진다. 이어서 post-gen hook(post_gen_project.py)이src/에서 처리:git init+core.hooksPath=.githooks(커밋 규칙 hook 활성화)remote add origin+gh repo create popupstudio-ai/<slug> --private/etc/standarda/server.conf의SERVER_HOST를 읽어ALLOWED_HOSTS주입.githooks/·setup.sh실행권한 부여- gh 미인증이면 repo 생성만 건너뛰고 나머지는 진행
.memorysymlink:src절대경로를 인코딩([^a-zA-Z0-9]→-)해~/.claude/projects/<enc>/memory를 만들고src/.memory로 링크..gitignore에.memory는 이미 포함.src/CLAUDE.md의<PORT>치환: dev/prod runserver 명령에 할당 포트 반영.
setup.sh 는 전 과정이 대화형이라 에이전트가 실행하지 않고 사용자에게 핸드오프한다.
생성이 끝나면 Claude Code 를 나간다.
/exit
2. 준비 스크립트 실행
setup.sh 는 6단계로 동일 환경을 세팅한다. 대화형이라 직접 실행한다.
cd ~/my_project
./setup.sh
스크립트가 하는 일:
[1/6]../<slug>_static_cdn디렉토리 생성.[2/6]python3.11 -m venv .로 프로젝트 루트에 venv 생성(../bin/activate규칙 전제), venv 가 덮은.gitignore복원.[3/6]pip install -r src/requirements.txt. standarda-core 는 git 태그 고정 설치(-e금지).[4/6].env.example→.env복사,DJANGO_SECRET_KEY(영숫자 50자) 생성해.env에 기록. 이어서 아래 두 지점에서 멈춘다.
PostgreSQL 'ubuntu' 사용자 비밀번호: ← DB 비밀번호. psql 연결로 검증하는 while 루프라 틀리면 재입력
>>> 나머지 .env 항목(API 키 등)을 편집: ~/my_project/src/.env
>>> 편집 완료 후 Enter ← API 키는 개발 챕터에서 채운다. 지금은 Enter
[5/6]createdb(없을 때만) +makemigrations+migrate.[6/6]createsuperuser(대화형).
셋업 완료! 출력이 뜨면 끝이다.
makemigrations 가 초기 마이그레이션을 생성하므로, 초기 commit/push 는 반드시 setup.sh 완료 후 한다.
cd ~/my_project/src
git add -A
git commit -m "초기 프로젝트 셋업 (cookiecutter standarda-template)"
git branch -M master
git push -u origin master
gh 미인증으로 repo 가 없으면 push 가 실패한다. gh repo create popupstudio-ai/my_project --private 후 재시도.
3. 웹으로 띄우기
프로젝트 src 에서 Claude Code 를 켜고 /dev 로 개발 서버를 띄운다.
첫 실행이면 포트 할당 + dev 도메인(vhost·인증서·Route53) 세팅까지 자동 진행된다.
cd ~/my_project/src
claude
/dev
- 슬래시커맨드
/dev, 자연어개발 서버 띄워줘둘 다 같은 스킬로 라우팅된다.
https://my-project-dev.popupstudio.ai 로 접속되면 성공.
마무리
- 핵심 정리:
create-project(cookiecutter + post-gen hook + 포트/symlink/CLAUDE.md) →setup.sh(venv·pip·.env·SECRET_KEY·DB·migrate·superuser) → 초기 commit →/dev. 포팅 매뉴얼처럼 따라만 하면 동일 환경이 선다. - 주의 사항:
create-project는 런처(~/standarda-devtools)에서,/dev는 프로젝트src에서 켠다. 초기 commit 은setup.sh의makemigrations뒤에. - 다음 시간: 기존 프로젝트 가져오기(
clone-repo).