🌿 브랜치 유형
setting
🌳 브랜치에 포함될 작업 내용
project-structure
📌 상세 설명
팀에서 합의한 Feature-first 기반 폴더 구조를 프로젝트에 반영합니다.
Expo Router의 라우트 파일과 실제 화면 컴포넌트의 책임을 분리하고, 기능별 코드를 features에서 관리하도록 구조를 정비합니다.
적용할 구조 원칙
- Expo Router의
app 폴더에는 route와 layout만 배치합니다.
- 실제 화면과 기능별 UI는
features/<feature>/components에서 관리합니다.
- 별도의
screens 폴더는 사용하지 않습니다.
- route와 연결되는 화면 컴포넌트는
*Screen.tsx 접미사로 구분합니다.
- 공통 UI는
components/common, 아이콘은 components/icons에서 관리합니다.
- 개인 과제와 팀 과제의 상세 화면 및 라우트를 분리합니다.
- 과제 수정 화면은 개인/팀 공통으로 관리합니다.
- 서버 상태와 전역 클라이언트 상태의 책임을 구분합니다.
- 구현할 파일이 없는 빈 feature 폴더는 미리 생성하지 않습니다.
과제 라우팅 원칙
- 개인 과제 상세:
/tasks/personal/[taskId]
- 팀 과제 상세:
/tasks/team/[taskId]
- 공통 과제 수정:
/tasks/[taskId]/edit
- 과제 생성:
/tasks/create
문서 및 리뷰 설정
AGENTS.md의 기존 폴더 구조와 컨벤션을 합의된 구조로 수정합니다.
.coderabbit.yaml의 경로별 리뷰 지침을 새로운 폴더 구조에 맞게 수정합니다.
- route, feature component, 공통 component, store, API 코드의 책임을 명시합니다.
- 기존 경로를 참조하는 alias, NativeWind, Storybook 설정을 함께 점검합니다.
제외 범위
- 실제 인증/과제/알림 화면 구현
- API 및 소켓 연동
- 기존 컴포넌트의 동작 변경
- 필요하지 않은 공통화 또는 리팩토링
✅ 작업한 내용
🌿 브랜치 유형
setting
🌳 브랜치에 포함될 작업 내용
project-structure
📌 상세 설명
팀에서 합의한 Feature-first 기반 폴더 구조를 프로젝트에 반영합니다.
Expo Router의 라우트 파일과 실제 화면 컴포넌트의 책임을 분리하고, 기능별 코드를
features에서 관리하도록 구조를 정비합니다.적용할 구조 원칙
app폴더에는 route와 layout만 배치합니다.features/<feature>/components에서 관리합니다.screens폴더는 사용하지 않습니다.*Screen.tsx접미사로 구분합니다.components/common, 아이콘은components/icons에서 관리합니다.과제 라우팅 원칙
/tasks/personal/[taskId]/tasks/team/[taskId]/tasks/[taskId]/edit/tasks/create문서 및 리뷰 설정
AGENTS.md의 기존 폴더 구조와 컨벤션을 합의된 구조로 수정합니다..coderabbit.yaml의 경로별 리뷰 지침을 새로운 폴더 구조에 맞게 수정합니다.제외 범위
✅ 작업한 내용
AGENTS.md에 반영features/<feature>/components에 배치하는 규칙 추가*Screen.tsx화면 컴포넌트 네이밍 규칙 추가/tasks/[taskId]/edit로 정의.coderabbit.yaml의 path instruction을 새 구조에 맞게 수정