> ## Documentation Index
> Fetch the complete documentation index at: https://docs.decepticon.red/llms.txt
> Use this file to discover all available pages before exploring further.

# 개발자 설정 (Developer Setup)

> Decepticon에 기여하기 위한 로컬 개발 환경 설정.

## 사전 요구사항

* [Docker](https://docs.docker.com/get-docker/) (Docker Compose v2 포함)
* [Git](https://git-scm.com/)
* (선택사항) 로컬 린팅 및 타입 체크를 위한 [uv](https://github.com/astral-sh/uv)

## 클론 및 시작

```bash theme={null}
git clone https://github.com/PurpleAILAB/Decepticon.git
cd Decepticon
```

핫리로드와 함께 개발 환경을 시작합니다:

```bash theme={null}
# 터미널 1 — 파일 감시와 함께 서비스 시작
make dev

# 터미널 2 — 대화형 CLI 열기
make cli
```

<Info>
  개발은 프로덕션과 **동일한 Docker 컨테이너**에서 실행됩니다. 소스 변경 사항은 `docker compose watch`를 통해 자동으로 컨테이너에 동기화됩니다 — 수동 재빌드가 필요 없습니다.
</Info>

## Make 타겟

| 명령어          | 설명                                            |
| ------------ | --------------------------------------------- |
| `make dev`   | 이미지 빌드 + 핫리로드와 함께 시작 (`docker compose watch`) |
| `make cli`   | 대화형 CLI 열기 (별도 터미널에서 실행)                      |
| `make start` | 백그라운드에서 시작, 프로덕션과 유사 (핫리로드 없음)                |
| `make stop`  | 모든 서비스 중지                                     |
| `make test`  | 컨테이너 내에서 `pytest` 실행                          |
| `make lint`  | 로컬에서 린터 + 타입 체커 실행 (`uv sync --dev` 필요)       |
| `make help`  | 사용 가능한 모든 Makefile 타겟 표시                      |

## 프로젝트 구조

```
Decepticon/
├── decepticon/             # 핵심 Python 패키지 (LangGraph 에이전트)
│   ├── agents/             # 16개 전문 에이전트 정의 + 시스템 프롬프트
│   ├── core/               # 스키마 (RoE, ConOps, OPPLAN), 인게이지먼트 라이프사이클, 설정
│   ├── llm/                # 모델 프로파일, 제공자 라우팅, LLM 팩토리
│   ├── middleware/         # OPPLAN, Skills, EngagementContext, Filesystem, SubAgent 미들웨어
│   ├── sandbox_kernel/     # 샌드박스 측 데몬, 작업, tmux 세션 관리자
│   ├── sandbox_server/     # 샌드박스 측 HTTP 서버 (FastAPI)
│   ├── tools/              # bash, research (Neo4j/CVE), reversing, ad, cloud, web, contracts
│   └── backends/           # Docker / HTTP 샌드박스 백엔드
├── skills/                 # 스킬 라이브러리 (18개 카테고리: 에이전트별 + shared + benchmark)
├── clients/
│   ├── cli/                # React 19 + Ink 터미널 UI (TypeScript)
│   ├── web/                # Next.js 16 웹 대시보드 (TypeScript, Prisma)
│   ├── launcher/           # Go CLI 런처 (Cobra + Charmbracelet Huh v2)
│   └── shared/             # 공유 TypeScript 패키지
├── containers/             # Dockerfile (sandbox, cli, web, langgraph, litellm, c2-sliver)
├── config/                 # LiteLLM 프록시 설정 (litellm.yaml)
├── benchmark/              # CTF 평가 프레임워크 (xbow validation-benchmarks)
├── scripts/                # 설치 및 런처 스크립트
├── tests/                  # pytest 스위트
├── docker-compose.yml      # 인프라 정의
├── langgraph.json          # 19개 그래프 진입점 (decepticon 오케스트레이터 + soundwave 플래너 + 17개 전문가)
└── Makefile                # 개발 워크플로우 명령어
```

## 핫 리로드

`make dev`는 `docker compose watch`를 사용하여 소스 파일을 모니터링합니다. 코드를 편집하면:

1. 변경 사항이 실행 중인 컨테이너에 자동으로 동기화됩니다
2. 영향을 받는 서비스가 새 코드로 재시작됩니다
3. 수동 `docker compose build`나 재시작이 필요 없습니다

프로덕션과 정확히 동일한 Docker 환경을 유지하면서 가장 빠른 개발 루프를 제공합니다.

## 테스트 실행

```bash theme={null}
# 컨테이너 내에서 전체 테스트 스위트 실행
make test

# 로컬 린팅 (uv 필요)
uv sync --dev
make lint
```

<Card title="기여 가이드" icon="git-merge" href="/ko/contributing/contributing-guide">
  기여 워크플로우를 알아보세요 — 브랜칭, 커밋, 풀 리퀘스트.
</Card>
