refactor-cleaner
1
总安装量
1
周安装量
#46972
全站排名
安装命令
npx skills add https://github.com/seikaikyo/dash-skills --skill refactor-cleaner
Agent 安装分布
amp
1
opencode
1
kimi-cli
1
codex
1
github-copilot
1
gemini-cli
1
Skill 文档
Refactor Cleaner (éæ§æ¸ ç)
When to Use
å¨ä»¥ä¸æ æ³ä½¿ç¨æ¤ Skillï¼
- 宿ç¨å¼ç¢¼å¥åº·æª¢æ¥
- å°æ¡æ¸ çèæ´å
- ç§»é¤å·²å»¢æ£åè½
- æ¸å°å¥ä»¶å¤§å°
- æ´åéè¤ç¨å¼ç¢¼
When NOT to Use
- æ£å¨éç¼æ°åè½æ
- çç¢é¨ç½²åå¤
- ç¨å¼ç¢¼åº«ä¸ç©©å®æ
- 測試è¦èçä¸è¶³æ
æ ¸å¿è·è²¬
- æ»ä»£ç¢¼æª¢æ¸¬ – æ¾åºæªä½¿ç¨çç¨å¼ç¢¼ãexportsãä¾è³´
- éè¤æ¶é¤ – èå¥ä¸¦æ´åéè¤ç¨å¼ç¢¼
- ä¾è³´æ¸ ç – ç§»é¤æªä½¿ç¨çå¥ä»¶å imports
- å®å ¨éæ§ – 確ä¿è®æ´ä¸ç ´å£åè½
- æä»¶è¨é – å¨ DELETION_LOG.md 追蹤ææåªé¤
æª¢æ¸¬å·¥å ·
# knip - æ¾åºæªä½¿ç¨çæªæ¡ãexportsãä¾è³´
npx knip
# depcheck - è奿ªä½¿ç¨ç npm ä¾è³´
npx depcheck
# ts-prune - æ¾åºæªä½¿ç¨ç TypeScript exports
npx ts-prune
# eslint - æª¢æ¥æªä½¿ç¨çè®æ¸
npx eslint . --report-unused-disable-directives
éæ§æµç¨
1. åæé段
a) å¹³è¡å·è¡æª¢æ¸¬å·¥å
·
b) æ¶éææç¼ç¾
c) ä¾é¢¨éªåé¡:
- å®å
¨: æªä½¿ç¨ç exportsãä¾è³´
- å°å¿: å¯è½ééåæ
import 使ç¨
- 風éª: å
¬é APIãå
±ç¨å·¥å
·
2. 風éªè©ä¼°
å°æ¯åè¦ç§»é¤çé ç®ï¼
- æå°ææå¼ç¨ (grep)
- 確èªç¡åæ imports
- æª¢æ¥æ¯å¦çºå ¬é API
- å¯©è¦ git æ·å²äºè§£åå
- 測試å°å»ºæ§/測試çå½±é¿
3. å®å ¨ç§»é¤æµç¨
a) åªå¾ãå®å
¨ãé
ç®éå§
b) 䏿¬¡ç§»é¤ä¸åé¡å¥:
1. æªä½¿ç¨ç npm ä¾è³´
2. æªä½¿ç¨çå
§é¨ exports
3. æªä½¿ç¨çæªæ¡
4. éè¤ç¨å¼ç¢¼
c) æ¯æ¹æ¬¡å¾å·è¡æ¸¬è©¦
d) æ¯æ¹æ¬¡å»ºç« git commit
4. éè¤æ´å
a) æ¾åºéè¤çå
ä»¶/å·¥å
·
b) 鏿æä½³å¯¦ä½:
- åè½æå®æ´
- 測試æå®å
- æè¿ä½¿ç¨ç
c) æ´æ°ææ imports 使ç¨é¸å®çæ¬
d) åªé¤éè¤
e) é©è測試ä»éé
åªé¤æ¥èªæ ¼å¼
建ç«/æ´æ° docs/DELETION_LOG.mdï¼
# ç¨å¼ç¢¼åªé¤æ¥èª
## [YYYY-MM-DD] 鿧使¥
### ç§»é¤çä¾è³´
- package-name@version - æå¾ä½¿ç¨: 徿ª, 大å°: XX KB
- another-package@version - 已被å代: better-package
### åªé¤çæªæ¡
- src/old-component.tsx - å代çº: src/new-component.tsx
- lib/deprecated-util.ts - åè½ç§»è³: lib/utils.ts
### æ´åçéè¤ç¨å¼ç¢¼
- src/components/Button1.tsx + Button2.tsx -> Button.tsx
- åå : å
©å實ä½å®å
¨ç¸å
### ç§»é¤ç Exports
- src/utils/helpers.ts - 彿¸: foo(), bar()
- åå : ç¨å¼ç¢¼åº«ä¸ç¡å¼ç¨
### å½±é¿
- åªé¤æªæ¡: 15
- ç§»é¤ä¾è³´: 5
- ç§»é¤ç¨å¼ç¢¼è¡æ¸: 2,300
- å¥ä»¶å¤§å°æ¸å°: ~45 KB
### 測試
- ææå®å
測試éé
- æææ´å測試éé
- æåæ¸¬è©¦å®æ
å®å ¨æª¢æ¥æ¸ å®
ç§»é¤ä»»ä½æ±è¥¿åï¼
- å·è¡æª¢æ¸¬å·¥å ·
- Grep æå°ææå¼ç¨
- 檢æ¥åæ imports
- å¯©è¦ git æ·å²
- 確èªéå ¬é API
- å·è¡æææ¸¬è©¦
- 建ç«å份忝
- è¨éæ¼ DELETION_LOG.md
æ¯æ¬¡ç§»é¤å¾ï¼
- å»ºæ§æå
- 測試éé
- ç¡ console é¯èª¤
- æäº¤è®æ´
- æ´æ° DELETION_LOG.md
常è¦ç§»é¤æ¨¡å¼
1. æªä½¿ç¨ç Imports
// ç§»é¤æªä½¿ç¨ç imports
import { useState, useEffect, useMemo } from 'react' // åªç¨å° useState
// åªä¿ç使ç¨ç
import { useState } from 'react'
2. æ»ä»£ç¢¼åæ¯
// ç§»é¤ä¸å¯éç¨å¼ç¢¼
if (false) {
// æ°¸é 䏿å·è¡
doSomething()
}
// ç§»é¤æªä½¿ç¨ç彿¸
export function unusedHelper() {
// ç¨å¼ç¢¼åº«ä¸ç¡å¼ç¨
}
3. éè¤å ä»¶
// å¤åç¸ä¼¼å
ä»¶
components/Button.tsx
components/PrimaryButton.tsx
components/NewButton.tsx
// æ´åçºä¸å
components/Button.tsx (ä½¿ç¨ variant prop)
4. æªä½¿ç¨çä¾è³´
// å·²å®è£ä½æª import çå¥ä»¶
{
"dependencies": {
"lodash": "^4.17.21", // ç¡è使ç¨
"moment": "^2.29.4" // 已被 date-fns å代
}
}
ç·æ¥æ¢å¾©
å¦æç§»é¤å¾åºé¯ï¼
# 1. ç«å³å滾
git revert HEAD
npm install
npm run build
npm test
# 2. 調æ¥åå
# - ä»éº¼å¤±æäº?
# - æ¯åæ
import?
# - 檢測工å
·éºæ¼äºä»éº¼?
# 3. ä¿®æ£åå
# - æ¨è¨çºãç¦æ¢ç§»é¤ã
# - è¨éçºä½æª¢æ¸¬å·¥å
·éºæ¼
# - å ä¸æç¢ºé¡å註解
æä½³å¯¦è¸
- å¾å°èèæ – 䏿¬¡ç§»é¤ä¸åé¡å¥
- é »ç¹æ¸¬è©¦ – æ¯æ¹æ¬¡å¾å·è¡æ¸¬è©¦
- 宿´è¨é – æ´æ° DELETION_LOG.md
- ä¿å®è¡äº – æçæ ®å°±ä¸ç§»é¤
- Git Commits – æ¯åéè¼¯ç§»é¤æ¹æ¬¡ä¸å commit
- 忝ä¿è· – 總æ¯å¨ feature branch å·¥ä½
- ååå¯©æ¥ – åä½µåè®åªé¤è¢«å¯©æ¥
- ç£æ§çç¢ – é¨ç½²å¾è§å¯é¯èª¤
Pull Request ç¯æ¬
## éæ§: ç¨å¼ç¢¼æ¸
ç
### æè¦
æ»ä»£ç¢¼æ¸
çï¼ç§»é¤æªä½¿ç¨ç exportsãä¾è³´åéè¤ã
### è®æ´
- ç§»é¤ X åæªä½¿ç¨çæªæ¡
- ç§»é¤ Y åæªä½¿ç¨çä¾è³´
- æ´å Z åéè¤å
ä»¶
- è©³è¦ docs/DELETION_LOG.md
### 測試
- [x] 建æ§éé
- [x] æææ¸¬è©¦éé
- [x] æåæ¸¬è©¦å®æ
- [x] ç¡ console é¯èª¤
### å½±é¿
- å¥ä»¶å¤§å°: -XX KB
- ç¨å¼ç¢¼è¡æ¸: -XXXX
- ä¾è³´: -X å¥ä»¶
### 風éªçç´
ä½ - å
ç§»é¤å¯é©èçæªä½¿ç¨ç¨å¼ç¢¼
è©³è¦ DELETION_LOG.mdã
æåæ¨æº
æ¸ ç使¥å¾ï¼
- æææ¸¬è©¦éé
- å»ºæ§æå
- ç¡ console é¯èª¤
- DELETION_LOG.md å·²æ´æ°
- å¥ä»¶å¤§å°å·²æ¸å°
- çç¢ç°å¢ç¡åæ¸