Skip to main content
taehun-camfit

monol

by taehun-camfitv0.3.0

모여서 놀자 - Worktree, Session, Context, Log, Condition, Evaluation 통합 관리

Installation guide →

Documentation

# monol-x - 진화하는 AI 개발 플랫폼

> **성과 기반 자연선택으로 스스로 진화하는 AI 에이전트 시스템**

Claude Code와 함께 멀티 세션, 멀티 worktree 환경에서 효율적으로 작업하며,
**18개의 Cell(모듈)**이 성과에 따라 자동으로 진화합니다.

**📊 [웹 대시보드](#웹-대시보드)** - 브라우저에서 Cell 관리 및 진화 시뮬레이션
**📚 [장기 작업 가이드](docs/guides/LONG-RUNNING-GUIDE.md)** - 2시간+ 자율 작업 방법
**🧬 [진화 시스템](docs/EVOLUTION-JOURNEY.md)** - Cell 진화 메커니즘

## 핵심 개념

```
┌───────────────────────────────────────────────────────────────────────┐
│                           monol-x v1.0                                │
├───────────────────────────────────────────────────────────────────────┤
│  Worktree   │  Session    │  Context   │  Evolution  │  Dashboard    │
│  ─────────  │  ─────────  │  ─────────  │  ─────────  │  ─────────    │
│  브랜치별    │  작업 단위   │  상태 저장  │  Cell 진화   │  웹 시각화    │
│  작업 공간   │  시작/종료   │  복원 가능  │  자연선택    │  실시간 관리  │
└───────────────────────────────────────────────────────────────────────┘
```

### 기본 기능
- **Worktree**: git worktree 기반 병렬 작업 공간
- **Session**: 작업 시작~종료 단위, Claude 세션과 연동
- **Context**: 작업 상태 스냅샷, 나중에 복원 가능
- **Log**: 빠른 메모, 일일/주간 리포트
- **Condition**: 조건 만족까지 장기 작업 지속 (Stop hook)

### Cell 진화 시스템 (v0.7+)
- **Cell**: 독립적인 AI 에이전트 모듈 (18개)
- **Genome**: 능력 가중치 (coding, testing, core 등)
- **Phenotype**: 관찰 가능한 성과 (점수, 트렌드)
- **Evolution**: 성과 기반 자연선택, 변이 생성

---

## 웹 대시보드

브라우저에서 모든 Cell을 시각적으로 관리합니다.

```bash
# 대시보드 시작
monol dashboard start --open

# 상태 확인
monol dashboard status

# 종료
monol dashboard stop
```

### 대시보드 기능

| 탭 | 기능 |
|-----|------|
| **Overview** | 전체 Cell 현황, Diversity Score, Score Trends |
| **Cells** | Cell 목록, 필터링, 상세 조회/편집 |
| **Evolution** | 진화 시뮬레이션, Mutation 생성 |
| **Lineage** | 계보 트리, 부모-자식 관계 |
| **Lessons** | 레슨 포인트 분석 |

### Cell 목록 (18개)

| Cell | Role | Score |
|------|------|-------|
| dev-senior | developer | 92.0 |
| debugger-expert | developer | 88.0 |
| architect-system | planner | 85.0 |
| evaluator-core | evaluator | 85.0 |
| ... | ... | ... |

전체 목록: `monol evolution dashboard`

---

## 설치

이미 설정됨:
- CLI: `~/.zshrc`에 PATH 추가됨
- Plugin: `~/.claude/plugins/monol` 심볼릭 링크

```bash
# 확인
which monol
ls -la ~/.claude/plugins/monol
```

---

## CLI 사용법

### 초기화

```bash
cd /your/project
monol init
```

`.monol/` 디렉토리가 생성됩니다.

### 대시보드

```bash
monol status    # 또는 mn st
```

모든 worktree, 현재 세션, 최근 활동을 한눈에.

### Worktree 관리

```bash
# 목록 보기
monol wt list

# 새 worktree 생성
monol wt add feature-auth           # feature-auth 브랜치로 생성
monol wt add bugfix fix/bug-123     # fix/bug-123 브랜치로 생성

# worktree 제거
monol wt remove feature-auth

# 특정 worktree 상태
monol wt status feature-auth
```

Worktree 생성 후:
```bash
cd ../project-feature-auth    # 새 worktree로 이동
claude                        # Claude 세션 시작
```

### 세션 관리

```bash
# 세션 시작
monol hello "API 개발"        # focus 설정과 함께

# 세션 종료
monol bye "엔드포인트 3개 완성"

# 세션 상태 확인
monol session status

# Claude 세션 목록
monol session list

# 세션 검색
monol session search "API"

# 전체 worktree 세션 오버뷰
monol session overview
```

### 로그 기록

```bash
# 빠른 기록
monol log "인증 모듈 완료"

# 오늘 로그 보기
monol log today

# 최근 로그 목록
monol log list        # 최근 7일
monol log list 14     # 최근 14일

# 로그 검색
monol log search "인증"

# 일일 요약
monol log summary             # 오늘
monol log summary 2024-01-10  # 특정 날짜

# 주간 리포트
monol log weekly      # 이번 주
monol log weekly 1    # 지난 주
```

### 컨텍스트 관리

```bash
# 현재 상태 저장
monol ctx save checkpoint-1
monol ctx save "리팩토링 전" --description "대규모 변경 전 백업"

# 저장된 컨텍스트 목록
monol ctx list

# 컨텍스트 로드/확인
monol ctx load checkpoint-1

# 차이점 확인
monol ctx diff checkpoint-1

# monol.md 편집
monol ctx edit
```

### 조건 기반 장기 작업

```bash
# TODO 완료까지 작업 (가장 권장)
monol condition todo

# 테스트 통과까지
monol condition test "npm test"

# 빌드 성공까지
monol condition build "npm run build"

# 커스텀 스크립트
monol condition script ./check-ready.sh

# 복합 조건
monol condition multi --todo TODO.md --test "npm test"

# 상태 확인
monol condition status

# 강제 종료
monol condition stop
```

**자세한 사용법**: [장기 작업 가이드](docs/LONG-RUNNING-GUIDE.md)

---

## Claude 플러그인 사용법

Claude Code 안에서 슬래시 커맨드로 사용:

### 세션

```
/mn-hello API 개발      # 세션 시작 + 상황 분석 + 제안
/mn-bye 작업 완료       # 세션 종료 + 요약

# 한국어 별칭
/안녕 API 개발
/바이 작업 완료
```

### 대시보드

```
/mn-status              # 전체 현황
/모놀                   # 한국어 별칭
```

### Worktree

```
/mn-wt                  # worktree 목록
/mn-wt add feature-x    # 새 worktree
/mn-wt remove old-wt    # worktree 제거
```

### 로그

```
/mn-log API 완료        # 빠른 기록
/mn-log today           # 오늘 로그
/mn-log weekly          # 주간 리포트

/기록 메모 내용         # 한국어 별칭
```

### 컨텍스트

```
/mn-ctx save backup     # 상태 저장
/mn-ctx load backup     # 상태 복원
/mn-ctx list            # 목록
```

### 검색

```
/mn-search 키워드       # 로그, 세션, 컨텍스트 통합 검색
```

---

## 워크플로우 예시

### 1. 하루 시작

```bash
cd ~/Work/my-project
monol status              # 현황 파악
```

Claude에서:
```
/mn-hello 오늘 할 일
```

→ 이전 세션 요약, 미완료 작업, pull 필요 여부 등 자동 분석

### 2. 새 기능 작업

```bash
monol wt add feature-auth
cd ../my-project-feature-auth
claude
```

Claude에서:
```
/안녕 인증 모듈 개발
```

### 3. 작업 중 기록

```
/기록 JWT 토큰 발급 로직 완료
/기록 리프레시 토큰 구현 중
```

### 4. 컨텍스트 저장 (중요 지점)

```
/mn-ctx save before-refactor
```

### 5. 작업 종료

```
/바이 인증 모듈 1차 완성
```

### 6. 다른 worktree로 전환

```bash
cd ~/Work/my-project      # 메인으로
monol session overview    # 모든 worktree 세션 확인
```

### 7. 주간 리뷰

```bash
monol log weekly
```

---

## 디렉토리 구조

### 프로젝트 내 (.monol/)

```
project/
├── .monol/
│   ├── config.yaml       # 프로젝트 설정
│   ├── state.json        # 현재 상태
│   ├── sessions/         # 세션 기록
│   ├── contexts/         # 저장된 컨텍스트
│   ├── logs/             # 일별 로그 (YYYY-MM-DD.md)
│   └── worktrees/        # worktree 메타 정보
└── monol.md              # 프로젝트 컨텍스트 문서
```

### 글로벌 (~/.monol/)

```
~/.monol/
├── config.yaml           # 글로벌 설정
├── projects/             # 프로젝트 레지스트리
└── templates/            # 템플릿
```

---

## 팁

### Worktree 네이밍 규칙

```
project/              # 메인 (main/master)
project-feature-x/    # 기능 개발
project-bugfix-123/   # 버그 수정
project-experiment/   # 실험
```

### 세션 관리

- **하나의 worktree = 하나의 Claude 세션** 권장
- 세션은 자동으로 Claude 세션과 연동됨
- `/mn-hello`로 시작하면 이전 컨텍스트 자동 로드

### 로그 활용

- 짧게, 자주 기록
- 나중에 검색으로 찾기 쉽게
- 커밋 메시지 작성할 때 참고

### 컨텍스트 저장 타이밍

- 큰 변경 전
- 실험 시작 전
- 하루 끝날 때
- 브랜치 전환 전

---

## 커맨드 요약

| CLI | Claude | 설명 |
|-----|--------|------|
| `monol init` | - | 프로젝트 초기화 |
| `monol status` | `/mn-status`, `/모놀` | 대시보드 |
| `monol hello` | `/mn-hello`, `/안녕` | 세션 시작 |
| `monol bye` | `/mn-bye`, `/바이` | 세션 종료 |
| `monol wt *` | `/mn-wt` | Worktree 관리 |
| `monol log` | `/mn-log`, `/기록` | 로그 기록 |
| `monol ctx *` | `/mn-ctx` | 컨텍스트 관리 |
| `monol session *` | - | 세션 관리 |
| `monol condition *` | `/mn-condition`, `/조건` | 장기 작업 조건 |
| - | `/mn-search` | 통합 검색 |

---

## 조건 타입 상세

### 기본 조건

| 타입 | 사용 시점 | 완료 조건 |
|------|----------|-----------|
| `todo` | 명확한 작업 목록이 있을 때 | 모든 `[ ]` → `[x]` |
| `test` | 테스트 통과가 목표일 때 | 테스트 명령어 성공 (exit 0) |
| `build` | 빌드 성공이 목표일 때 | 빌드 명령어 성공 (exit 0) |
| `script` | 커스텀 검증이 필요할 때 | 스크립트 exit 0 |

### 파일/패턴 조건

| 타입 | 사용 시점 | 완료 조건 |
|------|----------|-----------|
| `file` | 특정 파일 생성이 목표일 때 | 지정 파일 존재 |
| `no_file` | 특정 파일 삭제가 목표일 때 | 지정 파일 없음 |
| `no_pattern` | 코드에서 패턴 제거가 목표일 때 | 코드에서 패턴 사라짐 |

### 복합 조건 (multi)

여러 조건을 동시에 만족해야 할 때:

```bash
# TODO 완료 + 테스트 통과 + 빌드 성공
monol condition multi \
  --todo TODO.md \
  --test "npm test" \
  --build "npm run build"

# TODO 완료 + 코드에서 TODO 주석 제거
monol condition multi \
  --todo TODO.md \
  --no-pattern "// TODO:" "**/*.ts"
```

---

## 쉘 통합

### 프롬프트에 세션 상태 표시

현재 활성 세션을 쉘 프롬프트에 표시합니다:

```bash
# 프롬프트 확인
monol prompt          # [🎪 focus]
monol prompt full     # [🎪 branch:focus]

# zshrc/bashrc에 추가
monol prompt install

# 제거
monol prompt uninstall
```

설치 후 프롬프트 예시:
```
[🎪 API 개발] ~/Work/project $
```

### 자동완성 설정

```bash
# zsh 사용자
echo 'source <(monol completion zsh)' >> ~/.zshrc

# bash 사용자
echo 'source <(monol completion bash)' >> ~/.bashrc

# 적용
source ~/.zshrc  # 또는 ~/.bashrc
```

자동완성 기능:
- 커맨드/서브커맨드 완성 (Tab)
- worktree 이름 동적 완성
- context 이름 동적 완성
- git 브랜치 동적 완성

---

## 문제 해결

### monol 명령어가 없다고 나올 때

```bash
source ~/.zshrc
# 또는 새 터미널 열기
```

### Claude에서 /mn-* 커맨드가 안 될 때

```bash
# 플러그인 링크 확인
ls -la ~/.claude/plugins/monol

# Claude 재시작
```

### jq 관련 에러

```bash
brew install jq
```

---

## 버전

- **v1.0.0** (현재) - 안정화 및 문서 완성
  - Dashboard: 글로벌 에러 핸들러 추가
  - Docs: API 문서화, README 정리
  - Quality: 통합 테스트, 정합성 검증

- **v0.9.0** - 도메인 에이전트 확장
  - Cells: debugger-core, documenter-core 추가
  - Docs: 웹 대시보드 시나리오 문서

- **v0.8.0** - 웹 대시보드 + Cell 메타포
  - Dashboard: FastAPI 서버 + Vanilla JS 프론트엔드
  - Dashboard: Cell CRUD, Mutation 생성, Evolution 시뮬레이션
  - Terminology: Cell 생물학적 용어 체계
    - Module → Cell
    - Foundation Weights → Genome
    - Score/Traits → Phenotype

- **v0.7.0** - 진화 시스템 강화
  - Evolution: 자동 진화 트리거
  - Cells: developer 롤 모듈 확장 (11개)
  - Feedback: 피드백 기반 자동 변이

- **v0.6.0** - 고급 자동화
  - Automation: 컨텍스트 자동 복원, 스마트 요약
  - CI/CD: GitHub Actions, GitLab CI 연동

- **v0.5.0** - 분석 및 인사이트
  - Analytics: 생산성 대시보드, AI 패턴 분석
  - Reports: 주간/월간 리포트 자동 생성

- **v0.4.0** - 팀 협업
  - Team: 세션 공유, 멘션/알림, 활동 피드

- **v0.3.0** - 진화적 에이전트 시스템
  - Foundation: 계층 구조 (core, git, logging, state, testing)
  - Module: 시스템, 세션 평가

- **v0.2.0** - 조건 기반 장기 작업
  - Condition: TODO/Test/Build/Script 조건
  - Stop hook: 조건 만족까지 작업 지속

- **v0.1.0** - 초기 버전
  - Core: config, worktree, session, context, log
  - CLI: monol/mn
  - Plugin: Claude Code 통합