- V-Ref μ λ° κ³΅ν΅ κ·μΉΒ·μλνΒ·SSOT(Single Source of Truth) κ΄λ¦¬ μ μ₯μ
- λͺ¨λ λ ν¬λ μ΄ μ μ₯μ μ μλ₯Ό κΈ°μ€μΌλ‘ μλν μν¬νλ‘λ₯Ό ν΅ν΄ μΌκ΄μ± μ μ§
- μ΄μ/PR ν νλ¦Ώ νμ€ν λ° μ€μ κ΄λ¦¬
- λΌλ²¨ μΈνΈ λ¨μΌ μμ² κ΄λ¦¬ λ° μλ λκΈ°ν
- κ³΅ν΅ μν¬νλ‘ μ 곡 (λΌλ²¨ sync, Org Project λ±λ‘ λ±)
- λ ν¬ μ±κ²©λ³ νλ‘νμΌλ§(fe/be/infra) κΈ°λ° νμ₯ μ§μ
- μμΉ:
.github/ISSUE_TEMPLATE/*.yml - 9μ’ κΈ°λ³Έ μ 곡: Task, Docs, Feature, Refactor, Test, Chore, Bug, Fix, Idea
- μμΉ:
.github/PULL_REQUEST_TEMPLATE.md - κ³΅ν΅ μ²΄ν¬λ¦¬μ€νΈ ν¬ν¨ (AC μΆ©μ‘±, ν μ€νΈ ν΅κ³Ό, Docs/ADR λ°μ λ±)
- SSOT:
repo_setup/labels.json - λκΈ°ν:
repo_setup/sync-labels.shμ€ν λλ Actions μν¬νλ‘ νμ©
-
μμΉ:
.github/workflows/ -
μμ:
labels-sync-per-repo.yml: λΌλ²¨ μλ λκΈ°νadd-to-project.yml: Org Project μλ λ±λ‘notion-sync-sample.yml: Notion DB μ°λ μν
profiles/base: λͺ¨λ λ ν¬ κ³΅ν΅ κ·μΉprofiles/fe|be|infra: λ ν¬ μ±κ²©λ³ κ·μΉmapping/targets.yaml: λ ν¬ β νλ‘νμΌ λ§€ν
config/
βββ .github/
β βββ ISSUE_TEMPLATE/ # μ΄μ ν
νλ¦Ώ
β βββ PULL_REQUEST_TEMPLATE.md
β βββ workflows/ # κ³΅ν΅ μν¬νλ‘
βββ repo_setup/
β βββ labels.json # λΌλ²¨ SSOT
β βββ sync-labels.sh # λΌλ²¨ λκΈ°ν μ€ν¬λ¦½νΈ
βββ profiles/ # (μμ ) νλ‘νμΌλ³ κ·μΉ
β βββ base/
β βββ fe/
β βββ be/
β βββ infra/
βββ mapping/
β βββ targets.yaml # λ ν¬ β νλ‘νμΌ λ§€ν
βββ .editorconfig
βββ .gitignore
βββ commitlint.config.js
βββ README.md
- νλ‘νμΌ λΆλ¦¬(fe/be/infra) 본격 λμ
- Org λ¨μ Notion/Project/Milestone μ€μΌμ€νΈλ μ΄μ νμ₯
- CI μ¬μ¬μ© μν¬νλ‘(Gradle, Vite, Terraform λ±) 곡ν΅ν
- SSOT μ€μ¬: μ μ(config), μ€ν(κ° λ ν¬)
- μλν μ°μ : μλ κ΄λ¦¬ μ΅μν
- μ μ§μ νμ₯: Day0μ μ΅μ λ²μ β λ¨κ³μ κ³ λν