실제로 전송되는 것
페이지는 Markdown으로 전송되며, 이것이 바로 여러분이 원하는 형식입니다. 개별 페이지는 PDF, HTML 또는 Markdown & CSV로 내보낼 수 있습니다. 전체 워크스페이스의 경우, 설정 → 워크스페이스 → 설정 → "모든 워크스페이스 콘텐츠 내보내기"를 통해 HTML, Markdown 또는 CSV를 얻을 수 있습니다. Markdown & CSV 옵션을 선택하면 페이지당 하나의 .md 파일, 데이터베이스당 하나의 CSV 파일이 생성되고, 하위 페이지와 에셋은 나란히 폴더에 저장됩니다.
시작하기 전에 알아두어야 할 몇 가지 제한 사항은 다음과 같습니다.
- "하위 페이지 포함"을 선택하면 중첩된 페이지가 별도의 파일로 다운로드됩니다. 개별 페이지 내보내기의 경우 이는 Business 및 Enterprise 요금제 기능이지만, 워크스페이스 전체 내보내기에는 요금제와 상관없이 항상 적용됩니다.
- 대용량 내보내기는 이메일로 전송됩니다. Notion은 다운로드를 즉시 시작하는 대신 다운로드 링크를 전송하며, 이 링크는 7일 후에 만료됩니다. 워크스페이스 크기에 따라 처리에 최대 30시간이 소요될 수 있으므로, 워크스페이스 내보내기는 기다리며 지켜보는 작업이 아니라 점심 식사 전에 실행해 두는 작업입니다.
- 본인에게 보이는 것만 가져올 수 있습니다. "내보내기를 실행하는 사용자에게 접근 권한이 없는 페이지(예: 다른 사용자의 개인 페이지)는 내보내기에 포함되지 않습니다." 실제 아키텍처 문서가 팀원의 개인 페이지에 있다면 내보내기에 포함되지 않으며, 이에 대한 알림도 받지 못합니다.
- 워크스페이스 PDF 내보내기 기능이 중단됩니다. Notion은 워크스페이스 콘텐츠를 PDF로 내보내는 옵션을 제거하고 있으며, 이는 2026년 8월 31일까지 워크스페이스에 점진적으로 적용됩니다. HTML, Markdown, CSV는 계속 유지되며, 개별 페이지는 여전히 PDF로 내보낼 수 있습니다. 기존에 워크스페이스 PDF 백업 습관이 있었다면 이제 그 습관을 바꾸어야 합니다.
데이터베이스는 CSV로 전송되며, 이는 보기보다 데이터 손실이 많습니다. Notion 데이터베이스는 행(rows)뿐만 아니라 뷰(views), 관계형(relations), 롤업(rollups)으로 구성됩니다. CSV는 행만 제공합니다. 관계형에서 계산된 모든 항목은 텍스트로 전달되거나 아예 누락되며, 데이터를 이해하기 위해 실제로 사용했던 뷰는 전혀 가져오지 못합니다.
Notion AI 자체는 전송되지 않으며, 전송되어서도 안 됩니다. Notion AI의 가치는 라이브 워크스페이스 전체(코딩 에이전트에게 전달할 생각조차 못 할 페이지까지 포함하여 현재의 모든 것)를 대상으로 답변하는 데 있습니다. 이는 정말 훌륭한 기능이며 Cursor는 이를 재현하지 못할 것입니다. 이번 마이그레이션은 "Notion을 떠나는 것"이 아닙니다. 대부분의 팀에게 가장 이상적인 최종 상태는 Notion이 문서를 계속 보관하고, 빌드에 필요한 하위 집합 문서만 코드가 있는 곳에 함께 두는 것입니다.
페이지 간의 링크는 대부분 깨집니다. Notion의 내부 링크는 워크스페이스 URL입니다. 내보낸 폴더에서 이 링크들은 Notion을 다시 가리키거나(워크스페이스를 유지한다면 괜찮지만 오프라인에서는 무용지물), 에이전트가 예상하는 것과 일치하지 않는 파일 이름으로 해석됩니다. 내보낸 문서는 Notion에서 보았던 것보다 더 평평하고 서로 덜 연결되어 있을 것이라고 예상해야 합니다.
수동 마이그레이션
1단계: 코딩 에이전트가 실제로 사용할 수 있는 페이지 내보내기
첫 단계부터 워크스페이스 전체를 내보내려는 유혹을 뿌리치세요. 이는 가장 느린 경로(최대 30시간 소요)이며, 회의록과 마케팅 페이지까지 끌어들이기 때문에 실제로 중요한 분류 단계를 건너뛰게 만듭니다.
대신 Notion 사이드바를 살펴보며 페이지를 다음 세 가지 버킷으로 분류하세요.
- 빌드 관련 및 지속성 있음 — 스펙, 아키텍처 문서, 스키마, API 규격서, 의사결정 로그, 클라이언트의 엄격한 제약 조건. 이 항목들을 내보냅니다.
- 빌드 관련이지만 휘발성 있음 — 스프린트 보드, 작업 데이터베이스, 상태 페이지. 이들은 Notion에 그대로 둡니다. 코딩 에이전트는 지난주 보드의 스냅샷으로부터 아무런 도움을 받지 못하며, 그 스냅샷은 며칠만 지나도 틀린 정보가 됩니다.
- 빌드와 관련 없음 — 그 외 모든 것. 워크스페이스의 대부분을 차지합니다.
그 다음 첫 번째 버킷을 내보냅니다. 각 페이지를 열고 내보내기 옵션을 사용하여 Markdown & CSV를 선택하고, 해당 페이지가 상위 페이지인 경우 "하위 페이지 포함"을 활성화합니다 (페이지별 하위 페이지 내보내기를 지원하지 않는 요금제를 사용하는 경우 워크스페이스 내보내기를 사용하세요). 결과물로 .md 파일과 에셋 폴더를 얻게 됩니다.
진행하면서 두 가지를 확인해야 합니다. 첫째, 누군가의 개인 페이지에 있어서 누락된 중요한 정보가 있는지 확인하세요. 의사결정 로그에 공백이 있다면 대개 이 때문입니다. 둘째, 내보내려는 페이지가 실제로는 데이터베이스 형태인지 확인하세요. 스키마가 Notion 테이블에 있다면, 내보낸 CSV는 관계성이 없는 행 데이터일 뿐이므로 불완전한 CSV를 제공하기보다는 스키마를 제대로 문서로 작성하는 것이 좋습니다.
2단계: Notion 페이지를 규칙 및 리포지토리 문서로 변환하기
내보낸 Notion 페이지는 그대로 에이전트의 입력값으로 쓰기에 유용하지 않습니다. Notion 페이지는 사람이 읽기 좋게 작성되어 있습니다(제목, 토글, 콜아웃, 중간에 있는 표, 상단의 역사적 맥락 세 문단 등). Cursor는 짧고 고정된 규칙(rule)이나 참조할 수 있는 문서가 필요합니다.
이 차이에 따라 분류해야 합니다. Cursor에는 이 두 가지를 위한 서로 다른 공간이 있기 때문입니다.
고정된 컨벤션 → `.cursor/rules`. 프로젝트 규칙은 .cursor/rules 폴더에 .mdc 파일로 저장되어 버전 관리되며, 프론트매터 필드인 description, globs, alwaysApply와 함께 다음 네 가지 활성화 모드를 가집니다.
- Always Apply — 모든 채팅 세션에 적용
- Apply Intelligently — 에이전트가 설명(description)을 바탕으로 관련이 있다고 판단할 때 적용
- Apply to Specific Files — 파일이 특정 패턴과 일치할 때 적용
- Apply Manually — 채팅에서 @로 멘션할 때 적용
이 세분화된 기능을 활용하세요. API 컨벤션은 API 디렉토리를 가리키는 globs를 설정합니다. 일반적인 엔지니어링 표준은 Customize → Rules 아래의 User Rules에 넣으면 모든 프로젝트에 적용됩니다. Cursor 공식 문서에서는 규칙을 500줄 미만으로 유지하고, 더 큰 규칙은 조합 가능한 조각으로 나눌 것을 권장합니다. Always Apply로 설정된 모든 것은 매 요청마다 로드되기 때문에 이는 매우 유용한 조언입니다. 또한 .cursor/rules 대신 프로젝트 루트에 AGENTS.md를 사용하고 하위 디렉토리에 중첩된 파일을 포함할 수도 있습니다.
참조 자료 → 리포지토리 문서. 스키마, 스펙, 의사결정 로그는 정리된 Markdown 형태로 docs/ 폴더에 넣습니다. 결론을 먼저 배치하고, 히스토리는 다듬고, 날짜는 유지합니다. 그런 다음 매번 전체 내용을 로드하는 규칙에 붙여넣는 대신, 규칙에 "db/ 아래의 항목을 변경하기 전에 docs/schema.md를 읽으십시오"와 같이 에이전트가 찾아볼 위치를 알려주는 한 줄을 추가합니다.
우리가 구축한 것에 대해 솔직해집니다. Cursor의 자체 문서에서는 이 메커니즘이 존재하는 이유를 다음과 같이 설명합니다. "대규모 언어 모델은 완료(completion) 간에 메모리를 유지하지 않습니다. 규칙은 프롬프트 수준에서 지속적이고 재사용 가능한 컨벤션을 제공합니다." 규칙은 매 요청마다 컨텍스트를 다시 공급합니다. 규칙은 여러분이 내보내고 정리한 당일 기준의 정보를 담고 있지만, Notion은 계속해서 업데이트됩니다.
이러한 불일치는 사람들이 과소평가하는 부분입니다. 다음 달에 Notion에서 스펙이 업데이트되더라도 여러분의 docs/spec.md 파일은 업데이트되지 않습니다. 두 달만 지나면 에이전트는 오래된 사본을 기준으로 코드를 작성하고 있고, 팀원들은 에이전트가 최신 정보를 읽고 있다고 착각하게 됩니다.
더 나은 방법: 문서와 코드를 잇는 단일 메모리 레이어
2단계에서 수행한 작업을 다시 살펴보세요. 한 제품의 지식 스냅샷을 내보내고, 이를 다른 제품의 형식으로 수동 변환하여, 첫 번째 사본과 점차 어긋나게 될 두 번째 사본을 만든 것입니다.
진짜 비용은 작업에 소요된 반나절이 아니라 바로 이 '정보의 불일치(drift)'입니다. 그리고 두 도구 사이에 메모리 레이어를 두면 이 문제가 해결됩니다. 리포지토리에 오래된 사본을 두는 대신, 단일 저장소에 빌드 관련 지식을 보관하고 두 어시스턴트가 모두 이를 읽도록 하는 것입니다. 이렇게 하면 한 번 기록된 결정 사항을 모든 도구가 동일하게 보게 됩니다.
MemoryLake는 이를 위한 메모리 레이어입니다. 스키마, 결정 사항, 제약 조건을 하나의 저장소에 보관하고, MCP를 통해 Cursor에서 읽거나 API를 통해 다른 모든 도구에서 읽을 수 있습니다. 이제 내보내기는 일회성 마이그레이션이 아니라, 문서가 변경될 때마다 반복할 수 있는 수집(ingestion) 프로세스가 됩니다.
양쪽 도구 모두 나름의 확실한 장점이 있습니다. Notion은 문서 작성에 정말 훌륭한 공간입니다. 협업 편집, 구조화, 권한 관리, 그리고 전체 워크스페이스를 아우르는 Notion AI의 답변 기능은 어떤 규칙 파일로도 대체할 수 없습니다. 따라서 Notion은 그대로 유지하세요. 그리고 .cursor/rules는 버전 관리 시스템 내의 평문 텍스트로, 풀 리퀘스트에서 검토되고 팀원들에게 자동으로 상속되므로 고정된 컨벤션을 관리하기에 좋습니다. 이 역시 유지하세요. 메모리 레이어는 그 사이에 있는 지식, 즉 규칙 파일에 넣기에는 너무 길고, 스냅샷으로 남겨두기에는 너무 중요하며, 여러 도구에서 동시에 필요로 하는 지식을 위한 것입니다.
1단계: API 키 생성하기
키를 생성하고 약 30초 만에 첫 번째 요청을 보내보세요. 커밋되는 설정 파일 대신 환경 변수나 시크릿 관리자에 키를 보관하세요.

2단계: 첫 번째 메모리 업로드하기
방금 분류한 문서, 이미지, 파일을 업로드하세요. 스펙, 아키텍처 문서, 스키마, 의사결정 로그, 클라이언트 제약 조건 등이 포함됩니다. 가능하면 요약본보다는 내보낸 원본 소스를 그대로 업로드하는 것이 좋습니다. 요약하면서 생략한 사소한 예외 조항이 보통 6주일 후에 가장 중요한 문제가 되기 때문입니다.

3단계: AI 및 에이전트 연결하기
Claude, Codex, OpenClaw 및 기타 AI 에이전트가 MCP 또는 API를 통해 메모리에 액세스할 수 있도록 하세요. Cursor는 MCP 서버를 지원하므로 설정 항목만 추가하면 됩니다. MCP 클라이언트가 없는 도구의 경우, API를 통해 필요한 정보를 검색하여 프롬프트나 워크플로우에 주입할 수 있습니다.

실제 업무에서의 변화
첫 번째 차이점은 "테넌시에 대해 무엇을 결정했지?"라는 질문에 대해 Notion 탭으로 이동하는 대신 에디터 안에서 그 이유와 함께 답변을 얻을 수 있다는 것입니다.
두 번째는 오래된 사본 문제가 사라진다는 점입니다. 양쪽 모두가 동일한 저장소를 읽을 때, 결정을 업데이트하면 모든 곳에서 업데이트됩니다. Notion을 업데이트하고 조용히 다른 말을 하고 있는 docs/ 파일을 방치하는 일이 없어집니다.
세 번째는 기각된 옵션이 계속 기각된 상태로 유지된다는 점입니다. 인수인계 후 가장 흔히 발생하는 실패는 에이전트가 스펙에서 명시적으로 제외한 방식을 제안하는 것입니다. 그 제외 이유가 아무도 내보내지 않은 Notion 페이지에 있었기 때문입니다. 이유와 함께 저장소에 보관되면 이러한 일이 발생하지 않습니다.
그리고 이는 보편적으로 적용됩니다. '문서는 문서 도구에, 코드는 에디터에'라는 구조는 문서 도구가 Notion이든 다른 것이든, 에디터가 Cursor이든 다음 세대 에디터이든 동일합니다. 리서치 자료를 코딩 에이전트로 이동하거나 프로토타입을 실제 에디터로 승격할 때 결국 동일한 레이어가 필요한 것도 같은 이유입니다.
이전을 위한 베스트 프랙티스
내보낸 후가 아니라, 내보내기 전에 분류하세요
워크스페이스 전체 내보내기는 30시간이 걸릴 수 있고 모든 것을 제공하므로 결국 분류 작업을 건너뛰게 됩니다. 잘 선택된 10개의 페이지가 무작정 가져온 400개보다 낫습니다. 또한 분류 과정에서 비로소 "최신" 스펙에 서로 충돌하는 세 가지 버전이 존재한다는 사실을 깨닫게 됩니다.
휘발성 페이지는 아예 내보내지 마세요
스프린트 보드, 작업 데이터베이스, 상태 페이지는 내보낸 지 며칠 만에 틀린 정보가 됩니다. 이들은 Notion에 그대로 두고, 필요할 때 Notion을 가리키도록 하세요. 계속 변하는 데이터의 스냅샷은 데이터가 없는 것보다 나쁩니다. 겉보기에는 신뢰할 수 있어 보이기 때문입니다.
권한으로 인한 공백이 있는지 확인하세요
내보내기 시 본인에게 접근 권한이 없는 페이지(팀원의 개인 페이지 포함)는 아무런 알림 없이 제외됩니다. 의사결정 로그가 기억보다 부실해 보인다면 가장 먼저 이를 확인해야 합니다. 해결책은 내보내기를 다시 실행하는 것이 아니라 담당자에게 물어보는 것입니다.
CSV를 그대로 제공하는 대신 스키마를 제대로 작성하세요
Notion 데이터베이스는 행 데이터로만 내보내집니다. 이를 이해하기 쉽게 만들어 주었던 관계형, 롤업, 뷰는 유지되지 않습니다. 데이터베이스가 구조적 정보의 단일 진실 공급원(Source of Truth)이라면, 관계를 줄글로 명확히 설명하는 문서로 직접 작성하세요.
가져오는 모든 문서에 날짜를 기입하세요
내보낸 문서는 스냅샷일 뿐이며, 이번 마이그레이션의 가장 큰 위험은 스냅샷을 최신 정보로 오해하는 것입니다. 파일에 내보낸 날짜를 적어두세요. 단 한 줄만 추가하면 되지만, 이는 단순히 오래된 문서와 사람을 오도하는 잘못된 문서를 구분 짓는 결정적 차이가 됩니다.
결론
Notion에서 Cursor로의 이동은 단순한 전송이 아니라 변환 작업입니다. 빌드 관련 페이지를 Markdown & CSV 형식으로 내보내세요. 페이지별로 내보내거나 전체 워크스페이스의 경우 설정 → 워크스페이스 → 설정에서 진행할 수 있습니다. 단, 대용량 내보내기는 7일간 유효한 링크와 함께 이메일로 발송되며, 최대 30시간이 소요될 수 있고, 접근 권한이 없는 페이지는 제외되며, 2026년 8월 31일까지 워크스페이스 PDF 내보내기 옵션이 점진적으로 중단된다는 점에 유의해야 합니다. 그 후 고정된 컨벤션은 범위가 지정된 .cursor/rules로 변환하고, 참조 자료는 날짜가 기입된 리포지토리 문서로 만들어 에이전트가 가리키도록 설정하세요.
신중하게 결정해야 할 부분은 그 이후에 일어날 일입니다. docs/에 저장된 스냅샷은 Notion의 내용이 변경되기 전까지만 이 리포지토리에 유효합니다. 양쪽 도구가 모두 읽는 메모리 레이어를 사용하면 한 번 기록한 결정 사항을 에디터가 그대로 보게 되며, 이것이 다음 분기에 이 작업을 다시 반복하지 않아도 되는 유일한 방법입니다.