*.log
.DS_Store
.env
.env.backup
.phpactor.json
.phpunit.result.cache
/.fleet
/.idea
/.nova
/.phpunit.cache
/.vscode
/.zed
/auth.json
/node_modules/public/hot
/public/storage
/storage/*.key
/storage/pail
/storage/composer
/vendor/*
!/vendor/.gitkeep
/.composer
Homestead.json
Homestead.yaml
Thumbs.db

# Logs
logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
dev-debug.log
# Dependency directories
node_modules/
# Environment variables
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# OS specific

# Task files
# tasks.json
# tasks/

# Settings JSON files (환경별 설정)
/storage/app/settings/
# 성능 계측 리포트 (g7:bench --report) — 측정값이 실행 머신 사양에 종속되므로 저장소에 축적하지 않는다
/storage/app/benchmarks/

# 확장 프론트엔드 병합 번들 캐시 (version-in-path, 런타임 생성)
/storage/app/ext-bundles/

# Bootstrap cache (auto-generated)
/bootstrap/cache/*
!/bootstrap/cache/.gitkeep

# ===== 확장 시스템 =====

# 활성 확장 디렉토리 (설치된 복사본 — Git 제외)
modules/*/
!modules/_bundled/
plugins/*/
!plugins/_bundled/
templates/*/
!templates/_bundled/

# _bundled 내부 의존성 디렉토리 제외
modules/_bundled/*/vendor/
modules/_bundled/*/node_modules/
plugins/_bundled/*/vendor/
plugins/_bundled/*/node_modules/
templates/_bundled/*/node_modules/

# _pending 디렉토리 (외부 다운로드 임시 영역 — 구조만 버전관리)
!modules/_pending/
!plugins/_pending/
!templates/_pending/

# ===== 언어팩 시스템 =====

# 활성 언어팩 디렉토리 (설치된 복사본 — Git 제외)
lang-packs/*/
!lang-packs/_bundled/

# _pending 디렉토리 (외부 다운로드 임시 영역)
lang-packs/_bundled/_pending/
!lang-packs/_pending/

# DevTools debug dump
storage/debug-dump/

# MaxMind GeoLite2 DB (재배포 금지 — 각 환경에서 직접 다운로드)
storage/app/geoip/

# 인스톨러 런타임 산출물 — 각 환경에서 자동 생성/소비
storage/installer-state.json
storage/installer/

# 개발 전용 파일
.api-test/
.serena/
.claudeignore
.mcp.json
boost.json
cypress/
cypress.config.js
.env.testing
.claude/settings.local.json

# ===== 보안: 민감 파일 방어 패턴 =====
*.pem
*.p12
*.pfx
*.jks
*.key
!storage/*.key
credentials.json
service-account.json
id_rsa
id_ed25519
.htpasswd
*.sql
*.sqlite
*.db

# NHN KCP 결제플러그인 PG 공개키는 예외 처리
!plugins/_bundled/*/bin/pub.key

.claude/tmp/

# ===== Playwright E2E =====
tests/Playwright/.auth/
playwright-report/
test-results/
# Playwright MCP 세션 아티팩트(스냅샷/콘솔 로그) — 커밋 대상 아님
.playwright-mcp/

# ===== 소스맵 =====
# 소스맵은 원본 코드 전문(sourcesContent)을 담고 있어 배포 대상이 아니다.
# 로컬 개발 빌드에서는 생성되지만(디버깅용) 저장소에는 유입되지 않는다.
# 배포용 빌드는 `--production` 이 G7_BUILD_SOURCEMAP=0 을 주입해 생성 자체를 막는다.
# 경로 한정 시 새 확장이 추가될 때 조용히 누락되므로 전역 규칙으로 둔다.
*.map
