fullstack-coding-standardslisted
Install: claude install-skill Dannykkh/skill-olympus
# Fullstack Coding Standards - 통합 패키지
## 포함 파일
```
fullstack-coding-standards/
├── SKILL.md # 이 파일 (상세 코드 예시)
├── agents/ # 패시브 에이전트 (항상 로드)
│ └── fullstack-coding-standards.md # 코딩 표준 규칙
└── templates/ # 코드 템플릿
```
---
패시브 에이전트(`agents/fullstack-coding-standards.md`)의 규칙에 대한 **상세 코드 예시**를 제공합니다.
---
## 프론트엔드 코드 예시
### apiClient.ts (fetch 래퍼)
```typescript
// src/lib/apiClient.ts
const API_BASE_URL = import.meta.env.VITE_API_URL || '/api';
class ApiClient {
private baseUrl: string;
constructor(baseUrl: string) {
this.baseUrl = baseUrl;
}
private async request<T>(endpoint: string, options?: RequestInit): Promise<T> {
const url = `${this.baseUrl}${endpoint}`;
const response = await fetch(url, {
headers: {
'Content-Type': 'application/json',
...this.getAuthHeaders(),
},
...options,
});
if (!response.ok) {
if (response.status === 401) {
window.location.href = '/login';
throw new ApiError(401, 'Unauthorized');
}
throw new ApiError(response.status, await response.text());
}
return response.json();
}
private getAuthHeaders(): Record<string, string> {
const token = localStorage.getItem('accessToken');
return token ? { Authorization: `Bearer ${token}` } : {};
}
get<T>(endpoint: string) { return this.request<T>(endpoint); }
post<T>(endpoint: string, data: unknown) {
return this.request<T>