# Best Practices

> 기술별 베스트 프랙티스를 적용합니다. 검증된 패턴과 방법론을 사용합니다.

- Skill: `wondermove-inc/best-practices` (Agent Skill, multi-file: 149 files)
- Install (CLI): `npx skillmds add wondermove-inc/best-practices`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wondermove-inc/best-practices/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Wondermove-Inc (https://skillmd.com/u/wondermove-inc)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/wondermove-inc/best-practices

---


# Best Practices Skill

## 목적

각 기술에 대해 검증된 베스트 프랙티스와 디자인 패턴을 적용하여
일관되고 유지보수 가능한 코드를 생성합니다.

## 기술별 레퍼런스 파일

| 기술 | 레퍼런스 파일 |
|------|-------------|
| Python | `references/python/python.md` |
| Go | `references/go/go.md` |
| Rust | `references/rust/rust.md` |
| Java | `references/java/java.md` |
| React | `references/react/react.md` |
| Next.js | `references/nextjs/nextjs.md` |
| Node.js | `references/nodejs/nodejs.md` |
| TypeScript | `references/typescript/typescript.md` |
| Tailwind | `references/tailwind/tailwind.md` |
| Testing | `references/testing/testing.md` |
| API Design | `references/api/api-design.md` |
| Database | `references/database/database.md` |

## 베스트 프랙티스 적용 프로토콜

### 2. 베스트 프랙티스 로드 (필수)

```
references/{language}/{technology}.md 읽기
→ 패턴, 규칙, 예시 코드 확인
→ 금지 사항 확인
→ 체크리스트 확인
```

### 3. 코드 생성 시 적용

- **파일 구조**: 해당 기술의 권장 구조 사용
- **네이밍**: 기술별 컨벤션 적용
- **패턴**: 검증된 디자인 패턴 사용
- **에러 처리**: 표준 에러 처리 패턴 적용
- **테스트**: 기술별 테스트 패턴 적용
- **금지 사항**: 각 파일의 "금지 사항" 섹션 반드시 준수

## 지원 기술 (12개)

| 기술 | 파일 | 주요 내용 |
|------|------|----------|
| **Python** | `python.md` | Type Hints, Pydantic, FastAPI, pytest |
| **Go** | `go.md` | Error Handling, Context, Concurrency |
| **Rust** | `rust.md` | Ownership, Result/Option, thiserror, Axum |
| **Java** | `java.md` | Hexagonal Architecture, Spring Boot, JPA |
| **React** | `react.md` | 컴포넌트 패턴, 훅, 상태 관리 |
| **Next.js** | `nextjs.md` | App Router, 서버 컴포넌트, 데이터 페칭 |
| **Node.js** | `nodejs.md` | 레이어 아키텍처, 에러 처리, 로깅 |
| **TypeScript** | `typescript.md` | 타입 패턴, 제네릭, 유틸리티 타입 |
| **Tailwind CSS** | `tailwind.md` | 유틸리티 클래스, 반응형, CVA |
| **Database** | `database.md` | 스키마 설계, 쿼리 최적화, 마이그레이션 |
| **API Design** | `api-design.md` | REST/GraphQL, 버저닝, 에러 응답 |
| **Testing** | `testing.md` | TDD, 단위/통합/E2E 테스트 패턴 |

## 출력 형식

### 코드 생성 전 확인 (Silent Mode)

> 사용자에게 매번 알림을 보내지 않고 **자동 적용**합니다.
> 단, 적용한 패턴을 코드 주석이나 응답 말미에 간략히 언급합니다.

```
// Applied: python.md (Type Hints, Pydantic)
// Applied: react.md + tailwind.md (Function Components, CVA)
```

### 코드 생성 체크리스트

코드 생성 시 다음을 확인:

- [ ] 해당 기술의 베스트 프랙티스 파일 로드 완료
- [ ] 해당 기술의 권장 디렉토리 구조 사용
- [ ] 파일당 500줄 이하
- [ ] 모든 함수에 주석 (JSDoc/Docstring)
- [ ] 해당 기술의 네이밍 컨벤션 적용
- [ ] 에러 처리 패턴 적용
- [ ] 타입 정의 완전성
- [ ] **금지 사항 미적용 확인**

## 🚨 Anthropic 공식 가이드라인 (필수 적용)

> 출처: docs.anthropic.com, console.anthropic.com

### 코드 작업 전 필수 행동

```
1. 관련 파일 먼저 읽고 이해 (추측 금지)
2. 코드베이스의 스타일, 컨벤션, 추상화 파악
3. 충분한 컨텍스트 확보 후 답변/수정 제안
```

### 할루시네이션 방지 규칙

- **열어보지 않은 파일 추측 금지**
- **사용자가 언급한 파일 반드시 먼저 읽기**
- **확실하지 않으면 "확인 필요" 인정**
- **근거 없는 주장 절대 금지**

**상세 가이드**: `references/common/anthropic-official.md`

## 참조 파일

### 폴더 구조 (스킬 내부 - 언어별 분류)

```
skills/best-practices/references/
├── _sections.md    # 전체 섹션 정의
├── _template.md    # 새 규칙 템플릿
├── typescript/     # 27개 (통합 + 세부 규칙)
├── react/          # 44개 (통합 + 세부 규칙)
├── python/         # 20개 (통합 + 세부 규칙)
├── go/             # 21개 (통합 + 세부 규칙)
├── rust/           # 21개 (통합 + 세부 규칙)
└── common/         # 12개 (공통 가이드)
```

### 참조 예시 (스킬 내부 경로)

```bash
# 전체 구조 확인
Read references/_sections.md

# 언어별 통합 가이드
Read references/typescript/typescript.md
Read references/react/react.md

# 기술별 인덱스
Read references/react/react-index.md
Read references/typescript/ts-index.md

# 세부 규칙
Read references/react/react-async-defer-await.md
Read references/typescript/ts-error-result-pattern.md

# 공통 가이드
Read references/common/api-design.md
Read references/common/security.md
```

