Skip to content

Codemap & Cleanup Commands

아키텍처 문서화와 코드 정리를 위한 명령어 레퍼런스입니다.

Overview

명령어목적주요 도구
/jikime:codemapAST 분석 기반 아키텍처 문서화ts-morph, madge
/jikime:cleanupDead code 탐지 및 안전한 제거knip, depcheck, ts-prune

/jikime:codemap

AST 분석 기반 아키텍처 매핑

항목내용
설명코드베이스에서 아키텍처 문서를 자동 생성
TypeUtility (Type B)
Contextsync.md
Skilljikime-workflow-codemap
단독 사용✅ 높음 - 언제든 독립 실행 가능

Usage

bash
# 전체 아키텍처 맵 생성
/jikime:codemap all

# 특정 영역만 생성
/jikime:codemap frontend
/jikime:codemap backend
/jikime:codemap database
/jikime:codemap integrations

# AST 분석 포함 (TypeScript/JavaScript)
/jikime:codemap all --ast

# 의존성 그래프 생성
/jikime:codemap all --deps

# 강제 재생성
/jikime:codemap all --refresh

# JSON 출력 (자동화용)
/jikime:codemap all --json

Options

Option설명
all모든 영역의 codemap 생성
frontend프론트엔드 아키텍처만
backend백엔드/API 아키텍처만
database데이터베이스 스키마/모델
integrations외부 서비스 연동
--astts-morph로 AST 분석 활성화
--depsmadge로 의존성 그래프 생성
--refresh캐시 무시하고 강제 재생성
--json자동화를 위한 JSON 출력

분석 도구

1. ts-morph (AST 분석)

TypeScript/JavaScript 프로젝트의 구조적 분석:

typescript
// 추출 정보
- 모든 exported 함수, 클래스, 타입
- import/export 관계
- 모듈 의존성
- 라우트 정의 (Next.js, Express 등)

2. madge (의존성 그래프)

bash
# SVG 그래프 생성
npx madge --image docs/CODEMAPS/assets/dependency-graph.svg src/

# 순환 의존성 탐지
npx madge --circular src/

프레임워크 감지

감지 파일프레임워크Codemap 초점
next.config.*Next.jsApp Router, API Routes, Pages
vite.config.*ViteComponents, Modules
angular.jsonAngularModules, Services, Components
nuxt.config.*NuxtPages, Plugins, Modules
package.json + expressExpressRoutes, Middleware
go.modGoPackages, Handlers
Cargo.tomlRustCrates, Modules
pyproject.tomlPythonPackages, Modules

Output Structure

docs/
├── CODEMAPS/
│   ├── INDEX.md              # 아키텍처 개요
│   ├── frontend.md           # 프론트엔드 구조
│   ├── backend.md            # 백엔드/API 구조
│   ├── database.md           # 데이터베이스 스키마
│   ├── integrations.md       # 외부 서비스
│   └── assets/
│       ├── dependency-graph.svg
│       └── architecture-diagram.svg

Codemap 파일 형식

markdown
# [Area] Codemap

**Last Updated:** YYYY-MM-DD
**Version:** X.Y.Z
**Entry Points:** [주요 진입점 목록]

## Overview
[영역에 대한 간략한 설명]

## Architecture
[컴포넌트 관계를 보여주는 ASCII 다이어그램]

## Key Modules

| Module | Purpose | Exports | Dependencies |
|--------|---------|---------|--------------||
| ... | ... | ... | ... |

## Data Flow
[이 영역을 통한 데이터 흐름 설명]

## External Dependencies
- package@version - 용도
- ...

## Related Codemaps
- [Related Area](./related.md)

Process

Phase 1: Discovery

  프레임워크, 언어, 프로젝트 타입 감지

  진입점과 핵심 파일 식별

Phase 2: Analysis

  AST 파싱 (ts-morph for TS/JS)

  의존성 그래프 (madge)

  패턴 인식 (MVC, Clean 등)

Phase 3: Generation

  구조화된 codemap 생성

  ASCII 다이어그램 생성

  관계 테이블 빌드

Phase 4: Validation

  경로 존재 확인

  링크 타겟 검증

  커버리지 통계 리포트

/jikime:cleanup

Dead Code 탐지 및 안전한 제거

항목내용
설명종합적인 dead code 분석과 DELETION_LOG 추적
TypeUtility (Type B)
Contextdev.md
Agentrefactorer
단독 사용✅ 높음 - 언제든 독립 실행 가능

Usage

bash
# Dead code 스캔 (분석만, 변경 없음)
/jikime:cleanup scan

# Safe 항목만 제거 (저위험)
/jikime:cleanup remove --safe

# Careful 항목 포함 제거 (중위험, 확인 필요)
/jikime:cleanup remove --careful

# 특정 카테고리만 대상
/jikime:cleanup remove --deps      # 미사용 npm 의존성
/jikime:cleanup remove --exports   # 미사용 exports
/jikime:cleanup remove --files     # 미사용 파일

# Dry run (무엇이 제거될지 보여줌)
/jikime:cleanup scan --dry-run

# 삭제 기록 확인
/jikime:cleanup log

# 종합 정리 리포트 생성
/jikime:cleanup report

Options

Option설명
scan코드베이스의 dead code 분석 (변경 없음)
remove감지된 dead code 제거
report종합 정리 리포트 생성
logDELETION_LOG.md 기록 확인
--safe저위험 항목만 제거
--careful중위험 항목 포함 (검증 필요)
--deps미사용 의존성 대상
--exports미사용 exports 대상
--files미사용 파일 대상
--dry-run무엇이 제거될지 보여줌

분석 도구

1. knip - 종합 Dead Code 탐지

bash
# 설치
npm install -D knip

# 전체 분석
npx knip

# JSON 리포트
npx knip --reporter json > .jikime/cleanup/knip-report.json

탐지 항목:

  • 미사용 파일
  • 미사용 exports
  • 미사용 dependencies
  • 미사용 devDependencies
  • 미사용 types

2. depcheck - 의존성 분석

bash
# 설치
npm install -D depcheck

# 분석
npx depcheck

# JSON 리포트
npx depcheck --json > .jikime/cleanup/depcheck-report.json

탐지 항목:

  • 미사용 dependencies
  • 누락된 dependencies
  • Phantom dependencies

3. ts-prune - TypeScript Export 분석

bash
# 설치
npm install -D ts-prune

# 분석
npx ts-prune

# 필터링
npx ts-prune | grep -v "used in module"

탐지 항목:

  • 미사용 exports
  • 미사용 types
  • Dead code paths

4. ESLint - 미사용 지시문

bash
# 미사용 eslint-disable 코멘트 확인
npx eslint . --report-unused-disable-directives

위험 분류 시스템

SAFE (자동 제거 가능)

카테고리위험탐지 방법검증
미사용 npm deps낮음depcheckimport 없음 확인
미사용 devDeps낮음depcheck스크립트에서 사용 없음
주석 처리된 코드낮음Regex 패턴시각적 확인
미사용 imports낮음ESLint + knip참조 없음
미사용 eslint-disable낮음ESLint 리포트지시문 확인

CAREFUL (확인 필요)

카테고리위험탐지 방법검증
미사용 exports중간ts-prune + knipGrep + git history
미사용 파일중간knip동적 import 확인
미사용 types중간ts-prune타입 추론 확인
Dead branches중간Coverage report런타임 테스트

RISKY (수동 리뷰 필요)

카테고리위험탐지 방법검증
Public API높음API tests통합 테스트
공유 유틸리티높음크로스 프로젝트 검색이해관계자 리뷰
동적 imports높음String 패턴 검색런타임 테스트
Reflection 코드높음패턴 분석전체 테스트 스위트

DDD-Aligned Workflow

Phase 1: ANALYZE
    └─ 모든 탐지 도구 병렬 실행
    └─ 위험 분류와 함께 결과 집계
    └─ 영향받는 코드의 테스트 커버리지 확인
    └─ 컨텍스트를 위한 git history 리뷰

Phase 2: PRESERVE
    └─ 영향받는 코드에 특성화 테스트 존재 확인
    └─ 백업 브랜치 생성: cleanup/YYYY-MM-DD-HHMM
    └─ 테스트 없으면 현재 동작 문서화

Phase 3: IMPROVE
    └─ 카테고리별 제거 (가장 안전한 것부터):
        a. 미사용 npm dependencies
        b. 미사용 devDependencies
        c. 미사용 imports
        d. 미사용 exports
        e. 미사용 files
    └─ 각 카테고리 후:
        - 빌드 실행
        - 전체 테스트 스위트 실행
        - 통과하면 커밋
        - DELETION_LOG.md 업데이트

DELETION_LOG.md 형식

모든 삭제는 docs/DELETION_LOG.md에 추적됩니다:

markdown
# Code Deletion Log

코드 정리 작업의 감사 추적 기록.

---

## [YYYY-MM-DD HH:MM] Cleanup Session

**Operator**: J.A.R.V.I.S. / refactorer agent
**Branch**: cleanup/YYYY-MM-DD-HHMM
**Commit**: abc123def
**Tools**: knip v5.x, depcheck v1.x, ts-prune v0.x

### Summary

| Category | Items | Lines | Size Impact |
|----------|-------|-------|-------------|
| Dependencies | 5 | - | -120 KB |
| DevDependencies | 3 | - | -45 KB |
| Files | 12 | 1,450 | -45 KB |
| Exports | 23 | 89 | - |
| Imports | 45 | 45 | - |
| **Total** | **88** | **1,584** | **-210 KB** |

### Dependencies Removed

| Package | Version | Reason | Alternative |
|---------|---------|--------|-------------|
| lodash | 4.17.21 | Not imported | Use native methods |
| moment | 2.29.4 | Deprecated | date-fns already used |

### Files Deleted

| Path | Lines | Last Modified | Replaced By |
|------|-------|---------------|-------------|
| src/utils/old-helpers.ts | 120 | 2023-08-15 | N/A (unused) |
| src/components/LegacyButton.tsx | 85 | 2023-09-01 | Button.tsx |

### Verification Results

- [x] TypeScript compiles: `npx tsc --noEmit`
- [x] Build succeeds: `npm run build`
- [x] Tests pass: 47/47 (100%)
- [x] No lint errors: `npm run lint`
- [x] Bundle size verified

### Recovery Instructions

```bash
# 이 정리 후 문제 발생 시:
git log --oneline | head -5  # 정리 커밋 찾기
git revert <commit-sha>       # 특정 커밋 되돌리기
npm install                   # 의존성 재설치
npm run build && npm test     # 복구 확인

### Protected Items

`.jikime/cleanup/protected.yaml`에서 제거 금지 항목 관리:

```yaml
# 제거하면 안 되는 항목
protected:
  dependencies:
    - "@types/*"  # 타입 정의
    - "eslint-*"  # 린팅 인프라

  files:
    - "src/polyfills/*"  # 브라우저 호환성
    - "src/lib/dynamic-*"  # 동적 import 대상

  exports:
    - "src/api/public.ts:*"  # Public API
    - "src/sdk/index.ts:*"   # SDK exports

  patterns:
    - "**/index.ts"  # Barrel files (미사용으로 보일 수 있음)
    - "**/__tests__/*"  # 테스트 유틸리티

Safety Checklist

제거 전 검증:

  • [ ] 모든 탐지 도구 실행됨
  • [ ] 위험 분류 완료
  • [ ] 백업 브랜치 생성됨
  • [ ] 특성화 테스트 존재 (또는 생성됨)
  • [ ] 컨텍스트를 위한 git history 리뷰됨
  • [ ] 동적 import 패턴 확인됨
  • [ ] Public API 영향 평가됨

제거 후 검증:

  • [ ] TypeScript 에러 없이 컴파일
  • [ ] 빌드 성공
  • [ ] 모든 테스트 통과
  • [ ] 콘솔 에러 없음
  • [ ] 번들 사이즈 측정됨
  • [ ] DELETION_LOG.md 업데이트됨
  • [ ] 커밋 메시지 상세함

TRUST 5 Integration

원칙CodemapCleanup
Tested생성된 문서 경로 검증각 제거 후 테스트 실행
Readable명확한 구조와 ASCII 다이어그램노이즈 제거, 신호/잡음비 개선
Unified일관된 문서 형식중복 통합
Secured민감 정보 노출 방지취약점 있는 미사용 deps 제거
Trackable타임스탬프와 버전 관리DELETION_LOG.md 감사 추적

J.A.R.V.I.S. / F.R.I.D.A.Y. 출력 형식

J.A.R.V.I.S. (개발)

markdown
## J.A.R.V.I.S.: Codemap Generation Complete

### Generated Files
| File | Lines | Modules Documented |
|------|-------|-------------------|
| docs/CODEMAPS/INDEX.md | 120 | 5 entry points |
| docs/CODEMAPS/frontend.md | 85 | 12 components |
| docs/CODEMAPS/backend.md | 95 | 8 endpoints |

### Coverage
- Files analyzed: 47
- Modules documented: 25
- Dependencies mapped: 32
- Circular dependencies: 0

### Predictive Suggestions
- Consider documenting workers/ directory
- API rate limiting not documented
markdown
## J.A.R.V.I.S.: Cleanup Scan Complete

### Dead Code Summary
| Category | Found | Risk | Action |
|----------|-------|------|--------|
| Dependencies | 5 | SAFE | Auto-remove |
| Exports | 23 | CAREFUL | Review |
| Files | 12 | CAREFUL | Review |
| Dynamic refs | 2 | RISKY | Skip |

### Recommended Actions

**Immediate (SAFE)**:
1. Remove 5 unused dependencies (-120 KB)
2. Remove 15 unused imports

**Review Required (CAREFUL)**:
1. 12 files appear unused but check git history
2. 23 exports not directly referenced

### Estimated Impact
- Bundle size: -165 KB (~8% reduction)
- Lines of code: -1,539
- Files: -12

Proceed with --safe removal? Use: /jikime:cleanup remove --safe

F.R.I.D.A.Y. (마이그레이션)

markdown
## F.R.I.D.A.Y.: Migration Cleanup

### Legacy Code Status
| Module | Dead Code | Migrated | Clean |
|--------|-----------|----------|-------|
| Auth | 5 items | Yes | No |
| Users | 0 items | Yes | Yes |
| Products | 12 items | Yes | No |

### Migration-Safe Removal
Only removing code that has been:
- Fully migrated to target framework
- Verified by characterization tests
- Not referenced in migration artifacts

Command Comparison

상황권장 명령어
아키텍처 문서화 필요/jikime:codemap all
의존성 그래프 시각화/jikime:codemap all --deps
Dead code 현황 파악/jikime:cleanup scan
안전한 정리 작업/jikime:cleanup remove --safe
정리 기록 확인/jikime:cleanup log
리팩토링 전 정리/jikime:cleanup scan/jikime:refactor

  • /jikime:docs - 문서 업데이트 및 동기화
  • /jikime:refactor - DDD 기반 코드 리팩토링
  • /jikime:3-sync - SPEC 완료 및 문서 동기화
  • /jikime:learn - 코드베이스 탐색 및 학습

  • jikime-workflow-codemap - Codemap 생성 워크플로우
  • jikime-workflow-ddd - DDD 방법론 (ANALYZE-PRESERVE-IMPROVE)
  • jikime-foundation-quality - TRUST 5 품질 프레임워크

Version: 1.0.0 Last Updated: 2026-01-25 Integration: AST analysis (ts-morph), Dependency graphs (madge), Dead code detection (knip, depcheck, ts-prune)

Released under the MIT License.