Files
ttipo 6306160dda refactor: .claude 규칙 체계를 skills·rules 구조로 재편
- 슬래시 커맨드(nestjs/vue3/flutter)를 정식 스킬(.claude/skills)로 전환하고
  docker 스킬을 신설(루트 command.md 이관)
- 공통 규칙을 .claude/rules 로 모듈화(coding-common·response-format·error-codes·
  git-convention·security·env-structure·testing·checklist)하고 CLAUDE.md 에서 @import
- 파일·식별자 네이밍 규약, 테스트 규칙 추가
- .claude/settings.json(권한·환경) 추가
- CLAUDE.md·README.md 참조 갱신, 단독 실행(non-Docker) 안내 정리

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 13:58:01 +09:00

1.5 KiB

name, description
name description
coding-common 세 클라이언트(backend/frontend/flutter) 공통 코딩 규칙 — 주석 언어, 타입 정책, 린트, 순수 유틸 분리, 절대경로 alias.

공통 코딩 규칙

  • 모든 코드 주석은 한국어로 작성
  • 웹(frontend)·서버(backend)는 100% TypeScript, 모바일(flutter)은 Dart Sound Null Safety 준수
  • 컴파일러/린터 Warning 방치 금지 — 커밋 전 각 프로젝트 lint / analyze 통과
  • 유틸 함수는 순수 함수로 분리 — TS는 shared/utils/, Dart는 core/utils/
  • 매직 넘버·하드코딩 문자열 지양 → 상수 또는 환경변수로 분리
  • 절대경로 alias 사용 (TS @/, Dart package:), 깊은 상대경로(../../) 지양

네이밍 규약

대상 규칙
TS 파일(일반) kebab-case user.store.ts, use-api.ts / 기존 composable 은 useApi.ts 형태 유지
Vue 컴포넌트 파일 PascalCase BaseButton.vue, UserCard.vue
Dart 파일·디렉터리 snake_case dio_client.dart, user_repository.dart
클래스/타입 PascalCase UserModel, TransformInterceptor
변수/함수 camelCase (Dart 포함) getUser, isLoggedIn
상수 TS UPPER_SNAKE 또는 모듈 상수, Dart lowerCamel MAX_RETRY, defaultTimeout
에러 코드 DOMAIN_NNN AUTH_001, VAL_001 (error-codes)

도메인별 세부 규칙: nestjs · vue3 · flutter · 테스트: testing