Skip to content

docs: TEAM MATEBALL 개발 관련 문서 사이트 배포#216

Merged
heesunee merged 19 commits intodevelopfrom
docs/#214/vitepress
Jul 17, 2025
Merged

docs: TEAM MATEBALL 개발 관련 문서 사이트 배포#216
heesunee merged 19 commits intodevelopfrom
docs/#214/vitepress

Conversation

@heesunee
Copy link
Contributor

@heesunee heesunee commented Jul 16, 2025

#️⃣ Related Issue

Closes #214

☀️ New-insight

메잇볼 팀 개발 문서 사이트 보러가기

  • 개인적으로 기술 스택 선정이유나, 컨벤션 같은 정보들이 README에 불분명하게 정리가 안된상태로 올라가 있는걸 선호하지 않았는데, 별도의 사이트로 분리하니까 훨씬 좋은 것 같아요!
  • VitePress는 빠르고 간결한 문서화 도구로, GitHub Pages와 연동하면 복잡한 서버 설정 없이도 손쉽게 배포할 수 있다.
  • 루트에 docs 폴더를 추가해 저희 팀의 기술 선정이유, git 전략, 코딩 컨벤션 등의 관한 md 파일을 넣어두었어요. 앱잼 회고를 진행하면서 각자 자기가 진행했던 트러블 슈팅 파일만 추가되면 깔끔할 것 같습니다!
  • 저희 레포 settings 내 github pages를 이용했더니 빠른 배포 가능했어요 ㅎㅎ

💎 PR Point

image

Summary by CodeRabbit

  • New Features

    • 메잇볼 클라이언트 팀의 개발 문서 사이트가 추가되었습니다. (기술 스택, 폴더 구조, Git 전략, 코딩 및 네이밍 규칙, 트러블슈팅 등)
    • 문서 사이트는 자동으로 GitHub Pages에 배포됩니다.
  • Documentation

    • 폴더 구조, 코딩 컨벤션, 네이밍 규칙, Git 전략, 기술 스택 선정 이유 등 팀 개발 표준 문서가 추가되었습니다.
    • 문서 홈, 트러블슈팅, 각종 가이드 문서가 포함되었습니다.
  • Chores

    • 문서 전용 패키지 및 워크스페이스 설정이 추가되었습니다.
    • VitePress 및 관련 의존성, 빌드/배포 자동화 설정이 도입되었습니다.
    • .gitignore 및 Biome 설정이 문서 관련 폴더를 반영하도록 업데이트되었습니다.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jul 16, 2025

Deploying mateball-client with  Cloudflare Pages  Cloudflare Pages

Latest commit: ba96ade
Status: ✅  Deploy successful!
Preview URL: https://5674a1d2.mateball-client.pages.dev
Branch Preview URL: https://docs--214-vitepress.mateball-client.pages.dev

View logs

@github-actions
Copy link

MATEBALL-STORYBOOK
⚾ Storybook 배포가 완료되었습니다!

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

♻️ Duplicate comments (1)
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js (1)

1-20: 동일하게 캐시 파일 커밋 금지

위와 같은 이유로 본 파일도 제거 대상입니다.
대용량 캐시를 버전 관리하면 리포지토리 크기만 불필요하게 증가합니다.

🧹 Nitpick comments (14)
package.json (1)

40-80: 루트 devDependenciesvitepress를 두 번 선언할 필요가 없습니다

docs/package.json 에 이미 같은 버전의 vitepress가 존재합니다. 루트에도 추가하면 pnpm 설치 시간이 늘고, workspace 충돌 위험만 커집니다.

-    "vitepress": "^1.6.3",

방법

  1. 루트에서 삭제하고 docs/ 쪽만 유지하거나
  2. workspacesdocs를 포함해 중복 선언을 방지합니다.
    둘 중 하나를 선택해 정리해주세요.
docs/trouble.md (1)

1-5: 문서 초안 표시(front-matter) 추가를 고려해주세요

VitePress에서는 WIP 문서를 숨기거나 배너로 표시할 수 있습니다. 초기 단계임을 명시하면 독자가 혼란을 덜 겪습니다.

---
sidebar: false
editLink: false
---

# 트러블 슈팅
...
docs/package.json (1)

10-12: vitepressdependencies보다 devDependencies가 적합합니다

문서 사이트 빌드를 위한 도구이므로 런타임에 포함될 필요가 없습니다. 루트 레벨 혹은 docs 전용 워크스페이스에서 devDependencies로 이동하면 실제 애플리케이션 번들 크기와 설치 시간을 줄일 수 있습니다.

-  "dependencies": {
-    "vitepress": "^1.6.3"
-  }
+  "devDependencies": {
+    "vitepress": "^1.6.3"
+  }
docs/.vitepress/config.ts (1)

6-6: 오타: troubleshootigtroubleshooting

문서 사이트 설명에 오타가 있습니다.

-  description: 'mateball client convention & troubleshootig & docs',
+  description: 'mateball client convention & troubleshooting & docs',
docs/index.md (1)

5-7: 타이틀·태그라인에 이모지 남용 주의

홈 히어로에 이모지가 많으면 접근성 도구(스크린리더) 사용 시 불필요한 읽기 부담이 생길 수 있습니다. 핵심 이모지만 남기고 aria-label 속성으로 대체 텍스트를 제공하는 방안을 고려해 주세요.

.github/workflows/deploy.yml (2)

16-18: 동시성 세부 설정이 누락되어 중복 빌드가 발생할 수 있습니다.

cancel-in-progress: false 로 설정하면 브랜치에 연속 커밋이 올라올 때 모든 워크플로가 순차 실행됩니다.
문서 PR은 빈번히 수정-force-push 되는 경우가 많아, 이전 실행을 취소하도록 두는 편이 GH Actions 큐 적체를 방지합니다.

   concurrency:
     group: docs-deploy
-    cancel-in-progress: false
+    cancel-in-progress: true

24-33: 의존성 설치 단계 최적화 제안

pnpm/action-setup@v4run_install: true 옵션으로 자동 설치와 캐시 복원을 지원합니다.
별도 pnpm install 스텝을 줄이고, CI 시간을 절감할 수 있습니다.

-      - uses: pnpm/action-setup@v4
+      - uses: pnpm/action-setup@v4
+        with:
+          version: 8
+          run_install: true
 ...
-      - run: pnpm install --frozen-lockfile
docs/git.md (3)

64-70: 마크다운 수평선(HR) 문법 오류 수정

___ 대신 --- 를 사용하면 lint 오류(MD035)를 제거할 수 있습니다.

-___
+---

137-140: 코드 블록에 언어 지정 추가

언어 지정을 생략하면 렌더러와 linter(MD040)가 경고를 발생시킵니다.

-```
+```text
{type}: 커밋 메시지 (#이슈번호)
ex) feat: 로그인 기능 구현 (#23)

171-174: 두 번째 코드 블록도 동일한 이유로 언어 지정 필요

-```
+```text
{type}/#이슈번호/기능명
ex) feat/#23/login-page
docs/folder.md (1)

12-31: 코드 블록 언어 지정 및 탭 문자를 공백으로 변환하세요

  1. 언어를 명시하지 않아 lint 경고(MD040)가 발생합니다.
  2. 탭 문자는 MD010 경고와 함께 Git diff 에서 혼동을 줍니다.
-```
+```plaintext
-|-- 📁 pages
-	  |-- 📁 home
-		  |-- 📄ex) home.tsx
-		  |-- 📁 components
-		  |-- 📁 styles 등
+|-- 📁 pages
+  |-- 📁 home
+    |-- 📄ex) home.tsx
+    |-- 📁 components
+    |-- 📁 styles 등
docs/coding.md (2)

45-60: 목록 마커(*)를 -로 교체하여 Markdown Lint 경고(MD004) 제거
프로젝트 전반에 걸쳐 - 기호를 사용하고 있으므로 스타일을 통일하면 린트 경고를 없앨 수 있습니다.

-* 기본 템플릿은 `rafce` 사용 (React Arrow Function Component with Export)
-* 불필요한 wrapper는 ❌ → **Fragment (`<>`) 사용 권장**
+- 기본 템플릿은 `rafce` 사용 (React Arrow Function Component with Export)
+- 불필요한 wrapper는 ❌ → **Fragment (`<>`) 사용 권장**

111-118: axios 예시에서 반환값 또는 사용 처리를 명시하면 이해도가 높아집니다
res 변수만 선언되고 활용이 없어 헷갈릴 수 있습니다. 성공 케이스에 값을 리턴하거나 구조 분해 할당 예시를 추가해 주세요.

-    const res = await axios.get('/api/data');
+    const { data } = await axios.get('/api/data');
+    return data;
docs/stack.md (1)

16-24: alt text를 실제 의미가 담긴 대체 텍스트로 교체
접근성‧SEO 측면에서 이미지의 의미를 설명하는 alt 텍스트를 사용해 주세요.

-![alt text](image-2.png)
+![React와 TypeScript 로고](image-2.png)

같은 패턴의 image-6.png, image-4.png, image-3.png, image-5.png 도 동일하게 수정하는 것을 권장합니다.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4de696b and 7b6b99b.

⛔ Files ignored due to path filters (15)
  • docs/.vitepress/cache/deps/@theme_index.js.map is excluded by !**/*.map
  • docs/.vitepress/cache/deps/chunk-LLQE2CBJ.js.map is excluded by !**/*.map
  • docs/.vitepress/cache/deps/chunk-XQNPNIQJ.js.map is excluded by !**/*.map
  • docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map is excluded by !**/*.map
  • docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map is excluded by !**/*.map
  • docs/.vitepress/cache/deps/vue.js.map is excluded by !**/*.map
  • docs/image-1.png is excluded by !**/*.png
  • docs/image-2.png is excluded by !**/*.png
  • docs/image-3.png is excluded by !**/*.png
  • docs/image-4.png is excluded by !**/*.png
  • docs/image-5.png is excluded by !**/*.png
  • docs/image-6.png is excluded by !**/*.png
  • docs/image.png is excluded by !**/*.png
  • docs/public/favicon.svg is excluded by !**/*.svg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (18)
  • .github/workflows/deploy.yml (1 hunks)
  • .gitignore (1 hunks)
  • biome.json (1 hunks)
  • docs/.vitepress/cache/deps/@theme_index.js (1 hunks)
  • docs/.vitepress/cache/deps/_metadata.json (1 hunks)
  • docs/.vitepress/cache/deps/package.json (1 hunks)
  • docs/.vitepress/cache/deps/vitepress___@vueuse_core.js (1 hunks)
  • docs/.vitepress/cache/deps/vue.js (1 hunks)
  • docs/.vitepress/config.ts (1 hunks)
  • docs/coding.md (1 hunks)
  • docs/folder.md (1 hunks)
  • docs/git.md (1 hunks)
  • docs/index.md (1 hunks)
  • docs/naming.md (1 hunks)
  • docs/package.json (1 hunks)
  • docs/stack.md (1 hunks)
  • docs/trouble.md (1 hunks)
  • package.json (1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#84
File: src/shared/constants/icon-list.ts:28-31
Timestamp: 2025-07-08T20:08:47.311Z
Learning: heesunee는 PR #84에서 chip 관련 컴포넌트 작업을 하지 않으므로, 쿼리와 API 관련 코드에만 집중해서 리뷰해야 합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#78
File: src/pages/sign-up/utils/age-calculate.ts:1-4
Timestamp: 2025-07-09T09:08:46.371Z
Learning: heesunee는 나이 계산 시 한국식 나이 시스템을 사용하므로, 정확한 생일 기반 계산보다는 출생연도 기준의 간단한 계산 방식을 선호합니다.
.gitignore (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
docs/package.json (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
docs/index.md (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#7
File: src/shared/routes/Router.tsx:4-4
Timestamp: 2025-06-29T18:02:42.616Z
Learning: The Home component file in the MATEBALL-CLIENT project was renamed from Home.tsx to home.tsx, so the correct import path is '@pages/home/home'.
docs/.vitepress/config.ts (2)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#7
File: src/shared/routes/Router.tsx:4-4
Timestamp: 2025-06-29T18:02:42.616Z
Learning: The Home component file in the MATEBALL-CLIENT project was renamed from Home.tsx to home.tsx, so the correct import path is '@pages/home/home'.
docs/naming.md (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#94
File: src/pages/sign-up/sign-up.tsx:4-4
Timestamp: 2025-07-09T17:24:19.755Z
Learning: heesunee는 src/pages/sign-up/sign-up.tsx의 isNicknameStep 하드코딩된 값을 퍼널 패턴으로 카카오 통합과 함께 나중에 처리할 예정이므로, 이 부분에 대해 다시 언급하지 않아야 합니다.
🪛 markdownlint-cli2 (0.17.2)
docs/git.md

70-70: Horizontal rule style
Expected: ---; Actual: ___

(MD035, hr-style)


137-137: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


171-171: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs/folder.md

12-12: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


19-19: Hard tabs
Column: 1

(MD010, no-hard-tabs)


20-20: Hard tabs
Column: 1

(MD010, no-hard-tabs)


21-21: Hard tabs
Column: 1

(MD010, no-hard-tabs)


22-22: Hard tabs
Column: 1

(MD010, no-hard-tabs)

docs/coding.md

45-45: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


46-46: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


59-59: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


60-60: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


66-66: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


67-67: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


68-68: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


69-69: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


70-70: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


83-83: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


89-89: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


91-91: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


99-99: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


101-101: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


107-107: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


108-108: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


109-109: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)

🔇 Additional comments (3)
biome.json (1)

16-18: docs 디렉터리 제외 설정 👍

문서 파일을 Biome 검사 대상에서 분리한 결정이 타당해 보입니다.

docs/naming.md (1)

1-64: 문서 구조와 내용 모두 명확합니다

팀 내·외부 이해관계자가 빠르게 합의된 규칙을 파악할 수 있을 정도로 체계적으로 정리되어 있습니다. 👍

docs/.vitepress/cache/deps/vue.js (1)

1-344: 벤더-캐시 파일은 리뷰 범위에서 제외
VitePress가 생성한 캐시 파일이므로 기능적 리뷰 대상이 아닙니다.

@MATEBALL MATEBALL deleted a comment from coderabbitai bot Jul 16, 2025
@MATEBALL MATEBALL deleted a comment from coderabbitai bot Jul 16, 2025
@MATEBALL MATEBALL deleted a comment from coderabbitai bot Jul 16, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (14)
docs/trouble.md (1)

1-5: 프런트매터(title) 추가 및 TODO 표기 개선 제안

VitePress 는 페이지 메타데이터를 위해 YAML 프런트매터를 권장합니다. 향후 내용을 채울 때를 대비해 최소한의 템플릿을 미리 넣어두면 유지보수에 도움이 됩니다.

-# 트러블 슈팅
-
-- 쿠키 인증 관련 트러블
-
-- 추후 추가 예정입니다.
+---
+title: 트러블 슈팅
+description: 개발 과정에서 마주친 문제와 해결 방법을 기록합니다.
+---
+
+## 쿠키 인증 관련 트러블
+
+> (작성 예정)
docs/package.json (1)

1-14: 루트와 종속성‧스크립트 중복 발생

vitepress 의존성과 스크립트가 루트에도 존재하여 이중 관리 상태입니다. 워크스페이스 사용 여부를 결정한 뒤 한쪽으로 통합하는 것을 권장합니다.

또한 docs:build·docs:dev 같은 접두어가 패키지 내부에서는 중복 표현이므로 간단히 build, dev 등으로 선언해도 됩니다.

docs/.vitepress/config.ts (2)

6-7: 맞춤법 오타 수정 제안

troubleshootig에서 n이 빠졌습니다. 검색·SEO 품질과 가독성을 위해 정확한 철자를 사용해 주세요.

-  description: 'mateball client convention & troubleshootig & docs',
+  description: 'mateball client convention & troubleshooting & docs',

8-10: href 경로에 withBase 유틸리티 사용 고려

절대 경로(/MATEBALL-CLIENT/favicon.svg)를 직접 작성해도 동작하긴 하지만, base 값이 변경될 경우를 대비해 VitePress에서 제공하는 withBase 유틸리티를 사용하는 편이 더 안전합니다.
예)

-    ['link', { rel: 'icon', href: '/MATEBALL-CLIENT/favicon.svg' }],
+    [
+      'link',
+      {
+        rel: 'icon',
+        href: withBase('/favicon.svg'),
+      },
+    ],

단순 경로 하드코딩보다 유지보수성이 높아집니다.

docs/index.md (1)

5-7: 문서 소개 문구에서 불필요한 띄어쓰기 수정 제안

"⚾ MATEBALL CLIENT " 뒤 공백은 시각적으로 어색할 수 있습니다.

-  name: "⚾ MATEBALL CLIENT "
+  name: "⚾ MATEBALL CLIENT"
docs/naming.md (1)

51-53: 용어 통일: BIG_SNAKE_CASEUPPER_SNAKE_CASE 권장

일반적으로 상수 표기는 UPPER_SNAKE_CASE라는 명칭을 더 많이 사용합니다. 팀 내·외부 문서와 용어를 맞추면 혼란을 줄일 수 있습니다.

docs/folder.md (1)

68-75: Markdown 리스트 스타일 일관성

*- 혼용으로 markdownlint(MD004) 경고가 발생했습니다. 모든 리스트를 - 로統一하면 자동 포매터와 CI 경고를 줄일 수 있습니다.

docs/git.md (4)

3-7: HTML <aside> 태그 사용이 VitePress 기본 렌더링과 맞지 않을 수 있습니다
VitePress·GitHub Pages 둘 다 마크다운 확장(admonition 등)을 지원하지만, 순수 HTML 태그 <aside>는 테마별로 스타일이 달라지거나 무시될 가능성이 있습니다.
:::tip, :::warning 와 같은 VitePress Admonition 문법으로 교체하면 호환성과 가독성이 모두 좋아집니다.


70-70: 수평선 표준 표기(---)로 교체
___ 대신 --- 사용을 권고합니다. MarkdownLint (MD035) 경고 해결 및 일관성 유지 목적입니다.

-___
+---

137-141: 코드블록에 언어 지정 누락
커밋 메시지 예시는 실제 코드가 아니므로 textplain 언어 지정을 권장합니다. MarkdownLint (MD040) 해결용.

-```
+```text
 ...

171-174: 브랜치 네이밍 예시 코드블록도 언어 지정 필요
동일하게 text 지정으로 MD040 경고를 제거할 수 있습니다.

-```
+```text
{type}/#이슈번호/기능명
ex) feat/#23/login-page
docs/coding.md (2)

45-60: 글머리 기호(*) → 대시(-)로 통일 필요
문서 상단에서는 -를 사용하지만 해당 섹션은 *를 사용하고 있어 MarkdownLint (MD004) 경고가 발생합니다. 목록 스타일을 하나로 통일하면 규칙 준수 및 렌더링 일관성이 확보됩니다.

-* 기본 템플릿은 `rafce` 사용 (React Arrow Function Component with Export)
-* 불필요한 wrapper는 ❌ → **Fragment (`<>`) 사용 권장**
+ - 기본 템플릿은 `rafce` 사용 (React Arrow Function Component with Export)
+ - 불필요한 wrapper는 ❌ → **Fragment (`<>`) 사용 권장**

89-91: 불릿 스타일 일관성 유지
같은 이유로 * 대신 - 사용을 권장합니다. 프로젝트 전반 목록 스타일 가이드가 있다면 해당 가이드를 문서에도 명시해 주세요.

-* `for` 루프 대신 `map`, `forEach`, `filter` 사용
+ - `for` 루프 대신 `map`, `forEach`, `filter` 사용
docs/stack.md (1)

16-22: alt text 값은 구체적인 이미지 설명으로 대체하세요
접근성과 SEO 측면에서 ![alt text] 는 의미가 없습니다. 이미지가 전달하려는 핵심 정보를 간략히 서술해 주세요.

-![alt text](image-2.png)
+![React & TypeScript 로고](image-2.png)

같은 패턴의 이미지 전반에 적용을 권장합니다.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4de696b and f6b7b52.

⛔ Files ignored due to path filters (10)
  • docs/image-1.png is excluded by !**/*.png
  • docs/image-2.png is excluded by !**/*.png
  • docs/image-3.png is excluded by !**/*.png
  • docs/image-4.png is excluded by !**/*.png
  • docs/image-5.png is excluded by !**/*.png
  • docs/image-6.png is excluded by !**/*.png
  • docs/image.png is excluded by !**/*.png
  • docs/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • docs/public/favicon.svg is excluded by !**/*.svg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (13)
  • .github/workflows/deploy.yml (1 hunks)
  • .gitignore (1 hunks)
  • biome.json (1 hunks)
  • docs/.vitepress/config.ts (1 hunks)
  • docs/coding.md (1 hunks)
  • docs/folder.md (1 hunks)
  • docs/git.md (1 hunks)
  • docs/index.md (1 hunks)
  • docs/naming.md (1 hunks)
  • docs/package.json (1 hunks)
  • docs/stack.md (1 hunks)
  • docs/trouble.md (1 hunks)
  • package.json (1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#78
File: src/pages/sign-up/utils/age-calculate.ts:1-4
Timestamp: 2025-07-09T09:08:46.371Z
Learning: heesunee는 나이 계산 시 한국식 나이 시스템을 사용하므로, 정확한 생일 기반 계산보다는 출생연도 기준의 간단한 계산 방식을 선호합니다.
.gitignore (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
docs/package.json (2)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#7
File: src/shared/routes/Router.tsx:4-4
Timestamp: 2025-06-29T18:02:42.616Z
Learning: The Home component file in the MATEBALL-CLIENT project was renamed from Home.tsx to home.tsx, so the correct import path is '@pages/home/home'.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
docs/index.md (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#7
File: src/shared/routes/Router.tsx:4-4
Timestamp: 2025-06-29T18:02:42.616Z
Learning: The Home component file in the MATEBALL-CLIENT project was renamed from Home.tsx to home.tsx, so the correct import path is '@pages/home/home'.
docs/.vitepress/config.ts (2)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#7
File: src/shared/routes/Router.tsx:4-4
Timestamp: 2025-06-29T18:02:42.616Z
Learning: The Home component file in the MATEBALL-CLIENT project was renamed from Home.tsx to home.tsx, so the correct import path is '@pages/home/home'.
docs/naming.md (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#94
File: src/pages/sign-up/sign-up.tsx:4-4
Timestamp: 2025-07-09T17:24:19.755Z
Learning: heesunee는 src/pages/sign-up/sign-up.tsx의 isNicknameStep 하드코딩된 값을 퍼널 패턴으로 카카오 통합과 함께 나중에 처리할 예정이므로, 이 부분에 대해 다시 언급하지 않아야 합니다.
🪛 markdownlint-cli2 (0.17.2)
docs/folder.md

45-45: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


46-46: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


59-59: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


60-60: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


66-66: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


67-67: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


68-68: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


69-69: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


70-70: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


83-83: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


89-89: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)

docs/git.md

70-70: Horizontal rule style
Expected: ---; Actual: ___

(MD035, hr-style)


137-137: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


171-171: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs/coding.md

45-45: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


46-46: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


59-59: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


60-60: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


66-66: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


67-67: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


68-68: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


69-69: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


70-70: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


83-83: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


89-89: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


91-91: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


99-99: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


101-101: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


107-107: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


108-108: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


109-109: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: chromatic
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (3)
.gitignore (1)

30-33: VitePress 산출물 무시 패턴 보강 완료 👌

cache, dist, tmp 디렉터리를 모두 제외하여 빌드 산출물이 커밋되는 문제를 해결했습니다.
필요했던 수정이 정확히 반영되었으므로 추가 조치 없습니다.

biome.json (1)

16-18: docs 전체 무시 시 설정 파일까지 제외됨에 유의

!**/docs/** 패턴으로 docs/.vitepress/config.ts·docs/package.json 등도 Biome 검사/포맷에서 빠집니다.
문서 내용만 제외하고 설정 코드는 계속 포맷·lint 하고 싶다면 다음과 같이 세분화해보세요.

-!**/docs/**
+!**/docs/**/*
+!**/docs/**/*.md

또는 overrides 기능으로 특정 확장자만 제외할 수 있습니다.

.github/workflows/deploy.yml (1)

28-36: pnpm/action-setup의 캐시 옵션 활용 확인

actions/setup-node@v4에서 cache: pnpm을 사용하고 있으므로, pnpm/action-setup@v4cache 설정과 중복될 수 있습니다. 불필요한 중복이 없는지 확인 바랍니다.

"vite": "^6.3.5",
"vite-plugin-mkcert": "^1.17.8",
"vite-tsconfig-paths": "^5.1.4",
"vitepress": "^1.6.3",
Copy link

@coderabbitai coderabbitai bot Jul 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

루트·서브패키지 중복 의존성 정리 필요

vitepress 가 루트 devDependencies(본 라인)와 docs/package.json 양쪽에 동시에 선언되었습니다. 중복 선언은 버전 불일치·용량 증가를 야기할 수 있습니다.

  1. pnpm workspaces 를 선언해 루트에만 두고 docs 패키지를 워크스페이스로 편입하거나,
  2. 반대로 루트에서 제거하고 docs 전용 패키지에만 유지하세요.

추가로 루트의 dependencies·devDependencies 모두에 존재하는 @tailwindcss/vite(18·53 행) 도 동일하게 정리해야 합니다.

🤖 Prompt for AI Agents
In package.json at line 78, the dependency "vitepress" is declared both in the
root devDependencies and in docs/package.json, causing duplication issues. To
fix this, decide whether to keep "vitepress" only in the root devDependencies
and include docs as a pnpm workspace, or remove it from the root and keep it
only in docs/package.json. Also, apply the same cleanup for "@tailwindcss/vite"
found in both dependencies and devDependencies at lines 18 and 53 in the root
package.json.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

정리하는 방법 알려줭

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧩 Analysis chain

@heesunee 중복 의존성 정리 방법을 확인하기 위해 먼저 현재 프로젝트 구조를 파악해보겠습니다.


🏁 Script executed:

#!/bin/bash
# docs/package.json 파일 내용 확인
if [ -f "docs/package.json" ]; then
    echo "=== docs/package.json 내용 ==="
    cat docs/package.json
    echo ""
fi

# pnpm workspace 설정 파일 확인
if [ -f "pnpm-workspace.yaml" ]; then
    echo "=== pnpm-workspace.yaml 내용 ==="
    cat pnpm-workspace.yaml
    echo ""
elif [ -f "pnpm-workspace.yml" ]; then
    echo "=== pnpm-workspace.yml 내용 ==="
    cat pnpm-workspace.yml
    echo ""
else
    echo "=== pnpm workspace 설정 파일 없음 ==="
fi

# 프로젝트 구조 확인
echo "=== 프로젝트 디렉토리 구조 ==="
fd -t d -d 2 . | head -20

Length of output: 732


@heesunee 현재 상황을 확인했습니다. 중복 의존성 정리를 위한 두 가지 방법을 알려드릴게요:

방법 1: pnpm workspace 구성 (추천)

1단계: pnpm-workspace.yaml 파일 생성

packages:
  - 'docs'

2단계: docs/package.json 수정

{
  "name": "mateball-docs",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "scripts": {
    "docs:build": "vitepress build",
    "docs:dev": "vitepress dev",
    "docs:preview": "vitepress preview"
  }
}

3단계: 루트 package.json의 @tailwindcss/vite 중복 제거

{
  "dependencies": {
    // @tailwindcss/vite 제거 (devDependencies에만 유지)
  },
  "devDependencies": {
    "@tailwindcss/vite": "^4.1.11",
    "vitepress": "^1.6.3"
  }
}

4단계: 의존성 재설치

pnpm install

방법 2: 개별 패키지 관리

1단계: 루트 package.json에서 vitepress 제거

{
  "devDependencies": {
    // "vitepress": "^1.6.3", 제거
  }
}

2단계: @tailwindcss/vite 중복 제거

{
  "dependencies": {
    // @tailwindcss/vite 제거 (devDependencies에만 유지)
  }
}

추천 방법

**방법 1 (pnpm workspace)**을 추천합니다:

  • 의존성 버전 통합 관리
  • 중복 설치 방지로 용량 절약
  • 개발 환경 일관성 유지

어떤 방법으로 진행하시겠어요?


🧠 Learnings used
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#78
File: src/pages/sign-up/utils/age-calculate.ts:1-4
Timestamp: 2025-07-09T09:08:46.371Z
Learning: heesunee는 나이 계산 시 한국식 나이 시스템을 사용하므로, 정확한 생일 기반 계산보다는 출생연도 기준의 간단한 계산 방식을 선호합니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1번 좀 더 자세히 알려줭

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해결햇음 혼자서.

@heesunee heesunee changed the title docs: 팀 메잇볼 개발 관련 문서 사이트 배포 docs: TEAM MATEBALL 개발 관련 문서 사이트 배포 Jul 16, 2025
@MATEBALL MATEBALL deleted a comment from coderabbitai bot Jul 16, 2025
Copy link
Contributor

@bongtta bongtta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

캬 너무 예쁘고 깔끔하고 쏙쏙 들어오네요 ㅎ..ㅎ
README 보다 훨씬 좋은 것 같아요 !! 수고하셨습니다 👍👍

Copy link
Contributor

@yeeeww yeeeww left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

메잇볼 웨비들만의 사이트.. 너무 잘 정리되어 있네요!! 고생 많으셨습니당~~

@coderabbitai
Copy link

coderabbitai bot commented Jul 17, 2025

Walkthrough

프로젝트에 팀 MATEBALL 개발 관련 문서 작성을 위한 디렉터리, 설정 파일, 마크다운 문서, VitePress 기반의 문서 사이트 빌드 및 배포 자동화 워크플로우가 추가되었습니다. 또한, 관련 패키지 및 워크스페이스 설정, .gitignore, Biome 설정이 업데이트되었습니다.

Changes

파일/경로 그룹 변경 요약
docs/.vitepress/config.ts, docs/package.json VitePress 문서 사이트 설정 및 빌드/개발/프리뷰 스크립트 추가
docs/coding.md, docs/folder.md, docs/git.md, docs/index.md, docs/naming.md, docs/stack.md, docs/trouble.md 팀 개발 문서(코딩 컨벤션, 폴더 구조, Git 전략, 네이밍, 기술 스택, 트러블슈팅, 메인 페이지) 신규 추가
.github/workflows/deploy.yml GitHub Pages로 문서 자동 배포 워크플로우 신규 추가
.gitignore VitePress 관련 디렉터리(.vitepress/cache, dist, tmp) 무시 규칙 추가
biome.json docs 디렉터리 무시 패턴 추가
pnpm-workspace.yaml docs 디렉터리 pnpm 워크스페이스 패키지로 지정
package.json @tailwindcss/vite 제거, vitepress devDependency로 추가

Sequence Diagram(s)

sequenceDiagram
    participant Developer
    participant GitHub
    participant Actions Runner
    participant VitePress
    participant GitHub Pages

    Developer->>GitHub: docs/ 이하 문서 및 설정 변경 push/PR (develop 브랜치)
    GitHub->>Actions Runner: 워크플로우 트리거 (deploy.yml)
    Actions Runner->>VitePress: pnpm install, docs:build 실행
    VitePress-->>Actions Runner: 정적 사이트 산출물 생성 (docs/.vitepress/dist)
    Actions Runner->>GitHub Pages: 산출물 업로드 및 배포
Loading

Assessment against linked issues

Objective (Issue No.) Addressed Explanation
메잇볼팀 개발 관련 문서 작성 및 배포 자동화 (#214)

Suggested reviewers

  • Dubabbi

Poem

🐇
문서가 차곡차곡 쌓였네,
VitePress로 빛나는 새 둥지!
자동 배포 바람 타고
팀의 지식이 쑥쑥 자라네.
깃 전략, 코딩 규칙,
모두 함께 기록해요—
메잇볼의 발자취, 영원히!
🌱📚✨

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

docs/.vitepress/config.ts

Oops! Something went wrong! :(

ESLint: 9.30.1

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'eslint-plugin-storybook' imported from /eslint.config.js
at Object.getPackageJSONURL (node:internal/modules/package_json_reader:255:9)
at packageResolve (node:internal/modules/esm/resolve:767:81)
at moduleResolve (node:internal/modules/esm/resolve:853:18)
at defaultResolve (node:internal/modules/esm/resolve:983:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:801:12)
at #cachedDefaultResolve (node:internal/modules/esm/loader:725:25)
at ModuleLoader.resolve (node:internal/modules/esm/loader:708:38)
at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:309:38)
at #link (node:internal/modules/esm/module_job:202:49)

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (14)
docs/trouble.md (1)

1-5: 초기 템플릿만 존재 – 최소 목차/링크라도 추가하면 어떨까요?

향후 내용을 채울 계획이라도, 지금 단계에서 간단한 TODO 표나 이슈 번호 링크를 넣어두면 팀원이 기여 포인트를 쉽게 파악할 수 있습니다.

.gitignore (1)

30-33: 패턴을 한 줄로 압축하면 관리가 편합니다

-# vitepress
-docs/.vitepress/cache
-docs/.vitepress/dist
-docs/.vitepress/tmp
+# VitePress
+docs/.vitepress/{cache,dist,tmp}

기능은 동일하며, 추후 디렉터리 추가 시 한 곳만 수정하면 됩니다.

docs/.vitepress/config.ts (2)

5-7: description 오타 수정 제안

troubleshootigtroubleshooting 으로 오타를 교정하면 검색·가독성 모두 개선됩니다.

-  description: 'mateball client convention & troubleshootig & docs',
+  description: 'mateball client convention & troubleshooting & docs',

3-6: 언어 설정 추가로 SEO·i18n 개선

한국어 사이트라면 최상위 설정에 lang: 'ko-KR'을 추가하여 SEO 및 브라우저 언어 렌더링을 향상시킬 수 있습니다.

 export default defineConfig({
   base: '/MATEBALL-CLIENT/',
+  lang: 'ko-KR',
   title: 'MATEBALL CLIENT DOCS',
.github/workflows/deploy.yml (1)

40-47: pnpm 설치 단계 최적화 제안

working-directory: docs 내부에서 설치하면 루트 패키지 의존성이 누락될 수 있고 캐시 효율도 떨어집니다.

-      - name: Install Docs Dependencies
-        run: pnpm install --frozen-lockfile
-        working-directory: docs
+      - name: Install Workspace Dependencies
+        run: pnpm install --frozen-lockfile --prefer-offline

또는 --filter ./docs... 옵션을 사용해 필요한 범위만 설치할 수도 있습니다. 빌드 속도와 안정성을 검토해 주세요.

docs/folder.md (1)

12-14: 코드 블록 언어 지정 누락

MarkdownLint (MD040) 경고가 발생합니다. 코드 블록 첫 줄에 언어(text)를 지정해 주세요.

-```
+```text
docs/git.md (3)

70-70: 수평선 규격 불일치

___ 대신 권장 규격인 ---를 사용하면 MD035 경고를 피할 수 있습니다.

-___
+---

137-140: 커밋 메시지 예시 코드 블록에 언어 미지정

언어 지정이 없어 MD040 경고가 발생합니다. 단순 텍스트이므로 text 지정이 적절합니다.

-```
+```text

171-174: 브랜치 네이밍 예시 코드 블록에 언어 미지정

위와 동일한 이유로 text 지정이 필요합니다.

-```
+```text
docs/coding.md (1)

45-60: 불일치한 리스트 마커(*-)

문서 전반에서 -를 사용하고 있으므로, 여기서도 통일해 MD004 경고를 제거해 주세요.

예시:

-* 기본 템플릿은 `rafce` 사용 (React Arrow Function Component with Export)
+ - 기본 템플릿은 `rafce` 사용 (React Arrow Function Component with Export)

동일 구간의 나머지 항목도 동일하게 수정해 주세요.

docs/stack.md (4)

16-22: alt text 자리표시자 그대로 사용

접근성을 위해 이미지의 alt 값에 실제 설명을 제공해 주세요. 예:

-![alt text](image-2.png)
+![React 로고](image-2.png)

30-36: alt text 자리표시자 그대로 사용

위와 동일한 개선이 필요합니다.

-![alt text](image-4.png)
+![Tailwind vs Vanilla Extract 비교](image-4.png)

41-47: alt text 자리표시자 그대로 사용

-![alt text](image-3.png)
+![Biome 로고](image-3.png)

52-58: alt text 자리표시자 그대로 사용

-![alt text](image-5.png)
+![Cloudflare Pages 로고](image-5.png)
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4de696b and ba96ade.

⛔ Files ignored due to path filters (10)
  • docs/image-1.png is excluded by !**/*.png
  • docs/image-2.png is excluded by !**/*.png
  • docs/image-3.png is excluded by !**/*.png
  • docs/image-4.png is excluded by !**/*.png
  • docs/image-5.png is excluded by !**/*.png
  • docs/image-6.png is excluded by !**/*.png
  • docs/image.png is excluded by !**/*.png
  • docs/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • docs/public/favicon.svg is excluded by !**/*.svg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (14)
  • .github/workflows/deploy.yml (1 hunks)
  • .gitignore (1 hunks)
  • biome.json (1 hunks)
  • docs/.vitepress/config.ts (1 hunks)
  • docs/coding.md (1 hunks)
  • docs/folder.md (1 hunks)
  • docs/git.md (1 hunks)
  • docs/index.md (1 hunks)
  • docs/naming.md (1 hunks)
  • docs/package.json (1 hunks)
  • docs/stack.md (1 hunks)
  • docs/trouble.md (1 hunks)
  • package.json (1 hunks)
  • pnpm-workspace.yaml (1 hunks)
🧰 Additional context used
🧠 Learnings (7)
📓 Common learnings
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#78
File: src/pages/sign-up/utils/age-calculate.ts:1-4
Timestamp: 2025-07-09T09:08:46.371Z
Learning: heesunee는 나이 계산 시 한국식 나이 시스템을 사용하므로, 정확한 생일 기반 계산보다는 출생연도 기준의 간단한 계산 방식을 선호합니다.
.gitignore (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
package.json (4)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#102
File: src/shared/components/bottom-sheet/bottom-sheet-indicator.tsx:5-5
Timestamp: 2025-07-10T09:58:36.134Z
Learning: MATEBALL-CLIENT 프로젝트의 `src/shared/styles/custom-utilities.css`에서 `.flex-col` 클래스는 이미 `@apply flex flex-col;`을 포함하고 있어서 별도로 `flex` 클래스를 추가할 필요가 없습니다. CSS 클래스 관련 제안을 하기 전에 반드시 커스텀 유틸리티 클래스 파일을 먼저 확인해야 합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#94
File: src/pages/sign-up/sign-up.tsx:4-4
Timestamp: 2025-07-09T17:24:19.755Z
Learning: heesunee는 src/pages/sign-up/sign-up.tsx의 isNicknameStep 하드코딩된 값을 퍼널 패턴으로 카카오 통합과 함께 나중에 처리할 예정이므로, 이 부분에 대해 다시 언급하지 않아야 합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#95
File: src/pages/sign-up/components/nickname-step.tsx:28-30
Timestamp: 2025-07-09T18:07:41.693Z
Learning: heesunee는 src/pages/sign-up/components/nickname-step.tsx의 onSubmit 핸들러 API 호출을 쿼리와 함께 통합해서 처리할 예정이므로, 이 부분에 대해 다시 언급하지 않아야 합니다.
docs/.vitepress/config.ts (2)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#7
File: src/shared/routes/Router.tsx:4-4
Timestamp: 2025-06-29T18:02:42.616Z
Learning: The Home component file in the MATEBALL-CLIENT project was renamed from Home.tsx to home.tsx, so the correct import path is '@pages/home/home'.
docs/index.md (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#7
File: src/shared/routes/Router.tsx:4-4
Timestamp: 2025-06-29T18:02:42.616Z
Learning: The Home component file in the MATEBALL-CLIENT project was renamed from Home.tsx to home.tsx, so the correct import path is '@pages/home/home'.
docs/naming.md (1)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#94
File: src/pages/sign-up/sign-up.tsx:4-4
Timestamp: 2025-07-09T17:24:19.755Z
Learning: heesunee는 src/pages/sign-up/sign-up.tsx의 isNicknameStep 하드코딩된 값을 퍼널 패턴으로 카카오 통합과 함께 나중에 처리할 예정이므로, 이 부분에 대해 다시 언급하지 않아야 합니다.
docs/package.json (2)
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#7
File: src/shared/routes/Router.tsx:4-4
Timestamp: 2025-06-29T18:02:42.616Z
Learning: The Home component file in the MATEBALL-CLIENT project was renamed from Home.tsx to home.tsx, so the correct import path is '@pages/home/home'.
Learnt from: heesunee
PR: MATEBALL/MATEBALL-CLIENT#73
File: src/shared/components/card/match-current-card/match-current-card.stories.tsx:1-2
Timestamp: 2025-07-07T20:02:52.570Z
Learning: MATEBALL-CLIENT 프로젝트에서는 vite.config.ts에 tsconfigPaths() 플러그인이 이미 설정되어 있어서, tsconfig의 @components alias가 자동으로 Vite와 Storybook에 적용됩니다. 별도의 alias 설정 없이도 @components 임포트가 정상 작동합니다.
🪛 YAMLlint (1.37.1)
pnpm-workspace.yaml

[error] 2-2: no new line character at the end of file

(new-line-at-end-of-file)

🪛 markdownlint-cli2 (0.17.2)
docs/git.md

70-70: Horizontal rule style
Expected: ---; Actual: ___

(MD035, hr-style)


137-137: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


171-171: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs/coding.md

45-45: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


46-46: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


59-59: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


60-60: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


66-66: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


67-67: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


68-68: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


69-69: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


70-70: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


83-83: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


89-89: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


91-91: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


99-99: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


101-101: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


107-107: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


108-108: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


109-109: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: chromatic
🔇 Additional comments (5)
biome.json (1)

16-18: docs/** 전체 제외 여부 재확인 필요

문서 소스(*.md, VitePress 설정 등)까지 포맷·Lint를 완전히 건너뛰게 됩니다. 빌드 산출물만 제외하려는 의도였다면 !/docs/.vitepress/식으로 정확히 지정하거나,*.md` 파일은 포함하도록 조정해 주세요.

package.json (1)

40-78: VitePress 중복 의존성 없음 확인 완료

docs/package.json에는 vitepress가 devDependencies로 선언되어 있지 않고 스크립트에서만 참조되고 있습니다.
따라서 루트(package.json)에만 선언된 vitepress 의존성으로 충분하며, 중복 설치나 버전 불일치 우려는 없습니다.

docs/package.json (1)

1-11: VitePress 의존성 누락 가능성 확인 필요

docs 패키지에 dependencies/devDependencies 항목이 전혀 없습니다. 루트 워크스페이스에 vitepress 가 설치돼 있더라도, working-directory: docs에서 pnpm install --frozen-lockfile을 실행하면 개별 패키지로만 해석될 수 있어 CI 빌드가 실패할 위험이 있습니다.

{
   "private": true,
   "type": "module",
+  "devDependencies": {
+    "vitepress": "^1.2.0"
+  },

루트에 의존성을 두는 대신 위와 같이 devDependencies에 명시하거나, 워크플로에서 pnpm install --filter ./... 형태로 루트 설치를 수행하도록 수정해 주세요.

docs/index.md (1)

1-46: 홈 페이지 프론트매터 구성 깔끔합니다

VitePress 홈 레이아웃 및 액션·피처 배열이 명확하게 작성되어 있어 바로 가기 동선이 직관적입니다. 별다른 이슈 없습니다.

docs/naming.md (1)

1-65: 네이밍 컨벤션 문서 내용 명확

팀 규칙과 근거가 상세히 기술되어 있어 온보딩 및 리뷰 시 도움이 될 것입니다. 추가 의견 없습니다.

Comment on lines +1 to +2
packages:
- 'docs' No newline at end of file
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

마지막 줄 개행이 없어서 YAMLLint에 걸립니다

pnpm-workspace.yaml 파일 끝에 개행 문자가 없어 CI-lint 오류가 발생합니다. 한 줄 추가해 주세요.

-  - 'docs'
+  - 'docs'
+
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
packages:
- 'docs'
packages:
- 'docs'
🧰 Tools
🪛 YAMLlint (1.37.1)

[error] 2-2: no new line character at the end of file

(new-line-at-end-of-file)

🤖 Prompt for AI Agents
In pnpm-workspace.yaml at lines 1 to 2, the file is missing a newline character
at the end, causing a YAMLLint error in CI. Add a newline character at the end
of the file to fix the linting issue.

@heesunee heesunee merged commit f189d52 into develop Jul 17, 2025
9 checks passed
@heesunee heesunee deleted the docs/#214/vitepress branch July 17, 2025 09:33
bongtta pushed a commit that referenced this pull request Jul 17, 2025
* fix: biome에 docs 포함 안되게 수정 (#214)

* docs: mateball 문서 index.md 파일 작성 (#214)

* docs: 코딩 컨벤션 문서 작성 (#214)

* docs: git.md 작성 (#214)

* docs: naming.md 파일 작성 (#214)

* docs: folder.md 파일 작성 (#214)

* docs: stack.md 파일 작성 (#214)

* docs: trouble.md 작성 (#214)

* chore: gitignore에 vitepress 추가 (#214)

* feat: workflow 파일 작성 (#214)

* feat: workflow 대상 브랜치 변경 (#214)

* fix: workflow pr 열릴때로 수정 (#214)

* fix: workflow 수정 (#214)

* chore: 파일 정리 (#214)

* fix: workflow 수정 (#214)

* fix: workflow 수정 (#214)

* fix: workflow 수정 (#214)

* fix: 글씨 나가는 거 수정 (#214)

* chore: 의존성 정리 (#214)

---------

Co-authored-by: heesunee <heesun729@uos.ac.kr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: 팀 MATEBALL 개발 관련 문서 작성 및 배포를 진행합니다.

3 participants