Skip to content

유지보수자 운영 매뉴얼(낮은 부담)

English summary

Maintainer / Triager / Founder를 위한 문서입니다. 규칙과 자동화로 반복 업무를 줄이고, Founder의 집중력을 영향이 큰 변경과 릴리스에 쓰도록 합니다.

1. 설계 원칙

원칙방식
공개 우선사용 관련 질문 → Discussions; 추적 가능한 결함 → Issue
자동화 우선CI, Labeler, Dependabot, Stale이 반복 업무 처리
영역별 자율성docs/user-guide/**, 단일 테마 디렉터리 PR은 문서/테마 유지보수자가 병합
게이트키핑 집중Founder는 주로 CODEOWNERS 경로(lib/db, next.config.js, package.json 등)를 리뷰

2. 매주 약 15분(Maintainer)

  1. Discussions를 훑습니다: 조직 구성원 신청, 답변 없는 “사용 Q&A”.
  2. Dependabot PR을 확인합니다(patch/dev 의존성은 일괄 병합 가능).
  3. 병합 대기열: documentation / good first issue이고 CI가 모두 통과한 PR을 우선합니다.
  4. 릴리스 기간에만 package.json 버전과 changelog를 처리합니다.

문서 유지보수자에게 권한을 부여했다면, Founder는 3단계의 순수 문서 PR을 건너뛸 수 있습니다.

3. Issue / Discussion 분류

사용자 요청처리관리자 소요
“배포/설정 방법”Discussions로 돌리고 Issue를 닫거나 링크 안내댓글 1개
중복 Issueduplicate로 닫고 기존 항목 링크댓글 1개
버전/환경 정보 부족bug 템플릿을 안내해 보완 요청, needs-info 표시댓글 1개
장기 미응답Stale bot에 맡김(45+14일)0
보안 취약점Private Advisory로 전환하고 공개 논의 금지SECURITY.md 기준

4. PR 병합 권한(권장)

PR 유형라벨/경로병합 담당CI 요구사항
순수 문서documentation, docs/**Write 권한 유지보수자 누구나docs-site job
단일 테마theme, themes/<name>/**테마 유지보수자 또는 Writelint + test
의존성 봇dependencies유지보수자가 일괄 처리CI 통과
핵심 / 설정core, config, CODEOWNERSFounder 또는 2인 리뷰모든 job

금지: CI 없이 병합, Contributor가 자신의 PR을 직접 병합(유지보수자가 명시적으로 권한을 준 경우 제외).

5. 자동화 개요

도구역할
ci.ymlPR: lint, type-check, test, lockfile, 문서 빌드
labeler.yml경로에 따라 documentation / theme / core 등 라벨 부여
dependabot.yml매주 의존성 PR 생성(기본적으로 major 제외)
stale.yml45일 비활동 시 stale 표시, 14일 뒤 Issue 닫기
deploy-docs-site.ymlmain 문서 자동 게시
CODEOWNERS영향 큰 경로에만 @Founder 지정

6. Org Admin 일회성 설정(규칙 준수 + 부담 절감)

GOVERNANCE.zh-CN.md를 바탕으로 다음을 권장합니다.

  • [ ] Require status checks: Lint & type-check, Unit tests, Lockfile consistency(문서 PR에는 VitePress build 추가 가능)
  • [ ] main 진입 시 Require PR(Founder도 PR 사용, 긴급 hotfix는 예외로 하고 공지)
  • [ ] Allow auto-merge(선택): CI가 통과했고 docs/**만 수정한 PR에만 활성화
  • [ ] Secret scanning + Dependabot alerts 활성화
  • [ ] 저장소 라벨을 labeler.yml과 일치: documentation, theme, core, config, dependencies, stale, needs-info, good first issue, help wanted
  • [ ] Issue 템플릿이 Founder에게 기본 assign되지 않게 함(assignees 제거 완료)

7. 릴리스(저빈도)

  1. main CI가 통과했는지 확인합니다.
  2. docs/user-guide/changelog/latest.md를 갱신합니다.
  3. Org Admin이 tag / Release를 만들거나 bump-version-on-main을 실행합니다(유지보수자 전용).
  4. Discussion에 공지 하나만 올리면 됩니다.

8. 관련 문서