단로그

천천히, 꾸준히 기록하는 개발 블로그

개발과 관련된 코드, 생각 등의 기록을 공유하는 개인 블로그입니다.

단로그 — lint-format-deadcode-ci-통합하기.md
---
title: "AI 시대, knip으로 Dead Code 말끔히 정리하기"
date: 2026-05-29
tags: [Frontend, CI]
---

최근에 AI로 코드를 많이 작성하면서, 코드의 이해와 퀄리티에 대한 이슈가 많이 부각되고 있습니다.

생성 속도가 빨라진만큼, 코드가 방대해지고 기획도 자주 바뀌면서 **dead code**(사용하지 않는 코드)가 빠르게 쌓입니다.

이번에는 knip을 사용해 사용하지 않는 코드를 정리하고, 이를 린트와 함께 CI에 적용하여서 프로젝트 관리하는 방법을 알아봅니다.

실제 회사의 모노레포 프로젝트에 knip을 도입하고, biome·knip·테스트를 GitHub Actions에 적용하여 **158개 파일, 8,443라인, 16개 의존성**을 걷어냈고, 매 PR에 적용되도록 자동화하였습니다.

## 1. knip

[knip](https://knip.dev/)은 프로젝트 안에서 **사용하지 않는 파일·export·의존성**을 찾아주는 데드코드 분석 도구입니다. 단순히 문자열을 검색하는 것이 아니라, 프레임워크와 도구 설정을 바탕으로 진입점부터 import 그래프를 따라가며 실제로 도달 가능한 코드와 그렇지 않은 코드를 구분합니다.

knip을 도입하는 이유를 다음과 같이 설명합니다.

자주 다루는 주제

ReactTypeScriptReact QueryArchitectureToolingJournal

함께 일한 동료들이 전하는 이야기.

찰리 브라운 프론트엔드 개발자 · 팀 동료
“열정적으로 업무에 대해 탐구하고 의견을 제안합니다. 항상 수용적인 태도로 상대방의 의견을 받아주고, 본인의 주장도 상대방을 생각하는 태도로 잘 전달할 줄 아는 장점이 있습니다.”
마시 앱 개발자 · 팀 동료
“확실한 의사 표현과 빠른 작업 속도가 강점입니다. 또 트렌드, 인사이트를 많이 찾아보고 팀에 공유도 많이 해주시는 편이라 건휘님이 관심을 갖고 있는 기술적 영역과, 적용해볼 수 있는 다양한 작업들까지 아이디어를 확장해볼 수 있어 많은 도움이 됩니다.”
프랭클린 QA 엔지니어 · 동료
“주어진 과업에 최선을 다하며, 믿고 맡길 수 있는 동료입니다. 문제를 만날때 해결 할 수 있는 여러가지 아이디어를 제시하는 점이 큰 장점입니다.”
스누피 백엔드 개발자 · 동료
“책임감이 강해서 누구보다 업무 집중도가 뛰어납니다. 본인이 만든 작업물에 큰 애정이 있어서 지치지 않고 즐기며 일하는 모습을 보일 때가 있습니다.”
바이올렛 프론트엔드 교육 · 동료
“디스코드에 생각을 공유해 주시는 걸 보면, 지속적으로 본인만의 고민을 이어나가고 그걸 해결하고자 하는 의지가 뛰어난 분이라고 생각했어요.”
페퍼민트 패티 프론트엔드 교육 · 동료
“배운 것들을 금방 업무에 적용해보고, 그게 좋은 방법이든 안좋은 방법이든 스스로 근거를 세워보고, 피드백 받고, 반영하고 이런 과정들이 빠르게 진행되는 모습이 좋았던 것 같아요.”
슈로더 프론트엔드 교육 · 코치
“꾸준히 최선을 다해 작성하신 코드를 들고 와서 깨지고, 그러고 나서 다시 들고와서 깨지고를 반복하시는 모습이 인상적이었습니다”
라이너스 반 펠트 프로덕트 디자이너 · 동료
“작업 속도도 빠르고 많은 아이디어를 가지고 있어 타 직무에서도 건휘님을 통해 많은 인사이트를 얻고 있습니다. 그리고 누구보다 우리 서비스를 '잘' 만들고자 하는 의지가 강하고, 상황을 객관적으로 판단하려는 모습이 보입니다”
샐리 브라운 프론트엔드 교육 · 동료
“본인의 감정 상태를 가감없이 드러내고 늘 질문을 이끌어가는 건휘님 보면서 많이 배웠습니다! 어디 가서도 좋은 리더가 되실 거에요”
React TypeScript Next.js React Query zod tailwindcss