Flutter 아키텍처 — 기능 우선(Feature-First)
Flutter 앱을 UI/도메인/데이터 레이어와 기능 우선 폴더 구조로 설계하도록 Claude를 안내하는 스킬.
개발·코딩중급★ 644⑂ 67AI 점수 9/10마지막 업데이트: 2026. 9. 14.
무엇을 해주나
- Flutter 공식 권장 아키텍처(UI 레이어 / 선택적 로직 레이어 / 데이터 레이어)의 경계와 통신 규칙을 강제합니다. 예: UI는 Service에 직접 접근 금지, 데이터 변경은 Repository(SSOT)에서만.
- 타입별(type-first)이 아닌 기능별(feature-first) 폴더 구조 샘플을 제시합니다.
lib/features/<기능>/data|domain|ui, 공통 코드는core/,shared/로 분리. - 상태관리 도구에 중립적입니다. ChangeNotifier(ViewModel), Bloc/Cubit, Provider/Riverpod(Notifier) 등 어떤 방식을 쓰든 파일 네이밍 규칙 표를 제공합니다.
- View / 비즈니스 로직 홀더 / Repository / Service 각각의 책임과 예제 Dart 코드,
get_it기반 DI 등록 예시를 포함합니다. - 새 기능 추가를 7단계 워크플로(디렉터리 생성 → Service → Repository → ViewModel → View → DI 등록 → 단방향 데이터 흐름 검증)로 안내합니다.
이런 분께 추천
- 새 Flutter 프로젝트를 시작하며 처음부터 확장 가능한 구조를 잡고 싶은 개발자
- 화면 파일이 뒤엉킨 기존 앱을 기능 단위로 리팩터링하려는 팀
- 팀 내 아키텍처 컨벤션을 AI 코딩 도구와 공유해 일관성을 유지하고 싶은 리드 개발자
활용 예시
- "로그인 기능을 추가해줘" →
features/auth/아래auth_api_service.dart,auth_repository.dart,auth_viewmodel.dart,login_screen.dart를 규칙에 맞게 생성하고 서비스 로케이터에 등록. - "이 캐싱 로직은 어디에 둬야 해?" → Repository가 SSOT이므로 캐싱·에러 처리·리프레시는 Repository 담당이라고 판정.
- "여러 화면에서 쓰이는 복잡한 계산 로직이 생겼어" →
domain/레이어에 Use Case를 도입할 조건에 해당하는지 판단하고 파일 위치를 제안.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/evanca/flutter-ai-rules/HEAD/skills/architecture-feature-first/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 evanca/flutter-ai-rules 의 skills/architecture-feature-first 폴더를 내 ~/.claude/skills/architecture-feature-first/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/evanca/flutter-ai-rules.git && mkdir -p ~/.claude/skills && cp -r flutter-ai-rules/skills/architecture-feature-first ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 홈 디렉터리로 이동합니다:
cd ~ - 스킬 저장소를 클론합니다:
git clone https://github.com/evanca/flutter-ai-rules.git - Claude 스킬 폴더를 준비합니다:
mkdir -p ~/.claude/skills - 이 스킬만 복사합니다:
cp -r flutter-ai-rules/skills/architecture-feature-first ~/.claude/skills/ - 설치 확인:
ls ~/.claude/skills/architecture-feature-first에서SKILL.md가 보이면 성공입니다. - Claude Code를 재시작하고 Flutter 프로젝트에서 "새 기능 폴더 구조를 만들어줘"처럼 요청하면 스킬이 자동 발동합니다.
GitHub에서 원본 보기 ↗라이선스: MIT