콘텐츠로 이동

ADR-0003 — 대칭 Monorepo 구조 전환

Context

  • ADR-0001 에서 "백엔드 무수정" 원칙을 위해 비대칭 구조(백엔드 = 루트, 프론트 = mvp-front/)를 채택했음
  • 사용자가 폴더 시각적 일관성을 우선해 대칭 구조로 전환 요청
  • 백엔드 앱 파일 이동(git mv) + 워크플로 working-directory 보정이 강제됨

Decision

  1. 백엔드 앱 파일을 mvp-back/ 서브디렉토리로 git mv:
  2. src/, build.gradle, Dockerfile, docs/, scripts/, config/, gradle/, gradlew, gradlew.bat, settings.gradle, CLAUDE.md, README.md, appspec.yml, FLYWAY.mdmvp-back/
  3. 루트 유지: .github/workflows/, .gitignore, .gitattributes, .mcp.json, .claude/, CLAUDE.md (구 AGENTS.md, 2026-05-20 rename), raw/, wiki/
  4. 워크플로 보정 (필수 최소):
  5. deploy.yml deploy-dev/deploy-prod 두 job에 defaults.run.working-directory: mvp-back 추가
  6. test-and-check.yml test job에 동일 추가, upload-artifact pathmvp-back/build/reports/...
  7. paths 필터는 일단 추가하지 않음 (현재도 develop/main PR closure 시점에만 트리거되어 영향 미미)

Consequences

긍정: - 폴더 시각적 일관성: mvp-back/, mvp-front/ 좌우 대칭 - 모바일/admin 추가 시 일관된 패턴 - wiki/domains/*.md[mvp-back:application/service/member](../teams/engineering/domains/member.md) 표기와 일치

부정: - 백엔드 워크플로에 working-directory 3줄 추가 (본문 step은 무수정) - mvp-back/.gradle/, mvp-back/build/ 같은 새 build artifact 위치 — gitignore의 .gradle / build/ 패턴은 그대로 매칭

Alternatives

  • 비대칭 유지 (ADR-0001): 백엔드 무수정 100% 가능하나 시각적 비대칭 마찰 ↑
  • 대칭 + paths 필터까지 추가: 다음 라운드로 미룸 (이번 PR에선 워크플로 최소 변경만)

Status

  • 2026-05-19: accepted

Date

2026-05-19