# workzone

Claude Code용 멀티 프로젝트 워크스페이스 관리 도구

여러 독립 프로젝트를 하나의 폴더에서 관리할 때 사용합니다. 모노레포가 아닌, 각각 독립적인 Git 저장소를 가진 프로젝트들을 한 곳에서 관리하고 싶을 때 유용합니다.

## 왜 workzone인가?

- **모노레포는 과하다**: 프로젝트들이 코드를 공유하지 않음
- **폴더만 모아두면 관리가 안 됨**: 어떤 프로젝트가 있는지, 새 폴더가 뭔지 파악 어려움
- **Claude Code와 함께 사용**: Hook으로 세션 시작 시 자동 검사

## 빠른 시작

```bash
# 새 워크스페이스 생성
mkdir my-workspace && cd my-workspace

# workzone 초기화
npx workzone init

# 생성되는 파일:
# ├── CLAUDE.md              # 워크스페이스 설명
# ├── workspace-projects.md  # 프로젝트 목록
# ├── workzone-rules.md      # 규칙 문서
# ├── .gitignore             # Git 설정
# └── .claude/
#     └── settings.local.json  # Claude Code Hook 설정
```

## 사용법

### 프로젝트 추가

```bash
# 프로젝트 클론
git clone <url> my-api/

# workspace-projects.md에 등록
### my-api/
- **설명**: 백엔드 API 서버
- **기술**: Node.js, Express
- **Git**: 독립 저장소

# .gitignore에 추가
my-api/
```

### 검사 실행

```bash
# 정의되지 않은 폴더 스캔
workzone scan

# 전체 검사
workzone all
```

## Claude Code Hook

`workzone init` 실행 시 자동으로 Hook이 설정됩니다:

```json
{
  "hooks": {
    "SessionStart": [{
      "hooks": [{
        "type": "command",
        "command": "npx workzone scan"
      }]
    }]
  }
}
```

Claude Code 세션 시작 시 자동으로 `workzone scan`이 실행되어:
- 정의되지 않은 폴더 발견 시 알림
- Claude가 규칙을 인식하고 따름

## 명령어

| 명령어 | 설명 |
|--------|------|
| `workzone init` | 워크스페이스 초기화 (스캐폴딩) |
| `workzone scan` | 정의되지 않은 폴더 스캔 |
| `workzone all` | 전체 검사 실행 |
| `workzone rules` | 사용 가능한 규칙 목록 |
| `workzone help` | 도움말 |

## 규칙

### scan-workspace (필수)
- `workspace-projects.md`에 정의되지 않은 폴더 감지
- 세션 시작 시 자동 실행

### validate-import (선택)
- 프로젝트 간 코드 import 금지 검사
- 프로젝트 간 통신은 HTTP API만 허용

## 워크스페이스 구조

```
my-workspace/           # 루트 (workzone 관리)
├── CLAUDE.md
├── workspace-projects.md
├── workzone-rules.md
├── .gitignore
├── .claude/
│
├── project-a/          # 독립 Git 저장소
│   └── .git/
├── project-b/          # 독립 Git 저장소
│   └── .git/
└── project-c/          # 독립 Git 저장소
    └── .git/
```

## 요구 사항

- Node.js >= 18.0.0
- Claude Code (Hook 기능 사용 시)

## 라이선스

MIT
