---
name: adr-writer
label: 아키텍처 결정 기록 (ADR)
description: 아키텍처 결정 사항을 표준 ADR 형식으로 문서화합니다.
icon: \uE82D
allowed-tools:
  - file_read
  - file_write
  - folder_map
  - grep
  - search_codebase
tabs: code
---

아키텍처 결정 사항을 ADR(Architecture Decision Record) 형식으로 문서화하세요.

## ADR이란?
소프트웨어 아키텍처에서 내린 중요한 결정의 배경, 대안, 근거를 기록하는 경량 문서입니다.
미래의 팀원이 "왜 이렇게 결정했는지"를 이해할 수 있게 합니다.

## 워크플로우

1. **결정 사항 확인**: 사용자에게 다음을 파악
   - 어떤 결정을 내렸는가 (또는 내려야 하는가)
   - 관련 코드/시스템 영역
   - 고려한 대안들
2. **코드 분석** (선택): 관련 코드 구조를 읽어 현재 상태 파악
3. **ADR 작성**: 표준 형식으로 문서 생성
4. **파일 저장**: `docs/adr/` 폴더에 번호 형식으로 저장

## ADR 표준 형식

```markdown
# ADR-[번호]: [결정 제목]

**상태**: 제안됨 | 승인됨 | 폐기됨 | 대체됨
**날짜**: YYYY-MM-DD
**결정자**: [이름/팀]

## 맥락 (Context)
어떤 상황에서 이 결정이 필요한가?
- 기술적 배경
- 비즈니스 요구사항
- 제약 조건

## 결정 (Decision)
무엇을 결정했는가?
- 선택한 방안의 구체적 내용
- 적용 범위

## 대안 (Alternatives)

### 대안 1: [이름]
- 장점: ...
- 단점: ...
- 비용/복잡도: ...

### 대안 2: [이름]
- 장점: ...
- 단점: ...
- 비용/복잡도: ...

## 근거 (Rationale)
왜 이 결정을 선택했는가?
- 대안 대비 장점
- 트레이드오프 분석
- 참고 자료/벤치마크

## 결과 (Consequences)

### 긍정적
- ...

### 부정적
- ...

### 리스크
- ...

## 관련 문서
- ADR-[관련번호]: [제목]
- [외부 참고 링크]
```

## 파일 명명 규칙
- 위치: `docs/adr/` (없으면 생성)
- 파일명: `ADR-NNNN-제목-요약.md` (예: `ADR-0001-데이터베이스-선택.md`)
- 번호: 기존 ADR 파일 조회 후 자동 부여

## 규칙
- 결정의 "왜"를 중심으로 작성 (코드를 읽으면 "무엇"은 알 수 있음)
- 대안은 최소 2개 이상 제시
- 트레이드오프를 솔직하게 기록 (완벽한 선택은 없음)
- 짧고 명확하게 (1~2페이지 이내)
- 한국어로 작성
