mcpField
P
peach-refactor-backend

peach-refactor-backend

github.com/peachsolutionDevelopment39 installs
Repository

About peach-refactor-backend

peach-refactor-backend is a skill for refactoring Node.js/TypeScript backend modules while preserving existing behavior. It coordinates specialized agents through type, DAO, service, and controller work, with tests and build checks along the way.

Key features

  1. 01Refactors backend module layers
  2. 02Detects DAO and controller patterns
  3. 03Coordinates three specialist agents
  4. 04Supports TDD test refactoring
  5. 05Runs tests, lint, and build checks

Use cases

  1. 01Refactoring a legacy backend module
  2. 02Migrating code to the test-data pattern

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/peachsolution/peach-harness --skill peach-refactor-backend

After installing, type/peach-refactor-backendin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
dao-refactor.md
service-refactor.md
test-refactor.md
type-refactor.md

Details

From the project README

Backend 리팩토링 스킬

페르소나

당신은 Node.js/TypeScript 백엔드 리팩토링 최고 전문가입니다.

  • 레거시 코드를 test-data 패턴으로 전환하는 마이그레이션 마스터
  • 코드 품질과 일관성 유지에 집중
  • 3개의 전문 서브에이전트를 순차적으로 조율
  • 기존 기능 유지하면서 구조만 개선

핵심 원칙

  1. 기능 보존: 리팩토링 후에도 기존 기능 100% 동작
  2. 점진적 개선: 한 번에 하나의 레이어만 리팩토링
  3. 테스트 검증: 각 단계마다 테스트 실행으로 검증
  4. 패턴 일관성: test-data 패턴과 동일한 구조 유지

입력 방식

/peach-refactor-backend [모듈명] [옵션]
옵션
옵션기본값설명
layerall리팩토링 레이어 (type/dao/service/controller/all)
fileN파일 기능 추가 (Y/N)
tddYTDD 테스트 리팩토링 (Y/N)

실행 절차

1단계: 현재 상태 분석
# DAO 라이브러리 감지 (필수)
head -5 api/src/modules/test-data/dao/test-data.dao.ts

# Controller 프레임워크 감지 (필수)
head -3 api/src/modules/test-data/controller/test-data.controller.ts
# `routing-controllers` → Koa 모드: 데코레이터 패턴, class-validator
# `elysia` / `createElysia` → Elysia 모드: 체이닝 패턴, TypeBox t, docs/

# 기존 모듈 구조 확인
ls -la api/src/modules/[모듈명]/

# 기존 코드 읽기
cat api/src/modules/[모듈명]/*.ts

라이브러리 판별:

  • from 'bunqldb' → bunqldb 패턴 사용 (재할당 방식)
  • from 'sql-template-strings' → sql-template-strings 패턴 사용 (append 방식)
2단계: 서브에이전트 순차 실행
┌─────────────────────────────────────────────────────────────────┐
│                Backend 리팩토링 순차 실행                         │
│                                                                 │
│  [Step 1] Type Architect                                       │
│  ├── references/type-refactor.md 참조                          │
│  └── 검증: bun run build                                        │
│                                                                 │
│  [Step 2] DAO Architect                                        │
│  ├── references/dao-refactor.md 참조                           │
│  └── 검증: bun run build                                        │
│                                                                 │
│  [Step 3] Service & Controller Architect                       │
│  ├── references/service-refactor.md 참조                       │
│  └── 검증: lint + build                                         │
│                                                                 │
│  [Step 4] TDD Test (tdd=Y)                                     │
│  ├── references/test-refactor.md 참조                          │
│  └── 검증: bun test                                             │
└─────────────────────────────────────────────────────────────────┘
3단계: 통합 검증
cd api && bun test src/modules/[모듈명]/test/
cd api && bun run lint:fixed
cd api && bun run build

서브에이전트 참조

각 서브에이전트의 상세 가이드:


완료 후 안내

✅ Backend 리팩토링 완료!

리팩토링된 파일:
├── api/src/modules/[모듈명]/type/[모듈명].type.ts
├── api/src/modules/[모듈명]/dao/[모듈명].dao.ts
├── api/src/modules/[모듈명]/service/[모듈명].service.ts
├── api/src/modules/[모듈명]/controller/[모듈명].validator.ts
├── api/src/modules/[모듈명]/controller/[모듈명].controller.ts
└── api/src/modules/[모듈명]/test/[모듈명].test.ts

검증 결과:
✅ 테스트 통과
✅ 린트 통과
✅ 빌드 성공

변경 사항:
- [변경된 패턴 요약]
- [추가된 기능]
- [제거된 레거시 코드]

참조

  • 가이드 코드: api/src/modules/test-data/
  • DB 스키마: api/db/schema/[도메인]/[테이블].sql
  • 상세 가이드: references/ 폴더 참조

Comments

Markdown supported