# 개발 명령어 모음

**업데이트**: 2026-01-28

---

## MNG Application (mng/)

### 개발 서버
```bash
# 개별 서비스
php artisan serve                    # Laravel server
npm run dev                          # Vite dev server (Tailwind)
```

### 테스트
```bash
composer test
php artisan test
```

### 코드 품질
```bash
./vendor/bin/pint          # PHP CS Fixer (포맷팅)
```

---

## API Application (api/)

### 개발 서버
```bash
# 모든 서비스 동시 실행
composer dev
```

### 데이터베이스
```bash
# 마이그레이션 상태 확인
php artisan migrate:status

# 마이그레이션 실행
php artisan migrate

# 마이그레이션 롤백
php artisan migrate:rollback --step=N

# 기존 DB에서 마이그레이션 생성
php artisan migrate:generate
```

### API 문서
```bash
# Swagger 문서 재생성
php artisan l5-swagger:generate

# 접근
# - Swagger UI: http://api.sam.kr/api-docs/index.html
# - JSON Spec: http://api.sam.kr/docs/api-docs.json
```

### 라우트 관리
```bash
# 등록된 라우트 목록 확인
php artisan route:list

# 특정 이름 패턴으로 필터
php artisan route:list --name=v1.users

# 특정 경로 패턴으로 필터
php artisan route:list --path=api/v1/users

# 라우트 캐시 (Production)
php artisan route:cache

# 라우트 캐시 클리어
php artisan route:clear

# API 버전 테스트
# - 기본 (v1): curl https://api.sam.kr/api/v1/users
# - v2 헤더: curl -H "Accept-Version: v2" https://api.sam.kr/api/v1/users
# - 쿼리: curl "https://api.sam.kr/api/v1/users?api_version=v2"
```

### 개발 도구
```bash
# IDE Helper
php artisan ide-helper:generate
php artisan ide-helper:models

# 코드 포맷팅
./vendor/bin/pint
```

### 스케줄러
```bash
# 스케줄러 작업 목록 확인
php artisan schedule:list

# 스케줄러 즉시 실행 (테스트)
php artisan schedule:run

# 특정 커맨드 실행
php artisan audit:prune
php artisan sanctum:prune-expired --hours=24
```

---

## Frontend (front/www/)

### CodeIgniter 3
```bash
# PHP 의존성 설치
composer install

# 개발 서버
php -S localhost:8080

# Note: front/_Codeigniter/에 CI3 시스템 파일
# Main application은 front/www/ 디렉토리
```

---

## 공통 (Build & Assets)

### Frontend Assets
```bash
# Production build
npm run build

# Development with hot reload
npm run dev

# 개별 디렉토리
cd mng && npm run build
cd api && npm run build
cd react && npm run build
```

---

## Git

### 상태 확인
```bash
# 현재 브랜치 및 변경사항
git status

# 브랜치 목록
git branch

# 변경 내용 확인
git diff
```

### 커밋
```bash
# 변경사항 스테이징
git add .

# 커밋
git commit -m "type: message"

# 커밋 로그
git log --oneline -10
```

---

## Docker

### 서비스 관리
```bash
# Docker 서비스 시작
docker-compose up -d

# Docker 서비스 중지
docker-compose down

# Docker 서비스 재시작
docker-compose restart

# Docker 로그 확인
docker-compose logs -f
```

---

## 환경 확인

### PHP & Composer
```bash
# PHP 버전
php -v

# Composer 버전
composer -V

# 설치된 패키지 확인
composer show
```

### Node & NPM
```bash
# Node 버전
node -v

# NPM 버전
npm -v

# 설치된 패키지 확인
npm list --depth=0
```

---

## 유용한 명령어

### 로그 확인
```bash
# Laravel 로그 실시간 확인
tail -f storage/logs/laravel.log

# Scheduler 로그 확인
tail -f storage/logs/scheduler.log

# Pail 사용 (Laravel 12)
php artisan pail --timeout=0
```

### 캐시 관리
```bash
# 모든 캐시 클리어
php artisan cache:clear

# 설정 캐시 클리어
php artisan config:clear

# 라우트 캐시 클리어
php artisan route:clear

# 뷰 캐시 클리어
php artisan view:clear
```

### 최적화
```bash
# Production 최적화
php artisan optimize

# Autoload 최적화
composer dump-autoload -o
```

---

## 트러블슈팅

### 권한 문제
```bash
# storage 디렉토리 권한
chmod -R 775 storage
chmod -R 775 bootstrap/cache
```

### 의존성 재설치
```bash
# Composer
rm -rf vendor
composer install

# NPM
rm -rf node_modules
npm install
```

### 환경 초기화
```bash
# .env 파일 복사 (처음 설치 시)
cp .env.example .env

# Application key 생성
php artisan key:generate
```