개발 slecs

새 덱스, 초기 설정으로 팀 협업 기초 다지기

목차

새로운 컬렉터블 인덱싱 서비스(blindboxdex)를 론칭하면서 프로젝트 초기 설정을 완료했다. 단순해 보이는 설정 단계지만, 이것이 나중 팀 협업과 서비스 확장의 질을 크게 좌우한다는 걸 이번에 다시금 느꼈다.

신규 프로젝트 시작, 왜 설정부터 탄탄히 할까

프로젝트를 시작할 때 문서와 환경설정을 "나중에 해도 괜찮겠지" 라고 미루는 경우가 있다. 초기 개발 속도에만 눈을 맞추다 보면, 팀원이 들어올 때 온보딩이 복잡해지고, 나중에 설정을 정리할 때 오히려 더 많은 시간이 들게 된다. 이번 작업은 "런칭 전에 이런 것들을 미리 정돈하면 팀 효율이 확실히 달라진다" 는 교훈을 주었다.

특히 팀 규모가 커질수록, 아니면 원격 협업을 하는 팀일수록, 처음부터 "이 프로젝트는 어떻게 시작하는가" 를 명확히 하는 게 중요하다. 개발자마다 로컬 셋업 방식이 다르고, 환경변수 누락으로 한 명이 몇 시간을 낭비하는 일을 피할 수 있기 때문이다.

이번 변경사항, 어떤 것들을 챙겼나

파일 목적 팀 협업에서의 역할
.env.example 필수 환경변수 명시 온보딩: 새 팀원이 무엇을 설정해야 할지 명확히 알 수 있음
.gitignore 깃 무시 규칙 민감한 파일 노출 방지, 불필요한 커밋 제거
README.md 프로젝트 설명 및 실행 방법 처음 와서 "이게 뭐하는 거지?" 물어볼 필요 없음
CLAUDE.md 팀 작업 지침 규칙이 명확해서 코드리뷰/자동화 일관성 유지
astro.config.mjs 웹 프레임워크 설정 빌드·SEO·이미지 처리 등이 일관되게 작동
bot/README.md 자동화 봇 문서 봇 실패 시 로그 어디 볼지, 재실행 어떻게 할지 명확

환경변수 (.env.example)
먼저 .env.example 파일을 만들었다. 이 파일은 "프로젝트를 실행하려면 이런 환경변수가 필요하다" 를 명시적으로 보여준다. 팀원이 처음 클론할 때 cp .env.example .env 한 줄로 로컬 설정을 시작할 수 있다. 물론 민감한 값(API 키, DB 비번)은 .env.example 에 들어가지 않고, 팀원은 실제 값을 직접 채워야 하는데, 이렇게 하면 어떤 항목이 필수인지가 한눈에 들어온다.

깃 무시 규칙 (.gitignore)
.gitignore 업데이트도 중요한 부분이다. 특히 Astro 프로젝트는 node_modules, dist/, .env.local 같은 로컬 파일들이 생기는데, 이런 것들이 실수로 푸시되지 않도록 명시적으로 제외해야 한다. 또한 개발자별 에디터 설정(.DS_Store, .vscode/ 등)도 미리 리스트에 넣어두면, 나중에 "왜 이 파일이 커밋되었지?" 하는 불필요한 리뷰 사이클을 줄일 수 있다.

프로젝트 설명과 온보딩 (README.md, bot/README.md, CLAUDE.md)
README는 첫 인상이다. 이 서비스가 뭐고, 어떻게 실행하고, 어떤 환경에서 테스트하는지가 명확해야 팀원들이 빠르게 따라올 수 있다. 특히 "데이터소스는 어디인가", "업데이트 주기는 뭔가", "배포 브랜치는 뭔가" 같은 운영 정보까지 넣으면 온보딩 시간을 확 줄일 수 있다.

bot/README.md 는 이 프로젝트에 자동화 봇이 있다는 신호다. 정기적 데이터 동기화나 인덱싱 작업을 자동화한 게 아닐까 싶다. 봇이 돌아가는 방식, 실패했을 때 알람 방식, 로그 위치 등을 명확히 문서화하면, 밤 2시에 누군가 "어? 데이터가 안 떴다" 하며 물어올 일을 줄일 수 있다.

CLAUDE.md 는 팀이 이 프로젝트에만 적용할 작업 지침을 명시하는 파일인데, 예를 들어 "이 데이터는 어떻게 검증할 것인가", "민감한 정보를 다룰 때 주의사항" 같은 규칙을 적어두면, 앞으로 이 프로젝트에서 생기는 코드 리뷰나 자동화 작업이 일관성 있게 진행된다.

Astro 설정 (astro.config.mjs)
Astro는 정적 사이트 생성기(SSG)다. 컬렉터블 인덱싱 서비스라면 데이터를 마크업으로 변환해서 검색 엔진 최적화(SEO)가 중요할 텐데, Astro는 이런 유즈케이스에 아주 잘 맞는다. 설정 파일에는 빌드 최적화, 이미지 처리, 라우팅 설정 같은 것들이 들어가는데, 처음부터 바를 설정하면 나중에 성능 이슈로 돌아와서 뜯어 고칠 일이 줄어든다.

회고: 초기 설정은 투자다

마지막으로 한 가지 깨달은 점은, 신규 프로젝트의 초기 설정은 "귀찮은 관례" 가 아니라 팀 협업의 기초 투자 라는 것이다. 처음 2-3시간을 여기에 쓰면, 팀원 3-4명이 합쳐서 며칠을 절약할 수 있다. 특히 이런 설정 파일들(.env.example, .gitignore, README, CLAUDE.md)은 한 번 만들어두면 비슷한 프로젝트를 다시 시작할 때 탬플릿으로도 쓸 수 있다.

다음에 새로운 서비스를 시작할 때 이 체크리스트를 복사해서 한 번에 챙길 생각이다:

  • 환경변수 예시 파일 (env.example)
  • 기본 .gitignore (프레임워크별로 미리 준비)
  • 초기 README (서비스 목표, 실행 방법, 배포 정보)
  • 팀 작업 지침 (CLAUDE.md 또는 프로젝트별 규칙)
  • 프레임워크 설정 파일 (Astro, Next.js 등 초기 최적화)
  • 자동화 봇이 있으면 별도 문서화

이렇게 하면 누군가 "이 프로젝트 돌려봐" 할 때 30분 안에 로컬에서 실행할 수 있는 상태가 되어 있을 거다. 결국 처음의 꼼꼼함이 나중의 시간을 남긴다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.