# 환경변수: 실제 값(.env)은 커밋하지 않는다. 템플릿(.env.example)만 커밋한다. .env .env.* !.env.example # 설정: 시크릿 포함이라 커밋하지 않는다. *.example 만 커밋한다. *.toml !*.toml.example # Python 바이트코드/캐시 — 절대 커밋하지 않는다. __pycache__/ *.py[cod] *$py.class .pytest_cache/ # 가상환경 .venv/ venv/ # 생성물(FastAPI OpenAPI 스펙). 필요 시 재생성한다. solution/backend/openapi.json # 발행 payload 는 solution/site/payloads/.gitignore 가 단일 출처다 — 여기에 겹쳐 쓰지 않는다. # 정적 산출물 — 운영에서는 Docker named volume(site-out)에 있고, 로컬에서 직접 구우면 # 여기 생긴다. 어느 쪽이든 payload 로 다시 굽는 재생성물이라 git 이 관리할 대상이 아니다. solution/site/out/ solution/site/dist/ # React Router 프레임워크 모드(solution/frontend)의 산출물 build/ .react-router/ admin/dist/ # nginx 설정: 서버마다 다르므로 실제 파일은 커밋하지 않는다. 템플릿만 커밋한다. # ★ compose(docker-compose.yml:224)가 ./nginx/site.conf 를 bind mount 한다 — # 파일이 없으면 Docker 가 그 자리에 **디렉토리를 만들어** nginx 가 설정 없이 뜬다. # 클론 직후 반드시: cp nginx/site.conf.example nginx/site.conf nginx/site.conf !nginx/site.conf.example # ── npm 워크스페이스(루트가 solution/{shared,front,site} + admin 을 묶는다) ── node_modules/ dist/ .ssr-dist/ *.tsbuildinfo # OS .DS_Store # ── 에이전트 지침은 커밋한다 ────────────────────────────────────────────── # AGENTS.md / CLAUDE.md 는 팀과 모든 에이전트가 공유하는 규약이라 반드시 커밋한다. # 커밋 안 하면 클론한 사람이 "배포 후 republish_all.py 필수" 같은 함정을 전달받지 못한다. # # ★ `!CLAUDE.md` 를 지우지 말 것. 이 머신의 ~/.gitignore_global 이 CLAUDE.md 를 전역으로 # 무시하고 있어서, 레포 쪽에서 명시적으로 되살리지 않으면 심볼릭 링크가 커밋되지 않는다. # (전역 설정은 사람마다 다르므로 레포가 스스로를 지킨다.) !CLAUDE.md # 개인용 오버라이드는 레포가 아니라 ~/.claude/CLAUDE.md 나 .claude/settings.local.json 에 둔다. .claude/settings.local.json # 목업 작업 산출물 — 발행본 원본은 도커 볼륨(out/s)이라 레포에 두지 않는다 solution/site/scripts/mockup/backup/ solution/site/scripts/mockup/king-stay2/ solution/site/scripts/mockup/build6p/ solution/site/scripts/mockup/build6p-stay2/ solution/site/scripts/mockup/siann6/ solution/site/scripts/mockup/_sub*.mjs