Skip to content

Commit 3a7e378

Browse files
authored
docs: deprecation skill (#1213)
* docs: deprecation skill * add deprecates * remove Migration Prompt Template
1 parent 3afcada commit 3a7e378

File tree

7 files changed

+192
-1
lines changed

7 files changed

+192
-1
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"name": "seed",
3+
"description": "SEED Design deprecation workflow tools.",
4+
"version": "0.1.0",
5+
"author": {
6+
"name": "SEED Design"
7+
}
8+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
description: $TARGET $DEPRECATED_IN $REMOVE_IN $REPLACEMENT $REASON
3+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash
4+
---
5+
6+
# Deprecation Flow
7+
8+
Use the deprecation skill to deprecate a component, interface, or foundation token.
9+
10+
## Input Handling
11+
12+
- If any required fields are missing, ask the user for them in order: TARGET → DEPRECATED_IN → REMOVE_IN → REPLACEMENT → REASON.
13+
- If $ARGUMENTS is provided, attempt to parse JSON or `key=value` pairs before asking follow-up questions.
14+
15+
## Arguments
16+
17+
- $TARGET: Deprecated 대상 (예: ImageFrame rounded 옵션)
18+
- $DEPRECATED_IN: Deprecated 적용 버전 (예: 1.2.x)
19+
- $REMOVE_IN: 제거 예정 버전 (예: 1.3.0)
20+
- $REPLACEMENT: 대체안 (예: borderRadius="r2")
21+
- $REASON: Deprecated 이유
22+
23+
## Required Output
24+
25+
1. 대상에 @deprecated JSDoc 추가 (이유, 제거 버전, 대체안 포함)
26+
2. 관련 문서 업데이트
27+
3. docs/content/docs/migration/deprecations.mdx 갱신
28+
4. Rootage 변경 시 rootage:generate 실행
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
name: deprecation
3+
description: Manage the full deprecation lifecycle for SEED Design components, interfaces, and foundation tokens. Use when marking deprecations, planning removals, or migrating usage.
4+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash
5+
---
6+
7+
# Deprecation Flow
8+
9+
SEED Design의 deprecated 라이프사이클을 표준화합니다. 대상 추가, 문서화, 추적, 제거까지의 흐름을 한 번에 관리합니다.
10+
11+
## Purpose
12+
13+
이 스킬은 컴포넌트/인터페이스/파운데이션을 deprecated 처리할 때 필요한 JSDoc, 문서, 추적 파일을 일관되게 업데이트하도록 돕습니다.
14+
15+
## When to Use
16+
17+
다음 상황에서 이 스킬을 사용하세요:
18+
19+
1. **Deprecated 선언**: 옵션/prop/토큰을 제거 예정으로 표기해야 할 때
20+
2. **제거 일정 수립**: 제거 버전을 명확히 지정해야 할 때
21+
3. **마이그레이션 가이드 작성**: 대체안과 이동 방법을 문서화할 때
22+
4. **제거 작업 실행**: 제거 버전이 도달하여 실제 삭제가 필요할 때
23+
24+
**트리거 키워드**: "deprecated", "deprecate", "removal", "migration", "사용 중단", "제거 예정"
25+
26+
## Deprecation Policy
27+
28+
- 기본 정책: **1.2.x 패치에서 deprecated → 다음 마이너(1.3.0)에서 제거**
29+
- 호환성 영향이 큰 경우: 다음 메이저 릴리스로 미룸
30+
31+
## Required Inputs
32+
33+
- **Target**: deprecated 대상 (컴포넌트/옵션/토큰)
34+
- **Deprecated In**: 적용 버전 (예: 1.2.x)
35+
- **Remove In**: 제거 예정 버전 (예: 1.3.0)
36+
- **Replacement**: 대체안 (예: `borderRadius="r2"`)
37+
- **Reason**: deprecated 이유
38+
39+
입력이 누락된 경우 다음 순서로 사용자에게 질문합니다: Target → Deprecated In → Remove In → Replacement → Reason.
40+
41+
## Workflow
42+
43+
### Step 1: 대상 탐색
44+
45+
- Rootage 스펙: `packages/rootage/components/*.yaml`
46+
- React 구현: `packages/react/src/components/**`
47+
- Design Guidelines: `docs/content/docs/components/**`
48+
- React 문서: `docs/content/react/components/**`
49+
- 예시 코드: `docs/examples/**`, `examples/**`
50+
51+
### Step 2: JSDoc/메타데이터 추가
52+
53+
**TypeScript/TSX 예시**:
54+
55+
```ts
56+
/**
57+
* @deprecated Deprecated in @seed-design/react@1.2.x; will be removed in 1.3.0.
58+
* Use borderRadius="r2" instead.
59+
* Reason: Rounded 옵션을 borderRadius로 통일합니다.
60+
*/
61+
```
62+
63+
**Rootage YAML 예시**:
64+
65+
```yaml
66+
description: |
67+
모서리를 둥글게 처리합니다.
68+
@deprecated `rounded` 옵션은 @seed-design/react@1.3.0에서 제거될 예정입니다. `borderRadius="r2"`를 사용하세요.
69+
Reason: 모서리 스타일은 `borderRadius` prop으로 통일합니다.
70+
```
71+
72+
### Step 3: 문서 업데이트
73+
74+
- Design Guidelines 및 React Docs에 deprecated 안내 추가
75+
- 대체안과 제거 버전을 명확히 표기
76+
77+
### Step 4: Deprecated 원천 파일 갱신
78+
79+
- `docs/content/docs/migration/deprecations.mdx`에 항목 추가
80+
- 제거 버전 도달 시 히스토리 섹션으로 이동
81+
82+
### Step 5: 생성물 업데이트
83+
84+
Rootage 변경이 있는 경우:
85+
86+
```bash
87+
bun run rootage:generate
88+
```
89+
90+
### Step 6: 제거 버전 도달 시
91+
92+
- deprecated 대상 삭제
93+
- 문서/예시/테스트 정리
94+
- `deprecations.mdx` 히스토리 섹션으로 이동
95+
96+
## Files to Touch (Checklist)
97+
98+
- `packages/rootage/components/{component}.yaml`
99+
- `packages/react/src/components/**`
100+
- `docs/content/docs/components/**`
101+
- `docs/content/react/components/**`
102+
- `docs/content/docs/migration/deprecations.mdx`
103+
- 생성물: `docs/public/rootage/**`, `packages/css/vars/**`, `packages/qvism-preset/src/vars/**`
104+
105+
## Output Expectations
106+
107+
1. 모든 JSDoc에 이유, 제거 버전, 대체안이 명확히 포함됨
108+
2. 문서와 Rootage 스펙이 동일한 내용을 반영
109+
3. 원천 파일(deprecations.mdx) 최신화
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../plugins/seed-design/skills/deprecation/SKILL.md

.claude/skills/skill-rules.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,30 @@
9898
"(find|detect|찾기|감지).*(missing|inconsistent|누락|불일치).*(docs|documentation|문서)"
9999
]
100100
}
101+
},
102+
"deprecation": {
103+
"type": "domain",
104+
"enforcement": "suggest",
105+
"priority": "high",
106+
"description": "Deprecated 처리와 제거 계획을 표준화합니다",
107+
"promptTriggers": {
108+
"keywords": [
109+
"deprecated",
110+
"deprecate",
111+
"removal",
112+
"migration",
113+
"사용 중단",
114+
"제거 예정",
115+
"deprecated flow",
116+
"deprecation"
117+
],
118+
"intentPatterns": [
119+
"(deprecated|deprecate|사용 중단|제거 예정)",
120+
"(remove|remove in|제거).*버전",
121+
"(migration|마이그레이션).*(deprecated|사용 중단)",
122+
"@deprecated"
123+
]
124+
}
101125
}
102126
}
103127
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
title: Deprecations
3+
description: Deprecated 항목의 현황과 제거 계획을 관리합니다.
4+
---
5+
6+
이 문서는 deprecated 현황의 원천 파일입니다. 변경 시 이 문서를 먼저 업데이트합니다.
7+
8+
## Deprecated 현황
9+
10+
| 항목 | 종류 | Deprecated 버전 | 제거 예정 버전 | 대체안 | 비고 |
11+
| ----------------------------- | ------------- | --------------- | -------------- | ---------------------- | ------------------------------------------ |
12+
| Image Frame - rounded 옵션 | 컴포넌트 옵션 | 1.2.x | 1.3.0 | borderRadius="r2" | rootage image-frame 옵션 정리 |
13+
| $color.bg.layer-fill | 디자인 토큰 | 1.2.x | 1.3.0 | $color.bg.neutral-weak | 더이상 사용하지 않음 (elevation 문서 안내) |
14+
| $gradient.fade-layer-floating | 디자인 토큰 | 1.2.x | 1.3.0 | - | 대체안 미정 |
15+
| $gradient.fade-layer-default | 디자인 토큰 | 1.2.x | 1.3.0 | - | 대체안 미정 |
16+
17+
## 제거 완료 히스토리
18+
19+
| 항목 | 제거 버전 | 대체안 | 비고 |
20+
| ---- | --------- | ------ | ---- |
21+
| - | - | - | - |

docs/content/docs/migration/meta.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"title": "Migration",
33
"description": "마이그레이션",
44
"defaultOpen": true,
5-
"pages": ["migration-reference"]
5+
"pages": ["deprecations", "migration-reference"]
66
}

0 commit comments

Comments
 (0)