Bloc 상태관리 규칙
Flutter의 bloc/flutter_bloc으로 Cubit·Bloc을 설계·구현·테스트하는 표준 규칙집.
개발·코딩중급★ 617⑂ 59AI 점수 9/10마지막 업데이트: 2026. 8. 21.
무엇을 해주나
Cubit과Bloc중 무엇을 쓸지 판단 기준(단순 상태 → Cubit, 이벤트 추적·디바운스 필요 → Bloc)을 제시합니다.- 이벤트는 과거형, 상태는 명사형 등 네이밍 규칙과
sealed class방식 vsstatus enum단일 클래스 방식의 선택 기준을 알려줍니다. Equatable/@immutable/copyWith기반 상태 모델링,BlocProvider·BlocBuilder·BlocListener·BlocSelector사용처 표, 3계층 아키텍처(Presentation → Bloc → Repository → DataProvider) 경계 규칙을 정리합니다.bloc_test+mocktail로 단위 테스트를 작성하는 템플릿과 자주 하는 실수(동일 상태 재emit, props 누락, 위젯 내 비즈니스 로직) 교정법을 제공합니다.
이런 분께 추천
- bloc 패턴으로 Flutter 앱을 개발하는 개인·팀 개발자
- 코드 리뷰 기준이나 팀 컨벤션을 통일하고 싶은 리드 개발자
- Claude Code에게 일관된 스타일의 Cubit/Bloc 코드를 생성시키고 싶은 분
활용 예시
- "로그인 기능용 Cubit을 만들어줘" → status enum 기반 상태 클래스 +
copyWith+ 로딩/성공/실패 emit 흐름까지 관례에 맞게 생성. - "이 화면의 setState 로직을 bloc으로 리팩터링해줘" → 비즈니스 로직을 Cubit으로 분리하고 UI는
BlocBuilder/BlocListener로 재구성. - "LoginCubit 테스트 작성해줘" →
blocTest로 성공/예외 두 케이스의 emit 시퀀스를 검증하는 테스트 코드 생성.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/evanca/flutter-ai-rules/HEAD/skills/bloc/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 evanca/flutter-ai-rules 의 skills/bloc 폴더를 내 ~/.claude/skills/bloc/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/evanca/flutter-ai-rules.git && mkdir -p ~/.claude/skills && cp -r flutter-ai-rules/skills/bloc ~/.claude/skills/bloc⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 저장소를 내려받습니다:
git clone https://github.com/evanca/flutter-ai-rules.git - 스킬 폴더가 없으면 만듭니다:
mkdir -p ~/.claude/skills - bloc 스킬만 복사합니다:
cp -r flutter-ai-rules/skills/bloc ~/.claude/skills/bloc ~/.claude/skills/bloc/SKILL.md파일이 있는지 확인합니다.- Claude Code를 재시작하고, Flutter 프로젝트에서 "Cubit 만들어줘" 같은 요청을 하면 스킬이 자동 적용됩니다.
- 프로젝트의
pubspec.yaml에flutter_bloc,equatable, (테스트용)bloc_test,mocktail이 추가되어 있어야 예시 코드가 그대로 동작합니다.
GitHub에서 원본 보기 ↗라이선스: MIT