[00:00]
만약 여러분이 Claude Code를 많이 사용해왔다면,
[00:02]
그리고 제 영상들을 보고 계시다면,
[00:04]
아마 그럴 가능성이 높은데요. 이런 슬래시 명령어를
[00:07]
접해보셨을 겁니다. 잠깐 화면을 줄여볼게요.
[00:10]
바로 compact라는 명령어입니다.
[00:13]
Compact는 기본적으로 전체
[00:15]
대화 기록과 모든 컨텍스트를 가져와서
[00:17]
요약본을 만들어줍니다.
[00:20]
그래서 새로운 코딩 세션을 시작할 수 있게 해주죠.
[00:22]
컨텍스트 윈도우 끝에 다다를 때 실행되는데
[00:24]
명령어를 입력하고 끝에 선택적으로
[00:26]
지시사항을 추가할 수 있습니다.
[00:29]
하지만 제 경험상 compact의 문제점은
[00:31]
실제로는 무슨 일이 일어났는지에 대한
[00:33]
좋은 요약을 제공하지 못한다는 것입니다.
[00:36]
그래서 다음 채팅을 시작할 때
[00:38]
실제로는 그다지 도움이 되지 않고
[00:40]
여전히 많은 것들을 잊어버리는 것 같습니다.
[00:42]
여전히 많은 것들을 잊어버리는 것 같습니다.
[00:44]
그리고 나서 매우 이상한 방식으로
[00:46]
일을 처리하려고 합니다.
[00:48]
그래서 이 문제에 대해 생각해보고
[00:51]
저만의 더 나은 시스템을 구축했습니다.
[00:54]
이 프로젝트에서 Claude 폴더가 있고
[00:57]
명령어 세트가 있습니다.
[00:59]
여기에서 Claude가 원하는 작업을 수행하도록
[01:01]
사용자 정의 명령어를 추가할 수 있습니다.
[01:03]
여기에 목록이 있고
[01:06]
이 각각을 살펴보겠습니다.
[01:07]
슬래시 세션 헬프부터 시작하겠습니다.
[01:10]
슬래시 세션 헬프부터 시작하겠습니다.
[01:14]
헬프.
[01:17]
이 명령어를 실행하면
[01:19]
여기 있는 파일을 확인해서
[01:21]
무엇을 해야 하는지 파악하고
[01:23]
여기서 정확히 무엇을 할 수 있는지 설명합니다.
[01:25]
세션 관리 명령어이고
[01:28]
세션 시작, 세션 업데이트,
[01:30]
세션 종료, 세션 목록 보기,
[01:32]
그리고 현재 세션이 무엇인지 확인하기 같은
[01:34]
다양한 명령어들이 있습니다.
[01:36]
다양한 명령어들이 있습니다.
[01:38]
모두 매우 직관적인 기능들입니다.
[01:40]
여기서 간단한 예제를 실행하고
[01:42]
이것들을 공개할 예정입니다.
[01:43]
이 영상 아래를 확인하시면
[01:46]
GitHub 링크를 보실 수 있고
[01:49]
모든 것에 접근해서 여러분의
[01:51]
시스템에 추가할 수 있습니다.
[01:53]
이 프로젝트는 Next.js 14이고
[01:57]
최신 버전으로 업그레이드하고 싶습니다.
[01:58]
그냥 Claude에게 해달라고 요청하겠습니다.
[02:01]
우선 먼저
[02:03]
슬래시 세션 스타트를 실행하겠습니다.
[02:07]
그리고 Next.js를
[02:11]
최신 버전으로 업그레이드한다고 추가하겠습니다.
[02:16]
15 뭔가로요. 정확히 뭔지는 모르겠지만요.
[02:21]
이제 이 세션을 시작하면
[02:23]
아직 존재하지 않는 sessions 폴더를
[02:24]
생성할 것입니다.
[02:27]
생성할 것입니다.
[02:29]
그것을 허용하겠습니다.
[02:31]
이제 여기에 sessions 폴더가
[02:32]
생긴 것을 볼 수 있습니다.
[02:35]
이 모든 것을 진행하면서
[02:38]
설정해줄 수 있습니다. 파일 탐색기는 없애고
[02:41]
이것을 살펴보겠습니다.
[02:42]
이것의 목표는 Next.js를
[02:45]
최신 버전으로 업그레이드하는 것입니다.
[02:46]
종속성들을 업데이트하고
[02:48]
파괴적 변경사항들을 수정하고
[02:50]
모든 기능들이 작동하는지 확인할 것입니다.
[02:53]
개발 및 프로덕션 빌드도 테스트할 수 있습니다.
[02:54]
그리고 이 진행 상황이 있습니다.
[02:56]
네, 이것을 허용하겠습니다.
[03:00]
여기에 멋진 파일 이름을 만든 것을 볼 수 있습니다.
[03:02]
날짜와 타임스탬프가 포함된
[03:04]
우리가 하려는 작업에 대한 설명적인 슬러그와 함께
[03:08]
하려는 작업입니다.
[03:10]
이제 그냥 이걸 요청해보겠습니다
[03:12]
조사해보세요
[03:14]
이걸 어떻게 하는지
[03:16]
그리고 최신 버전이
[03:20]
무엇인지 말이죠.
[03:23]
필요하면 서브 에이전트를 배포하세요.
[03:29]
좋아요, Claude가 세 개의 다른
[03:32]
서브 에이전트를 배포했습니다. 첫 번째는 현재
[03:34]
버전을 확인하는 것이고, 두 번째는
[03:37]
Next.js 15로 업그레이드하는 방법을 확인하는 것이고 세 번째는
[03:40]
코드베이스를
[03:42]
호환성을 분석하는 것이었습니다. 모든 작업을 완료했고
[03:44]
이제 저희를 위한 보고서가 있습니다. 현재 버전은
[03:46]
14.2입니다. 최신 안정 버전은 15.1입니다.
[03:50]
그건 맞지 않는 것 같은데요. 음, 하지만
[03:52]
지금은 괜찮습니다. 그리고 필요한 React
[03:55]
버전은 19입니다. 이제 호환성 문제 등등을
[03:57]
살펴볼 것입니다.
[03:59]
이 모든 건 사실 영상과는
[04:01]
별로 관련이 없습니다. 단지 나중에
[04:03]
세션을 저장할 때
[04:05]
이 모든 것들이 기록될 것이라는 걸
[04:07]
보게 될 것입니다.
[04:09]
네, 진행해주세요. 하지만
[04:12]
버전 15.1로 하드코딩하지는 마세요
[04:15]
그보다 더 최신 버전이
[04:17]
있을 것 같거든요. 우리는 그냥
[04:19]
Next.js의 가장 최신 안정 버전으로 업그레이드하고
[04:22]
모든 것이 제대로 작동하는지 확인하고 싶습니다.
[04:28]
좋아요, Claude가 이 프로젝트를
[04:31]
Next.js 15로 업그레이드하기 위해 많은 작업을 했습니다.
[04:35]
이제 제가 살펴볼 수 있는
[04:37]
테스트 항목들을 제공해줬습니다. 이 모든
[04:39]
API 엔드포인트들을 확인해서
[04:41]
오픈 그래프 이미지를 생성할 수 있는지,
[04:44]
뉴스레터 구독이나 구독 취소가
[04:46]
가능한지, 홈페이지에서 구글 시트
[04:48]
데이터를 새로고침할 수 있는지 확인하라고 합니다.
[04:51]
여기에 다른 것들도 많이 있습니다.
[04:53]
Next.js 14.2에서 15.3으로 변경했다고 합니다.
[04:57]
15.3으로요.
[04:59]
모든 API 라우트를 pages 라우터에서
[05:02]
app 라우터로 마이그레이션했습니다. Turbopack이
[05:04]
더 빠른 개발을 위해 활성화되었습니다.
[05:07]
이메일 뉴스레터 SDK를
[05:11]
리스트 몽크로 전환했습니다. TypeScript 이슈들.
[05:14]
검색 매개변수를 위해 Suspense를 추가하고 있습니다. 이제
[05:17]
성능상의 이점들도 많이 있습니다.
[05:20]
이 시점에서, 만약 우리가
[05:23]
이 프로젝트에서 계속 작업하고
[05:25]
변경사항을 만들고 싶다면, 세션을 업데이트할 수 있습니다
[05:28]
/session으로 가서
[05:30]
업데이트를 하면 됩니다. 다음과 같은 방식으로
[05:34]
세션을 업데이트하세요
[05:37]
상세한 로그와 함께
[05:39]
지금까지 한 모든 작업에 대한.
[05:43]
그리고 그걸 완료하면
[05:44]
계속 코딩을 할 수 있습니다. 우리는
[05:48]
끝났으니까 그냥 session
[05:50]
end를 하면 됩니다.
[05:52]
이제 이게 하는 일은
[05:54]
그 파일 안의 규칙들을 살펴보고
[05:57]
전체 요약을 우리를 위해 만드는 것입니다.
[06:00]
잠시 후에 어떤 모습인지 보게 될 것입니다.
[06:02]
세션이 종료되었습니다.
[06:03]
올바른 파일에 문서화되었습니다.
[06:06]
Claude를 숨기고, 여기 사이드바로 가서
[06:08]
이 파일을 확인해보겠습니다.
[06:11]
이걸 제거하고
[06:13]
전체 세션을 살펴볼 수 있습니다. 이게
[06:15]
우리가 하는 일입니다. 최신 버전으로
[06:17]
업그레이드하고 있습니다. 시작 시간, 포커스.
[06:20]
여기 목표들이 있습니다. 원한다면 이것들을
[06:23]
체크 표시할 수도 있습니다
[06:24]
완료되었다는 걸
[06:25]
알 수 있도록 말이죠. 하지만
[06:27]
그렇게 하지 않는 게 좋을 것 같습니다. 음, 하지만
[06:29]
완료된 모든 작업을 살펴볼 수 있습니다. 세션은 20분 동안 지속되었습니다.
[06:32]
여러 파일이 변경되었습니다. 여기 모든
[06:35]
파일들이 있고, 각 파일에
[06:37]
수정, 삭제, 새로 추가된 파일에 대해 무엇을 했는지,
[06:40]
커밋된 내용까지 다 나와 있어요. 아직 안 했지만요.
[06:43]
하지만 만약 우리가 GitHub에
[06:44]
커밋을 하고 이 변경사항들을
[06:46]
푸시했다면, 그것들도 여기에 나타날 거예요.
[06:48]
그리고 이제 파일들이 커밋할 준비가 되었다는
[06:51]
최종 git 상태를 가지게 되었어요. 모든 항목들이
[06:53]
완료되었습니다. 이것들이
[06:55]
목표였고 이것이 완료된 것이니
[06:56]
더 할 필요는 없을 것 같아요. 완료된
[06:58]
작업들, 주요 성과들, 우리가
[07:02]
한 모든 것이 엄청나게 자세하게 나와 있어요.
[07:04]
Claude가 프로젝트를 진행하면서
[07:07]
정확히 무엇을 변경했는지 다 나와 있습니다.
[07:09]
여기서 제가 가장 좋아하는 섹션 중 하나는
[07:10]
마주한 문제들과
[07:12]
해결책 부분인데요, AI와 작업할 때
[07:14]
종종 문제를 해결하고 떠났다가 돌아와서 새로운 기능을 만들면,
[07:19]
똑같은 에러를
[07:21]
계속 반복해서 만나게 되거든요.
[07:22]
예를 들어, 여기에는
[07:24]
프레임 모션 타입
[07:25]
호환성 문제가 실행할 때 발생했고
[07:28]
해결책은 그것을 최신 버전으로
[07:30]
업데이트하는 것이었어요. 그래서 우리는
[07:33]
이 프로젝트에서 변경한 모든 것들의
[07:34]
실행 로그를 이런 개별
[07:36]
세션 파일들에 보관할 수 있어요.
[07:38]
그리고 나중에 필요할 때 컨텍스트로 추가할 수 있고요.
[07:41]
그리고 이제 제가 할 수 있는 것은
[07:43]
이 파일을 여는 것입니다.
[07:45]
그리고 이제 Claude Code가
[07:48]
우리가 그 파일에 있다는 것을 알고 있는 걸 볼 수 있어요.
[07:51]
그리고 그냥 질문을 할 수 있어요.
[07:54]
우리가 업그레이드했다는 것을 알고 있어요. Turbo를 활성화했고,
[07:57]
많은 API 라우트를 마이그레이션했고,
[07:59]
TypeScript 에러들을 고쳤고
[08:02]
앞으로 나아가는 데 사용할 수 있는
[08:04]
핵심 배운 점들을 알고 있어요. 그래서 Claude는 이제
[08:06]
우리가 정말로 해야 할 다음 단계는
[08:08]
다음으로 넘어가기 전에
[08:10]
이 변경사항들을 커밋하는 것이라는 걸 알고 있어요.
[08:12]
이것이 Claude Code를 사용해서
[08:15]
코딩하는 각 세션의 메모리를 저장하여
[08:18]
훨씬 더 나은 히스토리를
[08:20]
제공하는 방법에 대한
[08:22]
아이디어를 드렸으면 좋겠어요. 필요할 때 컨텍스트로 추가할 수 있는.
[08:24]
이것으로 제가 다음에 할 단계는
[08:27]
아마도 기능별로
[08:29]
분류하거나 Claude가
[08:32]
자동으로 특정 장소를 찾아
[08:34]
우리가 작업하고 있는 주어진 프로젝트에
[08:37]
필요할 수 있는 세션 오버뷰를
[08:39]
찾아볼 수 있는 방법을 만드는 것일 거예요.