adr-loglisted
Install: claude install-skill aiskillstore/marketplace
# ADR (Architecture Decision Records)
아키텍처 결정을 문서화하여 "왜 그렇게 했는지"를 기록하는 스킬입니다.
## Core Principle
> **"결정의 '무엇'보다 '왜'가 중요하다."**
> **"6개월 후의 나도 알아볼 수 있게 기록한다."**
## ADR이 필요한 경우
| 상황 | 예시 |
|------|------|
| 기술 선택 | React vs Vue, PostgreSQL vs MongoDB |
| 아키텍처 패턴 | Monolith vs Microservices |
| 의존성 추가 | 새 라이브러리 도입 |
| 보안 결정 | 인증 방식 선택 |
| 성능 트레이드오프 | 캐싱 전략 결정 |
| 표준 변경 | 코딩 컨벤션 변경 |
## ADR 폴더 구조
```
docs/
└── adr/
├── 0000-adr-template.md
├── 0001-use-nextjs-app-router.md
├── 0002-choose-postgresql-over-mongodb.md
├── 0003-implement-jwt-authentication.md
└── README.md
```
## ADR 템플릿
### `docs/adr/0000-adr-template.md`
```markdown
# [번호]. [결정 제목]
날짜: YYYY-MM-DD
## 상태
[Proposed | Accepted | Deprecated | Superseded by ADR-XXXX]
## 컨텍스트
이 결정이 필요한 배경/문제 상황을 설명합니다.
- 현재 상황은 무엇인가?
- 어떤 문제를 해결하려 하는가?
- 어떤 제약 조건이 있는가?
## 결정
우리는 [X]를 선택했다.
### 고려한 대안들
1. **대안 A**: [설명]
- 장점: ...
- 단점: ...
2. **대안 B**: [설명]
- 장점: ...
- 단점: ...
3. **선택: 대안 C**: [설명]
- 장점: ...
- 단점: ...
## 결과
### 긍정적 영향
- ...
### 부정적 영향
- ...
### 리스크
- ...
## 참고 자료
- [링크1]
- [링크2]
```
## 실제 ADR 예시
### `docs/adr/0001-use-nextjs-app-router.md`
```markdown
# 1. Next.js App Router 사용
날짜: 2024-01-15
## 상태
Accepted
## 컨텍스트
새 프로젝트의 프론트엔드 프레임워크를 선택해야 한다.
요구사항:
- SEO 최적화 필요 (마케팅 페이지)
- 빠른 초기 로딩
- 팀의 React 경험 활용
- 서버 사이드 데이터 페칭
## 결정
**Next.js 14 App Router**를 선택한다.
### 고려한 대안들
1. **Next.js Pages Router**
- 장점: 안정적, 레퍼런스 많음
- 단점: 레거시화 진행 중, 새 기능 제한적
2