Loading the catalog…
Loading the catalog…
지난 글 에서는 codeme 를 왜 만들었는지를 적었습니다. 이번 글은 그 반대편, 실제로 어떻게 쓰는지 입니다. 설명만으로는 감이 안 오니, 작은 결제 API 저장소( payments-api ) 하나를 열어 두고 할 일 세 개를 한꺼번에 처리하는 장면을 처음부터 끝까지 찍었습니다. 글에 나오는 화면은 전부 실제 앱이고, 화면 속 코드 변경도 전부 Claude Code 가 실제로 만든 것입니다 — 연출한 diff 는 없습니다. 오늘의 할 일은 이렇습니다. 웹훅 재시도를 지수 백오프 + jitter 로 바꾸고, 한도를 넘기면 dead letter 로 환불이 누적으로 청구액을 넘지 않게 막기 README 에 API 엔드포인트와 환경 변수 정리 평소라면 브랜치 하나 만들고, 에이전트에게 맡기고, 끝나면 브랜치 갈아타고... 를 세 번 반복했을 겁니다. codeme 에서는 이 셋을 나란히 둡니다. 1. 할 일마다 worktree, worktree 마다 에이전트 왼쪽 목록의 카드 하나가 worktree 하나입니다. feat/webhook-retry , fix/refund-limit , main ... 각자 자기 폴더와 자기 터미널을 가지고 있어서, 한쪽 에이전트가 파일을 고치는 동안 다른 쪽은 전혀 영향을 받지 않습니다. 브랜치를 갈아탈 일이 없습니다. 세 worktree 에서 각각 Claude Code 를 띄워 두고 다른 일을 했습니다. 돌아와서 보면 목록만 훑어도 상황이 보입니다. M2 · M1 U1 — 그 worktree 에서 수정된 파일 / 새 파일 수 ✧ 14k — 그 worktree 의 에이전트가 쓴 토큰 claude · 작업 중 / 완료 — 지금 돌고 있는지, 나를 기다리는지 카드를 누르면 그 worktree 로 넘어가고, 시작 화면에는 「하던 것 이어서」 가 뜹니다. 방금 에이전트에게 무엇을 시켰는지가 거기 남아 있어서, 한 번 누르면 그 대화로 돌아갑니다. 에이전트가 나를 기다리기 시작하면 다른 앱을 보고 있어도 알림이 옵니다. 창이 앞에 있으면 구석의 토스트로, 자리를 비웠으면 OS 알림으로. 그래서 셋을 띄워 놓고 정말로 다른 일을 할 수 있습니다. 2. 끝났으면, 무엇을 바꿨는지부터 에이전트가 「다 했습니다」라고 하면 가장 먼저 여는 것이 에이전트 변경 패널 ( ⌃⇧X )입니다. 위쪽에는 내가 무엇을 요청했고 에이전트가 무엇이라 답했는지 , 바로 아래에는 그래서 실제로 바뀐 코드 가 붙어 있습니다. 요청과 답변과 diff 를 따로 찾아다니지 않아도 됩니다. 이 패널에서 제일 중요한 건 기준점 입니다. diff 는 HEAD 가 아니라 에이전트가 시작한 순간 을 기준으로 계산합니다. 그래서 에이전트를 띄우기 전에 내가 손대 둔 편집은 여기에 섞이지 않습니다 — 보이는 것은 정확히 에이전트가 한 일뿐입니다. 다 읽었으면 「검토함으로 표시」로 기준점을 앞으로 옮기고, 에이전트에게 다음 일을 시키면 그다음 변경만 새로 쌓입니다. 이번 재시도 작업에서 에이전트는 이렇게 끝을 맺었습니다. 요청하신 대로 패키지 설치와 테스트 실행은 하지 않았습니다. 테스트는 아직 한 번도 돌려 보지 않았습니다. 정직한 답이고, 동시에 사람이 diff 를 읽어야 하는 이유 이기도 합니다. retryDelay 가 [0, min(60000, 1000·2^(n-1))] 범위의 full jitter 로 바뀌었고, 재귀 호출이 for 루프로 바뀌었고, deadLetter 콜백이 새로 생겼다는 것 — 이걸 확인하는 데 1분이면 충분했습니다. 한 줄 보기와 좌우 보기를 오갈 수 있고, 접힌 문맥은 펼쳐서 「이 세 줄이 어느 함수 안인지」까지 볼 수 있습니다. 3. 머지하기 전에, 흐름을 한 번 리뷰가 끝난 갈래를 합치기 전에 히스토리를 엽니다. 브랜치가 어디서 갈라져서 어디서 합쳐졌는지가 그래프로 보이고, 각 커밋 옆에는 어느 브랜치·worktree 가 그 커밋을 가리키는지 태그가 붙습니다. 커밋을 누르면 아래에 바뀐 파일과 diff 가 바로 열립니다. 위 화면은 fix(billing): round KRW/JPY without minor units 를 누른 상태 — git log --graph 와 git show 를 번갈아 치던 일이 클릭 한 번이 됐습니다. 여기서 커밋을 다른 worktree 로 복사 하거나 되돌리기 도 할 수 있습니다. 그리고 이 diff 는 2번의 에이전트 변경 패널과 같은 리더 로 그립니다. 어느 패널에서 보든 하이라이트·접기·좌우 보기가 똑같이 동작합니다. 4. 코드 옆에 데이터도 환불 로직을 고쳤으니 실제 데이터가 어떻게 생겼는지 봐야 합니다. 예전 같으면 DB 클라이언트를 켜고, 접속 정보를 다시 입력하고... 했을 겁니다. codeme 의 데이터베이스 패널은 프로젝트 폴더에서 DB 를 알아서 찾습니다. docker compose 의 컨테이너, .env 나 jdbc: URL, 저장소 안의 sqlite 파일까지. 이번에는 data/payments.db 를 찾아 바로 목록에 올려 줬습니다. 테이블을 누르면 행이 표로 나오고, WHERE 로 거르고, 행을 골라 그 자리에서 고치고 저장 합니다. 위 화면은 1003 번 청구서의 status 를 open → paid 로 바꾸는 중입니다 (「1개 변경」). 드라이버를 번들하지 않고 머신에 이미 있는 CLI( psql , mysql , sqlite3 , duckdb ...)를 씁니다. 그래서 앱은 가볍게 남고, 비밀번호는 값이 아니라 어디서 읽었는지(출처)만 저장합니다. 5. 서버를 띄웠다면, 포트까지 마지막으로 로컬에서 서버를 띄워 확인합니다. 그리고 늘 겪는 그 문제 — EADDRINUSE: address already in use :::3000 . 포트 패널은 이 머신에 열린 포트를 한 목록으로 보여 주는데, 이 프로젝트가 띄운 것부터 위에 올립니다. 어떤 명령으로 떴는지, 어느 폴더에서 떴는지도 함께 보입니다. 여기서 바로 열기 · 재시작 · 정지 . 정지는 신호만 보내고 끝나지 않습니다. 포트가 정말 풀릴 때까지 기다립니다. 그래야 다음 실행이 같은 에러로 죽지 않습니다. 그리고 그 서버를 띄웠던 명령을 프로젝트별로 기억해 두었다가, 재시작하면 터미널에 그대로 다시 타이핑해 줍니다. 정리 — 다섯 창이 아니라 한 창 돌아보면 오늘 한 일은: 단계 예전 codeme 할 일 셋 동시 진행 브랜치 갈아타기 × 3 worktree 셋을 나란히 에이전트 결과 확인 터미널 스크롤 + git diff 에이전트 변경 패널 (시작 시점 기준) 머지 전 흐름 확인 git log --graph , git show 히스토리 그래프 + 커밋 diff 데이터 확인·수정 별도 DB 클라이언트 데이터베이스 패널 서버·포트 정리 lsof -i :3000 , kill 포트 패널 지난 글에서 말했듯 codeme 는 IDE 를 대체하려는 앱이 아닙니다. LSP·디버거가 필요한 깊은 작업은 쓰던 IDE 에서 하고, 그 옆에 두고 worktree 를 만들고, 에이전트를 붙이고, 결과를 보는 흐름 을 여기서 끝내는 앱입니다. 그리고 이 모든 게 내 머신에서만 돕니다. 서버도, 계정도 없습니다. 다운로드: codeme.team/download (macOS, 서명·공증된 유니버설 DMG) 피드백: codeme.team/feedback
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
[사용기] 에이전트 셋을 동시에 돌리고, 한 창에서 리뷰까지 — codeme 로 일하는 방식. 지난 글 에서는 codeme 를 왜 만들었는지를 적었습니다. 이번 글은 그 반대편, 실제로 어떻게 쓰는지 입니다. 설명만으로는 감이 안 오니, 작은 결제 API 저장소( payments-api ) 하나를 열어 두고 할 일 세 개를 한꺼번에 처리하는 장면을 처음부터 끝까지 찍었습니다. 글에 나오는 화면은 전부 실제 앱이고, 화면 속 코드 변경도 전부 Claude Code 가 실제로 만든 것입니다 — 연출한 diff 는 없습니다. 오늘의 할 일은 이렇습니다. 웹훅 재시도를 지수 백오프 + jitter 로 바꾸고, 한도를 넘기면 dead letter 로 환불이 누적으로 청구액을 넘지 않게 막기 README 에 API…
Open source