본문으로 이동
전체 스토리

어느샌가, Cursor에 Todo 리스트를 쓰고 있었다.

내 작업 목록을 Jira 대신 todo.txt에 적기 시작했다. 그러다 쇼핑 목록에 니플 패치까지 넣었다. 이제 이 방식을 폰에서도 쓰고 싶었다.

al***@gmail.com

이 스토리는 한국어로 번역되었습니다.

얼마 전, 주식 거래 앱을 만드는 팀에서 일할 때 이야기다. Robinhood 같은 앱이었다. (지금은 다른 곳으로 옮겼지만...) 그때 생긴 습관 하나는 아직 남아 있다.

할 일을 코드 옆에 적어두는 것.

당시엔 거의 Cursor 안에서 살았다. 버그를 고치고, 다음 업데이트를 준비하고, 코드 옆에 메모를 남겼다.

처음엔 짧은 메모였을 뿐이다. 그러다 내 작업을 확인하려고 Jira 대신 이 텍스트 파일부터 열기 시작했다. 어쩌다 그렇게 됐는지 이야기해보려 한다.

Cursor를 처음 썼을 때

그전에는 VS Code와 Atom을 썼다. Cursor로 옮긴 것도 일단 코딩을 좀 편하게 해보려는 거였다.

전에는 코드가 막히면 별도의 AI 채팅창에 코드를 복사해서 물었다. 답변을 읽고, 수정할 내용을 다시 에디터로 가져왔다.

Cursor에서는 오른쪽 AI 채팅창에 보고 있는 코드를 첨부하면 됐다. 질문하고, 수정안을 확인하고, 그 자리에서 코드에 반영했다. 코드를 보던 화면에서 대화와 수정까지 다 이어졌다.

“처음 Cursor를 썼을 땐, 좀 충격적이긴 했지...”

한번은 주식 매수가 체결됐는데도 화면의 보유 수량이 그대로였다. 실제로는 3주를 샀는데, 앱에는 계속 0주라고 나오는 식이었다.

관련 코드를 열어두고, Cursor의 AI 채팅창에 그 코드를 첨부했다. ‘매수는 끝났는데 화면에는 왜 계속 0주로 나와? 수량을 다시 불러오는 부분부터 같이 봐줘.’

AI가 짚어준 코드를 읽고, 같은 채팅창에서 다시 물었다. 수정안을 확인한 뒤 에디터에 반영했다.

이게 좋았다. 내가 보고 있는 걸 AI도 같이 보고, 이야기가 끝나면 그 자리에서 고칠 수 있다는 것.

메모도 여기서 쓰면 되겠는데?

Cursor에서 notes.txt를 만들고 버그를 확인하며 떠오른 내용을 적었다. 기획서나 긴 글은 plan.md로 썼다. .txt는 평범한 텍스트 파일, .md는 소제목이나 목록을 붙여 쓰기 좋은 Markdown 문서다.

메모가 길어지면 그 파일을 Cursor의 AI 채팅에 첨부하고 부탁했다.

이 notes.txt에서 이번 앱 업데이트 전에 확인할 것만 뽑아줘. 아직 아이디어인 건 따로 빼두고.

AI가 정리한 내용을 봤다. 쓸 만했다. 그래서 같은 채팅창에 조금 더 부탁했다.

같은 문제 얘기하는 건 묶어줘. 확인한 사실이랑 내 추측은 섞지 말고. 수정안부터 보여줘.

이미지 자리: 왼쪽에는 Cursor에 열린 notes.txt 원문, 오른쪽에는 그 파일이 첨부된 AI 채팅과 위 요청에 대한 수정 제안을 보여주세요. 독자가 이 작업이 Cursor 안에서 일어남을 바로 알아보도록 파일명·첨부 표시·두 패널을 함께 남기세요. 기존 placeholder를 실제 캡처로 교체해야 합니다.
이미지 자리: 왼쪽에는 Cursor에 열린 notes.txt 원문, 오른쪽에는 그 파일이 첨부된 AI 채팅과 위 요청에 대한 수정 제안을 보여주세요. 독자가 이 작업이 Cursor 안에서 일어남을 바로 알아보도록 파일명·첨부 표시·두 패널을 함께 남기세요. 기존 placeholder를 실제 캡처로 교체해야 합니다.

마음에 드는 부분을 파일에 반영했다. 메모를 처음부터 예쁘게 써둘 필요가 없었다. 일단 적고, 나중에 AI와 같이 정리하면 됐다.

그 뒤로 블로그 초안도 여기서 썼다. 생각을 정리할 때도 새 파일부터 열었다. 이미 켜둔 화면에서 다 되는데, 굳이 나갈 이유가 없었다.

내 할 일을 보려고 Jira 대신 todo.txt를 열었다

팀에서 공유하는 이슈는 Jira에 있었다. 하지만 코드를 고치다 떠오른 작은 확인 사항까지 매번 거기에 적기는 번거로웠다. 내 작업용 목록은 Cursor 안에 따로 만들었다.

파일 이름은 todo.txt. 그 주에 앱을 업데이트하기 전에 볼 내용을 적었다.

주식 거래 앱 — 이번 업데이트 전 확인

[ ] 주식을 산 직후 보유 수량이 바뀌지 않는 문제 수정
[ ] 주식을 판 뒤 계좌 잔액이 맞게 표시되는지 확인
[ ] 매수 버튼을 연속으로 눌러도 두 번 구매되지 않는지 확인
[ ] 앱을 다시 켰을 때 최신 주가가 뜨는지 확인
이미지 자리: 바로 위 내용이 실제 todo.txt에 들어 있는 Cursor 화면을 넣으세요. 가짜 코드 블록처럼 보이지 않게 파일 탭의 todo.txt 이름과 에디터 테두리를 남기고, 네 항목을 읽을 수 있는 크기로 자르세요. 이 위치에서는 채팅보다 텍스트 파일 자체가 주인공입니다. 기존 placeholder를 실제 캡처로 교체해야 합니다.
이미지 자리: 바로 위 내용이 실제 todo.txt에 들어 있는 Cursor 화면을 넣으세요. 가짜 코드 블록처럼 보이지 않게 파일 탭의 todo.txt 이름과 에디터 테두리를 남기고, 네 항목을 읽을 수 있는 크기로 자르세요. 이 위치에서는 채팅보다 텍스트 파일 자체가 주인공입니다. 기존 placeholder를 실제 캡처로 교체해야 합니다.

생각날 때마다 한 줄씩 더했다. 목록이 길어지면 todo.txt를 AI 채팅에 첨부했다.

매수·매도 관련된 것끼리 묶어줘. 수정할 일이랑 확인만 하면 되는 일도 나눠줘.

AI가 제안한 변경을 확인하고, 원하는 부분을 반영했다. 묶은 방식이 마음에 들지 않으면 다시 부탁했다. 전부 이미 열어둔 파일 안에서 이루어졌다.

“이거 나 이미 했던가?”도 물어봤다

수량 문제를 고친 뒤에는 다른 항목도 끝냈는지 헷갈렸다. 코드를 만진 기억은 있는데, 실제로 확인까지 했던가?

Cursor의 AI 채팅에 이렇게 물었다.

매수 후 수량 문제는 고쳤으니까 체크해줘. 매도 후 잔액 확인도 내가 했던가? 이 프로젝트의 최근 커밋이랑 이 대화에 있는 테스트 결과를 보고 확인해줘. 확인한 근거가 있으면 완료로 바꾸고, 없으면 남겨둬.

여기서는 체크 표시보다 이유를 먼저 봤다. 코드가 바뀌었다는 것과 실제 동작을 확인했다는 건 다르니까.

잔액을 고친 코드는 있어도 매도 후 화면을 확인한 기록이 없으면, 그 항목은 그대로 남겨뒀다. AI가 찾은 커밋과 대화 내용을 내가 다시 보고 결정했다.

이미지 자리: Cursor의 AI 채팅에서 최근 커밋과 현재 대화의 테스트 기록을 확인한 답변, 그 근거, todo.txt의 변경 결과를 함께 보여주세요. 수량 문제만 체크되고 검증 근거가 없는 잔액 확인은 남는 실제 장면이 핵심입니다. 증거를 읽을 수 없는 전체 화면 축소는 피하고, 기존 placeholder를 검증된 캡처로 교체해야 합니다.
이미지 자리: Cursor의 AI 채팅에서 최근 커밋과 현재 대화의 테스트 기록을 확인한 답변, 그 근거, todo.txt의 변경 결과를 함께 보여주세요. 수량 문제만 체크되고 검증 근거가 없는 잔액 확인은 남는 실제 장면이 핵심입니다. 증거를 읽을 수 없는 전체 화면 축소는 피하고, 기존 placeholder를 검증된 캡처로 교체해야 합니다.

내가 ‘완료’라고 불러주는 것만 받아 적는 게 아니었다. 함께 작업하며 남긴 커밋과 테스트 메모를 보고, 어디까지 했는지 확인할 수 있었다.

이때부터 할 일 목록을 정리하는 시간도 꽤 재밌어졌다. 오늘 뭘 했는지 기억을 더듬는 대신, 코드를 같이 보던 AI에게 물어볼 수 있으니까.

니플 패치까지 Cursor에 적었다

아침에 흰 티를 입으려다 생각났다. 비침 가릴 니플 패치가 떨어졌는데.

그냥 todo.txt 맨 아래에 썼다. 세탁 세제도 얼마 안 남았다.

퇴근길에 살 것
[ ] 니플 패치
[ ] 세탁 세제

매수 버튼이 두 번 눌리는 문제 바로 아래에 니플 패치가 있었다. (이 파일은 나만 봤다.)

사 와서는 Cursor의 AI 채팅창에 말했다.

니플 패치는 샀어. 체크해줘. 세제는 못 샀으니까 남겨두고.

주식 거래 앱을 만들던 화면에서 이런 얘기를 하고 있었다. 좀 웃겼다. 그런데 업무 목록을 정리할 때랑 똑같이 편했다.

어느새 Cursor가 내 할 일 앱이 되어 있었다.

이게 참 좋은데, 이 느낌을 어떻게 설명해야 할지 모르겠다. 얘기하다 보면 결국 니플 패치 얘기까지 하게 된다.

근데 한번 해보면 왜 그러는지 바로 알 거다.

문제는 맥북을 닫고 나서였다

일할 때야 Cursor가 늘 열려 있으니 좋았다.

매장에서는 아니었다. 패치 말고 뭐가 더 필요했지? 목록은 맥북 안에 있었다. 이동 중에 새 할 일이 떠올라도 나중에 적어야 했다.

쇼핑 목록을 보려고 개발 프로젝트를 여는 건 아무래도 좀 그랬다.

파일이 길어지니 오늘 할 일을 찾는 것도 귀찮았다. 앱 업데이트 전 확인할 것, 다음 주에 볼 것, 개인적인 일이 한곳에 있었다. 오늘 것만 보고 싶은데 자꾸 위아래로 훑게 됐다.

이 방식을 그만 쓰고 싶었던 건 아니다. 오히려 너무 마음에 들어서, 책상 밖에서도 그대로 쓰고 싶었다.

같은 습관을, 더 편한 곳에서

thrw 웹을 처음 열었을 때 구조가 익숙했다. 왼쪽에서 목록을 고르고, 가운데에서 할 일을 보고, 옆의 AI 채팅에서 이야기했다.

Cursor에서 파일과 AI 채팅을 나란히 보던 것처럼, 이번에는 할 일과 AI 채팅이 나란히 있었다. 별도 연결부터 할 필요 없이 thrw 안에서 바로 시작했다.

앱 업데이트 준비 목록을 만들어두고, thrw의 AI 채팅에 부탁했다.

이 목록에서 매수·매도 관련된 것끼리 묶어줘. 보유 수량 수정은 끝났고, 잔액은 아직 확인해야 해.

Cursor에서 좋아하던 방식 그대로였다. 긴 텍스트 파일을 뒤지는 수고는 줄었다.

AI에게 부탁하고 바뀔 내용을 확인하는 건 익숙했다. 그런데 반영한 결과가 옆의 할 일 목록에 한눈에 보였다. 긴 파일에서 체크 표시를 찾지 않아도 됐다. 아, 이 화면이 필요했던 거구나.

이미지 자리: thrw 웹의 목록 선택·할 일 목록·AI 채팅이 나란히 보이는 실제 화면을 넣으세요. 위 요청과 그 결과가 한 화면에서 이어져야 합니다. 앞의 Cursor 캡처와 비슷한 구도로 잡아 같은 행동 방식이 전용 인터페이스로 이어짐을 보여주세요. 기존 placeholder를 실제 화면으로 교체해야 합니다.
이미지 자리: thrw 웹의 목록 선택·할 일 목록·AI 채팅이 나란히 보이는 실제 화면을 넣으세요. 위 요청과 그 결과가 한 화면에서 이어져야 합니다. 앞의 Cursor 캡처와 비슷한 구도로 잡아 같은 행동 방식이 전용 인터페이스로 이어짐을 보여주세요. 기존 placeholder를 실제 화면으로 교체해야 합니다.

이제 맥북을 닫아도 AI와 할 일을 정리할 수 있었다.

밖에서는 thrw 모바일 앱을 열었다. 목록을 보다가 정리가 필요하면 대화 탭에서 AI에게 부탁했다. 다시 목록으로 돌아와 결과를 확인했다.

매장에서 목록을 열고, 세제를 산 뒤 완료로 표시했다. 새로 떠오른 일도 바로 앱에 남겼다. 좋아하던 방법을 쓰기 위해 개발 환경을 켜놓을 필요가 없어졌다.

누가 thrw가 뭐가 좋냐고 물으면, 아마 이 얘기부터 할 것 같다.

그냥 내가 니플 패치까지 Cursor에 적어두던 얘기부터 하게 된다. 그만큼 편했는데, 이제 맥북을 닫아도 된다고.