- Claude Code 활용 가이드 신규 추가 (스킬 8종 + 에이전트 3종) - 릴리즈 관리 가이드 신규 추가 (2계층 릴리즈 노트) - 초기 환경 설정에 GITEA_TOKEN 설정 섹션 추가 - Git 워크플로우에 /push, /mr 스킬 추천 보강 - 프로젝트 시작하기 템플릿 파일 구조 v1.5.0 업데이트 - chat 봇 연동/디자인 시스템 섹션 임시 주석처리 - 팀 워크플로우 v1.5.0 동기화 (스킬, 에이전트, 규칙)
159 lines
7.2 KiB
TypeScript
159 lines
7.2 KiB
TypeScript
import { Alert } from '../components/common/Alert';
|
|
import { CodeBlock } from '../components/common/CodeBlock';
|
|
import { StepGuide } from '../components/common/StepGuide';
|
|
|
|
export default function ReleaseManagement() {
|
|
return (
|
|
<div className="max-w-4xl mx-auto py-12 px-6">
|
|
<h1 className="text-3xl font-bold text-text-primary mb-2">릴리즈 관리</h1>
|
|
<p className="text-text-secondary mb-8">
|
|
팀은 2계층 릴리즈 노트 체계를 사용합니다. Claude Code 스킬이 대부분의 작성과 관리를 자동화합니다.
|
|
</p>
|
|
|
|
{/* 2계층 릴리즈 노트 */}
|
|
<h2 className="text-xl font-bold text-text-primary mt-10 mb-4">2계층 릴리즈 노트</h2>
|
|
<div className="grid md:grid-cols-2 gap-4">
|
|
<div className="bg-surface border border-border-default rounded-lg p-5">
|
|
<div className="flex items-center gap-2 mb-3">
|
|
<span className="px-2 py-0.5 bg-info/10 text-info rounded text-xs font-semibold">Tier 1</span>
|
|
<h4 className="font-semibold text-text-primary">RELEASE-NOTES.md</h4>
|
|
</div>
|
|
<ul className="text-sm text-text-secondary space-y-1.5">
|
|
<li>Keep a Changelog 형식</li>
|
|
<li>날짜 + 순번 버저닝 (<code className="bg-bg-tertiary px-1 rounded">[2026-03-01]</code>)</li>
|
|
<li><code className="bg-bg-tertiary px-1 rounded">/mr</code>에서 [Unreleased] 자동 갱신</li>
|
|
<li><code className="bg-bg-tertiary px-1 rounded">/release</code>에서 날짜 전환 + 압축</li>
|
|
<li>개발자 관점의 변경 이력</li>
|
|
</ul>
|
|
</div>
|
|
<div className="bg-surface border border-border-default rounded-lg p-5">
|
|
<div className="flex items-center gap-2 mb-3">
|
|
<span className="px-2 py-0.5 bg-success/10 text-success rounded text-xs font-semibold">Tier 2</span>
|
|
<h4 className="font-semibold text-text-primary">VERSION-HISTORY.md</h4>
|
|
</div>
|
|
<ul className="text-sm text-text-secondary space-y-1.5">
|
|
<li>Semantic Versioning (v1.0.0)</li>
|
|
<li>RELEASE-NOTES.md 기반 생성</li>
|
|
<li><code className="bg-bg-tertiary px-1 rounded">/version</code> 스킬로 수동 생성</li>
|
|
<li>사용자/고객 관점의 버전 히스토리</li>
|
|
<li>릴리즈 마일스톤 기록</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
{/* RELEASE-NOTES.md 형식 */}
|
|
<h2 className="text-xl font-bold text-text-primary mt-10 mb-4">RELEASE-NOTES.md 형식</h2>
|
|
<p className="text-text-secondary mb-4">
|
|
<a
|
|
href="https://keepachangelog.com/ko/1.0.0/"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="text-accent hover:underline"
|
|
>
|
|
Keep a Changelog
|
|
</a> 형식을 따릅니다.
|
|
</p>
|
|
<CodeBlock
|
|
language="markdown"
|
|
filename="docs/RELEASE-NOTES.md"
|
|
code={`# Release Notes
|
|
|
|
이 문서는 Keep a Changelog 형식을 따릅니다.
|
|
|
|
## [Unreleased]
|
|
### 추가
|
|
- 로그인 리다이렉트 처리
|
|
|
|
## [2026-02-28]
|
|
### 추가
|
|
- 관리자 설정 페이지
|
|
- Nginx 프록시 인증 연동
|
|
### 수정
|
|
- 파비콘 404 오류
|
|
- 잘못된 URL 접근 시 흰 화면`}
|
|
/>
|
|
|
|
{/* 자동 관리 흐름 */}
|
|
<h2 className="text-xl font-bold text-text-primary mt-10 mb-4">자동 관리 흐름</h2>
|
|
<StepGuide
|
|
steps={[
|
|
{
|
|
title: '/mr — [Unreleased] 자동 갱신',
|
|
content: (
|
|
<p>
|
|
<code className="bg-bg-tertiary px-1 rounded">/mr</code> 실행 시 커밋 메시지를 분석하여{' '}
|
|
<code className="bg-bg-tertiary px-1 rounded">[Unreleased]</code> 섹션에 자동 추가합니다.
|
|
사용자에게 첨삭 확인을 거친 후 커밋됩니다.
|
|
</p>
|
|
),
|
|
},
|
|
{
|
|
title: '/release — 날짜 전환 + 압축',
|
|
content: (
|
|
<>
|
|
<p className="mb-2">
|
|
<code className="bg-bg-tertiary px-1 rounded">/release</code> 실행 시{' '}
|
|
<code className="bg-bg-tertiary px-1 rounded">[Unreleased]</code>를{' '}
|
|
<code className="bg-bg-tertiary px-1 rounded">[2026-03-01]</code> 형태로 전환합니다.
|
|
이전 날짜의 넘버링된 릴리즈는 자동 압축됩니다.
|
|
</p>
|
|
<p className="text-sm text-text-muted">
|
|
예: <code className="bg-bg-tertiary px-1 rounded">[2026-02-28.1]</code> +{' '}
|
|
<code className="bg-bg-tertiary px-1 rounded">[2026-02-28.2]</code> →{' '}
|
|
<code className="bg-bg-tertiary px-1 rounded">[2026-02-28]</code>
|
|
</p>
|
|
</>
|
|
),
|
|
},
|
|
{
|
|
title: '/version — VERSION-HISTORY.md 생성',
|
|
content: (
|
|
<p>
|
|
RELEASE-NOTES.md를 기반으로 Semantic Versioning 형태의{' '}
|
|
<code className="bg-bg-tertiary px-1 rounded">VERSION-HISTORY.md</code>를 생성합니다.
|
|
사용자 관점의 변경 이력을 정리하며, 관리자(<strong>admin</strong> 권한)만 실행할 수 있습니다.
|
|
</p>
|
|
),
|
|
},
|
|
]}
|
|
/>
|
|
<Alert type="info">
|
|
릴리즈 노트는 <code className="bg-bg-tertiary px-1 rounded">/mr</code>,{' '}
|
|
<code className="bg-bg-tertiary px-1 rounded">/release</code> 스킬이 자동 관리합니다.
|
|
직접 편집은 각 스킬의 첨삭 확인 단계에서 가능합니다.
|
|
</Alert>
|
|
|
|
{/* 날짜 넘버링 규칙 */}
|
|
<h2 className="text-xl font-bold text-text-primary mt-10 mb-4">날짜 넘버링 규칙</h2>
|
|
<div className="overflow-x-auto">
|
|
<table className="w-full bg-surface border border-border-default rounded-lg overflow-hidden text-sm">
|
|
<thead>
|
|
<tr className="bg-bg-tertiary">
|
|
<th className="text-left px-4 py-3 font-semibold text-text-primary">상황</th>
|
|
<th className="text-left px-4 py-3 font-semibold text-text-primary">버전</th>
|
|
<th className="text-left px-4 py-3 font-semibold text-text-primary">설명</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody className="divide-y divide-border-subtle">
|
|
<tr>
|
|
<td className="px-4 py-3 text-text-primary">당일 첫 릴리즈</td>
|
|
<td className="px-4 py-3 font-mono text-accent">[2026-03-01]</td>
|
|
<td className="px-4 py-3 text-text-secondary">순번 없음</td>
|
|
</tr>
|
|
<tr>
|
|
<td className="px-4 py-3 text-text-primary">당일 두 번째</td>
|
|
<td className="px-4 py-3 font-mono text-accent">[2026-03-01.2]</td>
|
|
<td className="px-4 py-3 text-text-secondary">.2 부터 순번 부여</td>
|
|
</tr>
|
|
<tr>
|
|
<td className="px-4 py-3 text-text-primary">다음날 릴리즈 시</td>
|
|
<td className="px-4 py-3 font-mono text-accent">[2026-03-02]</td>
|
|
<td className="px-4 py-3 text-text-secondary">이전 넘버링 자동 압축 → [2026-03-01]</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|