MCP HubMCP Hub
스킬 목록으로 돌아가기

clean-codebase

pjt222
업데이트됨 6 days ago
20 조회
17
2
17
GitHub에서 보기
문서api

정보

이 스킬은 사용되지 않는 코드, 미사용 임포트, 린트 경고와 같은 코드 위생 문제를 자동으로 정리하면서 코드베이스 전체의 서식을 표준화합니다. 급속한 개발 이후 기술 부채가 누적되는 유지보수 단계를 위해 설계되었으며, 비즈니스 로직이나 아키텍처는 변경하지 않습니다. 정적 분석 경고를 일관되게 수정하고 서식 표준을 강제 적용하는 데 사용하세요.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/clean-codebase

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

clean-codebase

庫積衛生債時用:

  • lint 警速積於急開發
  • 未用入、變混檔
  • 死碼路在而未除
  • 格式諸檔不一
  • 靜析具報可修者

勿用於架構重構、修錯、商邏變。此技純衛生與自動清。

codebase_pathstringYesAbsolute path to codebase root
languagestringYesPrimary language (js, python, r, rust, etc.)
cleanup_modeenumNosafe (default) or aggressive
run_testsbooleanNoRun test suite after cleanup (default: true)
backupbooleanNoCreate backup before deletion (default: true)

一:清前察

量現狀以後比進。

# Count lint warnings by severity
lint_tool --format json > lint_before.json

# Count lines of code
cloc . --json > cloc_before.json

# List unused symbols (language-dependent)
# JavaScript/TypeScript: ts-prune or depcheck
# Python: vulture
# R: lintr unused function checks

得: 基線存於 lint_before.jsoncloc_before.json

敗: lint 具缺→略自動修、焦手審

二:修自動 lint 警

施安全自動修(間距、引號、分號、末空白)。

JavaScript/TypeScript:

eslint --fix .
prettier --write .

Python:

black .
isort .
ruff check --fix .

R:

Rscript -e "styler::style_dir('.')"

Rust:

cargo fmt
cargo clippy --fix --allow-dirty

得: 諸安全 lint 警皆解;格式一致

敗: 自動修致測敗→復而升

三:識死碼路

用靜析尋未引函、未用變、孤檔。

JavaScript/TypeScript:

ts-prune | tee dead_code.txt
depcheck | tee unused_deps.txt

Python:

vulture . | tee dead_code.txt

R:

Rscript -e "lintr::lint_dir('.', linters = lintr::unused_function_linter())"

通法

  1. Grep 函定
  2. Grep 函呼
  3. 報定而未呼者

得: dead_code.txt 列未用函、變、檔

敗: 靜析具缺→手審近 commit 史尋孤碼

四:除未用入

清入塊,除未用之包引。

JavaScript:

eslint --fix --rule 'no-unused-vars: error'

Python:

autoflake --remove-all-unused-imports --in-place --recursive .

R:

# Manual review: grep for library() calls, check if package used
grep -r "library(" . | cut -d: -f2 | sort | uniq

得: 未用入語皆除

敗: 除入破建→間接用也,復而記

五:除死碼(依模)

Safe Mode(默):

  • 只除明標廢者
  • 除註釋塊(>10 行且 >6 月舊)
  • 除 TODO 涉已畢之 issue

Aggressive Mode(入選):

  • 除步三所識諸未用函
  • 除零引之私法
  • 除已廢功能之 feature flag

每候刪:

  1. 驗庫中零引
  2. 察 git 史近動(30 日內改→略)
  3. 刪且入 CLEANUP_LOG.md

得: 死碼已除;CLEANUP_LOG.md 記諸刪

敗: 碼死否不確→移至 archive/ 目錄替代

六:歸格式

確諸檔格式一致(即 linter 未捕者)。

  1. 歸行末(LF vs CRLF)
  2. 檔末單換行
  3. 除末空白
  4. 歸縮進(空格 vs tab、寬)
# Example: Fix line endings and trailing whitespace
find . -type f -name "*.js" -exec sed -i 's/\r$//' {} +
find . -type f -name "*.js" -exec sed -i 's/[[:space:]]*$//' {} +

得: 諸檔守一致格式

敗: sed 破二進檔→略而記

七:行測

驗清未破功能。

# Language-specific test command
npm test              # JavaScript
pytest                # Python
R CMD check           # R
cargo test            # Rust

得: 諸測皆過(或清前同之敗)

敗: 漸復以識破因,升報

八:生清報

記諸變以審。

# Codebase Cleanup Report

**Date**: YYYY-MM-DD
**Mode**: safe | aggressive
**Language**: <language>

## Metrics

| Metric | Before | After | Change |
|--------|--------|-------|--------|
| Lint warnings | X | Y | -Z |
| Lines of code | A | B | -C |
| Unused imports | D | 0 | -D |
| Dead functions | E | F | -G |

## Changes Applied

1. Fixed X lint warnings (automated)
2. Removed Y unused imports
3. Deleted Z lines of dead code (see CLEANUP_LOG.md)
4. Normalized formatting across W files

## Escalations

- [Issue description requiring human review]
- [Uncertain deletion moved to archive/]

## Validation

- [x] All tests pass
- [x] Backup created: backup_YYYYMMDD/
- [x] CLEANUP_LOG.md updated

得: 報存於 CLEANUP_REPORT.md 於項目根

敗: (無——無論結果皆生報)

清後:

  • 諸測皆過(或清前同敗)
  • 無新 lint 警
  • 刪前備已立
  • CLEANUP_LOG.md 記諸除碼
  • 清報含量度已生
  • Git diff 審察意外變
  • CI 管道過

  1. 除反射尚用之碼:靜析漏動呼(如 eval()、元編程)。必察 git 史。

  2. 破隱依:除依賴所用之入。每除後行測。

  3. 刪在用功能之 feature flag:雖當前分支未用,或他境在行。察部署配。

  4. 過激格式化:如 blackprettier 或重排致無謂 diff。配具守項目風。

  5. 忽測覆:無測之庫不可安清。覆低→先升補測。

  6. 不備:刪前必建 backup_YYYYMMDD/,即 git 在亦然。

  7. 混系統之誤 R bin:WSL 或 Docker 中,Rscript 或解至跨平臺封裝非原生 R。驗 which Rscript && Rscript --version。取原生 R bin(如 Linux/WSL 之 /usr/local/bin/Rscript)為靠。見Setting Up Your Environment之 R 路徑配。

GitHub 저장소

pjt222/agent-almanac
경로: i18n/wenyan-ultra/skills/clean-codebase
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

railway-docs

문서

이 스킬은 Railway의 기능, 작동 방식 또는 특정 문서 URL에 대한 질문에 답하기 위해 최신 Railway 문서를 가져옵니다. 개발자들이 Railway의 공식 소스로부터 정확하고 최신 정보를 직접 받을 수 있도록 보장합니다. 사용자가 Railway의 작동 방식을 묻거나 Railway 문서를 참조할 때 사용하세요.

스킬 보기

n8n-code-python

문서

이 Claude Skill은 n8n의 Code 노드에서 Python 코드를 작성할 때 전문적인 지침을 제공하며, 특히 Python 표준 라이브러리 사용과 n8n의 특수 구문인 `_input`, `_json`, `_node` 작업에 중점을 둡니다. 이는 개발자가 n8n 내에서 Python의 제한 사항을 이해하도록 돕고, 대부분의 워크플로에는 JavaScript 사용을 권장하면서도 특정 데이터 변환 요구사항에 대한 Python 솔루션을 제안합니다.

스킬 보기

archon

문서

Archon 스킬은 REST API를 통해 RAG 기반 시맨틱 검색과 프로젝트 관리를 제공합니다. 이 스킬을 사용하여 문서 검색, 계층적 프로젝트/태스크 관리, 문서 업로드 기능을 갖춘 지식 검색을 수행할 수 있습니다. 외부 문서를 검색할 때는 다른 소스를 사용하기 전에 항상 Archon을 최우선으로 활용하세요.

스킬 보기

n8n-code-javascript

문서

이 Claude Skill은 n8n의 Code 노드에서 JavaScript 코드 작성에 대한 전문적인 지침을 제공합니다. `$input`/`$json` 변수, HTTP 헬퍼, DateTime 처리와 같은 필수적인 n8n 특정 구문을 다루며 일반적인 오류를 해결합니다. Code 노드에서 사용자 정의 JavaScript 처리가 필요한 n8n 워크플로우를 개발할 때 활용하세요.

스킬 보기