Tidemark 사용 설명서
목차
시작하기
Tidemark는 개발하면서 쌓인 캐시·의존성·빌드 산출물·AI 모델과 오래 안 쓴 앱을 찾아 안전하게 정리하는 무료 오픈 소스 디스크 정리 앱입니다. 스캔은 아무것도 지우지 않고, 정리는 확인 창을 거쳐야만 실행됩니다.
설치
Tidemark_<버전>_aarch64.dmg를 열고Tidemark.app을응용 프로그램폴더로 끌어 옮깁니다.- 처음 실행할 때 macOS가 확인되지 않은 개발자라고 막으면, Finder에서 앱을 Control-클릭 ›
열기를 고릅니다. - 요구 사항: Apple Silicon Mac, macOS 11 이상.
화면 구성
| 위치 | 하는 일 |
|---|---|
| 헤더 | 화면 탭(정리 후보 / 설치된 앱 / 용량 지도), 디스크 여유 공간 게이지, 다시 스캔, 터미널·설정·AI에게 질문 아이콘 |
| 왼쪽 사이드바 | 카테고리별 합계와 필터(위험도, 프로젝트 미사용 기간, git 원격 정보 갱신) |
| 가운데 목록 | 찾은 항목. 검색창, 일괄 선택 버튼 |
| 오른쪽 상세 패널 | 항목을 누르면 열림. 경로, 크기, 설명, 복구 방법, 폴더 내용 |
| 하단 바 | 선택한 항목 수와 확보 예상량, 휴지통으로 이동 여부, 정리하기 |
처음 실행하면 스캔 시작을 누릅니다. 마지막 스캔 결과는 저장되어 다음 실행 때 바로 보이고, 위쪽 상태 줄에 언제 스캔한 결과인지 표시됩니다.
정리 후보
정리 후보 화면에서는 스캔으로 찾은 항목을 고르고, 확인 창을 거쳐 정리합니다.
스캔
- 헤더의
다시 스캔은 전체를 다시 찾습니다. 사이드바 카테고리에 마우스를 올리면 나타나는 새로고침 아이콘은 그 카테고리만 다시 찾습니다. - 스캔 중에는 진행률이 보이고
스캔 취소로 멈출 수 있습니다.
AI 도구와 모델 정리
- Hugging Face는
HF_HUB_CACHE→HF_HOME/hub→XDG_CACHE_HOME/huggingface/hub→ 기본 경로 순으로 찾고, 모델·데이터셋·Space만 표시합니다. 공유 저장소는 모델 폴더를 지워도 공간이 거의 늘지 않을 수 있으므로hf cache delete를 권장합니다. - Ollama는
OLLAMA_MODELS를 우선하며 개별 모델은ollama rm <모델>로 지우세요. LM Studio는 홈 포인터 →~/.lmstudio→ 레거시~/.cache/lm-studio순으로 모델 폴더를 찾습니다. - Claude 데스크톱·Windsurf 캐시와 Whisper 모델을 별도로 찾습니다. 일반
~/.cache정리에서는 LM Studio 홈, Hugging Face 홈, Whisper를 제외하며 로그인 토큰과 키는 보호합니다.
브라우저 캐시와 개인 데이터 정리
- Chrome·Edge·Brave·Arc·Firefox·Safari·Opera·Vivaldi는 캐시 폴더만 찾습니다. 쿠키·로그인·기록·북마크·확장 데이터는 유지하며, 일반 앱 캐시와 중복하지 않습니다. 실행 중 경고가 있으면 브라우저를 종료한 뒤 정리하세요. 오프라인 페이지는 다시 받아야 할 수 있습니다.
- Mail 첨부 다운로드 사본은 주의 항목입니다. 메일함(
~/Library/Mail)과 서버의 원본은 정리하지 않지만, 사본에서 수정한 내용은 먼저 따로 저장하세요. - iOS/iPadOS 백업은 백업 하나씩 위험 항목으로 표시되며 안전 항목 선택에 포함되지 않습니다. 복원에 필요한 유일한 사본일 수 있으니 iCloud 등 다른 백업을 확인하세요. 휴지통을 비우면 복구할 수 없습니다.
- Safari·Mail·기기 백업에 접근할 수 없으면 건너뜁니다. 필요하면 macOS 설정에서 전체 디스크 접근 권한을 허용하고 다시 스캔하세요.
위험도
| 표시 | 뜻 |
|---|---|
| 안전 | 다시 받거나 다시 빌드하면 생기는 데이터. 보통 그냥 지워도 됩니다 |
| 주의 | 다시 받는 데 시간이 걸리거나, 일부 설정이 함께 사라질 수 있는 데이터 |
| 위험 | 다시 구하기 어렵거나 사용자 데이터가 들어 있을 수 있는 데이터. 정리할 때 따로 확인을 받습니다 |
항목 옆 ⚠ 표시는 경고입니다(예: 관련 프로그램이 실행 중). 마우스를 올리면 내용이 보입니다.
필터와 검색
- 사이드바에서 카테고리, 위험도, 프로젝트 미사용 기간(30·90·180일 이상)으로 걸러냅니다.
- 목록 위 검색창(
⌘F)은 이름과 경로에서 찾고, 일치하는 글자를 강조합니다. 여러 단어를 넣으면 모두 들어 있는 항목만 남고,Esc로 지웁니다. 안전 항목 선택은 경고가 없는 안전 항목만 고릅니다.
상세 패널
항목을 누르면 오른쪽에 열립니다.
- 설명과 복구 방법(지운 뒤 다시 생기는 방식), 정리 방식(공식 명령 또는 직접 삭제)을 보여 줍니다.
- 폴더 내용을 펼쳐 보며, 삭제 대상에는
삭제표시가 붙습니다. Finder에서 보기, 내장 또는 외부 터미널에서 열기,다시 계산,AI에게 질문을 할 수 있습니다.
사전 점검
Docker 미사용 데이터, 사용 불가 iOS 시뮬레이터, Homebrew 캐시처럼 명령으로 정리하는 항목은 실제로 확보될 양을 미리 계산합니다. 목록에는 약 13.4 GB / 전체 56.4 GB처럼 확보 예상량과 전체 크기가 함께 표시됩니다.
git 확인
프로젝트 폴더(node_modules, target 등)는 git 저장소 상태를 함께 보여 줍니다.
✓ 병합됨/원격에 보존됨: 코드가 원격에 있어 정리해도 안전합니다.git 확인 필요: 커밋하지 않은 변경이나 푸시하지 않은 커밋이 있습니다.- 사이드바의
원격 정보 갱신 (git fetch)을 켜면 다음 스캔부터 원격 브랜치를 최신으로 받아 판정합니다.
정리 실행
- 항목 앞 체크 박스로 고릅니다. 하단 바에 선택 개수와 확보 예상량이 표시됩니다.
- 필요하면
휴지통으로 이동을 켭니다. 이 경우 휴지통을 비워야 공간이 확보됩니다. 오래된 파일 정리와 명령 실행 항목은 바로 지워집니다. 정리하기를 누르면 확인 창에 대상 목록이 나옵니다. 위험 항목이 있으면 동의 체크를 해야정리 실행이 켜집니다.- 끝나면 확보한 용량과 디스크 여유 공간 변화, 실패한 항목이 요약으로 표시됩니다.
설치된 앱
설치된 앱 화면은 오래 안 쓴 앱을 남은 흔적까지 지우고, 전역으로 설치한 패키지를 관리합니다. 앱 스캔은 앱 정보와 이 Mac의 기록만 쓰며, 네트워크나 AI를 쓰지 않습니다.
앱 목록
- 마지막 사용일은 macOS 실행 기록을 쓰고, 기록이 없으면 앱 데이터 수정일로 추정합니다(
앱 데이터 기준 추정). - 크기는 앱 본체와 흔적(설정·캐시·데이터)을 합친 값입니다.
- 툴바에서 미사용 기간(90일·180일·1년 이상), 정렬(용량 큰 순 / 오래 안 쓴 순),
Apple 앱 숨기기, 검색을 씁니다. 실행 중표시가 있는 앱은 종료한 뒤 지우세요.
앱과 흔적 삭제
- 앱을 누르면 상세 패널에 흔적 목록이 나옵니다. 번들 ID·개발사 ID가 일치한 항목은 확실한 흔적이고, 이름만 같은 항목은
추정으로 표시됩니다. 앱과 흔적 삭제를 누르고 삭제 방법과 함께 지울 흔적을 고릅니다.추정항목과 다른 앱과 공유하는 항목은 기본으로 빠져 있습니다.- 휴지통으로 옮긴 앱과 흔적은 휴지통에서 되돌릴 수 있습니다.
| 삭제 방법 | 언제 쓰나 |
|---|---|
| 휴지통으로 이동 (권장) | 대부분의 앱 |
| Homebrew zap | Homebrew cask로 설치한 앱. brew uninstall --cask --zap을 실행한 뒤 남은 흔적을 휴지통으로 옮깁니다 |
| 개발사 삭제 도구 | 앱에 전용 삭제 프로그램이 있을 때. 삭제 과정은 그 도구가 진행합니다 |
삭제된 앱의 흔적
툴바의 삭제된 앱의 흔적 탭은 이미 지운 앱이 ~/Library에 남긴 설정·캐시·컨테이너를 앱 단위로 묶어 보여 줍니다.
- 설치된 앱(앱 안에 든 도우미 포함), Spotlight, Homebrew cask, 실행 중인 프로세스 중 하나라도 주인으로 확인되면 목록에 나오지 않습니다. 확실하지 않으면 보이지 않는 쪽을 택합니다.
- 최근 30일 안에 수정된 항목과 Apple·공용 업데이트 도구의 항목은 제외합니다.
- 캐시·웹 데이터·창 상태만 기본 선택되고, 설정·컨테이너는 직접 골라야 합니다. 자동 실행 항목은 보여 주기만 합니다.
휴지통으로 이동은 옮기기 직전에 각 경로를 다시 확인하고, 휴지통에서 되돌릴 수 있습니다.- 크기가
크기 알 수 없음 · 전체 디스크 접근 권한 필요로 나오면전체 디스크 접근 설정 열기에서 Tidemark를 허용하세요. - 남겨 두고 싶은 앱은
무시를 누르면 목록에서 빠지고, 아래무시 해제로 다시 볼 수 있습니다.
관리자 삭제 보관함
.pkg로 설치했거나 App Store에서 받은 시스템(root) 소유 앱은 삭제할 때 macOS가 관리자 암호를 묻습니다.
- 이런 앱은 휴지통 대신
/Library/Application Support/Tidemark Trash로 옮겨집니다. - 보관함에 항목이 있으면 목록 위에 안내가 나오고,
보관함 비우기를 눌러야 공간이 확보됩니다. - 비우기 전에는 Finder에서 꺼내 되돌릴 수 있습니다(관리자 암호 필요).
전역 패키지
툴바의 전역 패키지 탭에는 Homebrew, npm·pnpm·yarn·bun 전역, pipx, uv tool, cargo install로 설치한 것과 npx 캐시가 모입니다.
업데이트 확인은 Homebrew·npm·pnpm 패키지의 새 버전을 확인합니다.brew update를 포함해 네트워크를 쓰며, 아무것도 바꾸지 않습니다.새 버전만을 켜면 업데이트가 있는 패키지만 보입니다.업그레이드(한 개) 또는모두 업그레이드는 내장 터미널에서 각 관리자의 공식 명령으로 진행해, 진행 상황과 암호 입력을 직접 볼 수 있습니다. 메이저 버전이 바뀔 수 있습니다.- 패키지 삭제도 관리자의 공식 명령(
brew uninstall,npm uninstall -g등)으로 실행합니다. 다른 패키지의의존성으로 설치된 것은 Homebrew가 삭제를 거부할 수 있습니다. - npx 캐시는 npx가 실행할 때 받아 둔 패키지입니다. 휴지통으로 옮겨도 다음에 npx로 실행하면 다시 받습니다.
용량 지도
용량 지도는 어떤 폴더가 공간을 차지하는지 크기에 비례하는 사각형(트리맵)으로 보여 줍니다.
홈 폴더 분석또는디스크 전체 분석 (/)을 누릅니다. 홈 폴더는 몇 분 걸릴 수 있습니다.- 폴더 사각형을 누르면 그 폴더 안으로 들어갑니다. 위쪽 경로(브레드크럼)를 눌러 상위 폴더로 돌아갑니다.
- 오른쪽 목록에는 현재 폴더의 하위 폴더와 파일이 크기 순으로 나오고, 터미널에서 열기나
AI에게 질문을 할 수 있습니다.
| 조작 | 동작 |
|---|---|
⌘ + 휠 |
확대·축소 |
⌘ + 드래그 |
확대한 지도 이동 |
원래 크기 / 지도 전체로 |
확대 초기화 / 기준 폴더로 돌아가기 |
- 노란 점선 테두리는 정리 후보에 있는 폴더입니다.
- iCloud 같은 클라우드 동기화 폴더와 다른 볼륨은 파일을 내려받지 않도록 건너뛰고, 건너뛴 목록을 따로 보여 줍니다.
- 1MB 미만 폴더는 묶어서 계산합니다. 분석 결과는 저장되며
다시 분석으로 새로 계산합니다.
큰 파일
용량 지도 → 큰 파일에서 큰 파일, 오래된 다운로드, 중복 다운로드를 선택하고 스캔을 누릅니다. 큰 파일은 홈 폴더에서 100MB·250MB·500MB·1GB·5GB 이상, 오래된 다운로드는 ~/Downloads의 최상위 항목 중 30·90·180·365일 이상 수정되지 않은 항목을 찾습니다. 폴더는 내부 항목의 마지막 수정도 확인합니다. 검색·정렬·취소를 지원하며, 중복은 1MB 이상 파일의 크기와 앞 64KB·전체 SHA-256으로 확인합니다.
개인 파일은 기본 선택하지 않으며, 중복 묶음에서만 가장 오래된 원본 후보를 제외한 사본을 선택합니다. 필요 없는지 확인하고 휴지통으로 이동을 누르면 개수·합계·목록을 확인한 뒤 파일 정보를 다시 검사합니다. Library·음악 데이터·번들 내부·링크·다른 볼륨·내려받지 않은 클라우드 항목은 제외하고, 안전하게 확인하지 못한 폴더도 이동하지 않습니다. 결과는 메모리에만 남습니다. 권한이 거부되면 시스템 설정의 개인정보 보호 및 보안 → 파일 및 폴더에서 Tidemark를 허용한 뒤 다시 스캔하세요.
AI 도구
AI 도구의 디스크 사용량과 다시 받을 수 있는 캐시, 실행 중인 AI 프로세스의 CPU·메모리, 지원되는 GPU 사용률을 읽기 전용으로 확인합니다. 도구를 펼치면 캐시·모델·사용자 데이터별 경로와 크기를 볼 수 있고, Finder에서 보기로 위치를 열 수 있습니다. 사용자 데이터는 캐시로 표시하지 않으며 이 화면에서 삭제하거나 프로세스를 종료하지 않습니다.
탭을 처음 열 때 이전 측정값을 즉시 보여 주며, 기록이 없을 때만 자동 측정합니다. 다시 측정과 취소를 사용할 수 있습니다. 프로세스는 탭이 보이는 동안 약 3초마다 갱신하며 일시정지할 수 있습니다. CPU는 코어 기준이라 100%를 넘을 수 있고, 메모리는 RSS라 실제보다 작을 수 있습니다. 공유 데이터 때문에 모델별 합은 실제 디스크 사용량보다 클 수 있습니다. GPU 조회가 지원되지 않으면 GPU 정보는 숨깁니다.
서버
열린 TCP 포트를 프로세스별로 보여 줍니다. 새로 고침으로 갱신하고 포트·이름 검색과 네트워크에 열린 것만으로 걸러 보세요. 이 Mac만은 루프백 주소이고, 네트워크에 열림은 다른 기기에서도 연결할 수 있는 주소에 바인딩했다는 뜻입니다(방화벽 접근 허용 여부와는 별개). 일반적인 포트 용도는 참고일 뿐 실제 프로그램은 프로세스로 확인합니다.
- 명령줄과 부모 체인을 펼쳐 보고
종료를 누르면 확인 창이 열립니다. 시작 시각·실행 파일·사용자가 바뀌면 중단합니다. SIGTERM 뒤 최대 5초를 기다리고, 계속 실행 중일 때만 별도의강제 종료 (SIGKILL)확인을 제시합니다. 강제 종료는 저장하지 않은 작업을 잃을 수 있습니다. - Tidemark 자신과 그 부모, 다른 사용자, macOS 구성요소, Docker 및 관리 서비스는 직접 종료하지 않습니다. 정보가 부족해도 종료 버튼이 없습니다.
- AirPlay 수신은 시스템 설정의 일반 › AirDrop 및 Handoff에서 끄세요. Docker 포트는 표시된
docker stop <이름>으로 해당 컨테이너를 중지하세요. Homebrew 서비스 버튼은 내장 터미널에서brew services stop <formula>를 준비하고 사용자가 Enter를 눌러야 실행합니다. - launchd 관리 항목은 다시 켜질 수 있으니 해당 서비스 설정에서 중지하세요. Ollama.app의 자식 서버는 메뉴 막대의 Ollama 앱을 종료하세요. 개발 감시자가 있으면 확인 창에서 부모도 종료할 수 있지만, 기본은 자식만이며 부모의 다른 작업도 멈출 수 있습니다.
AI에게 질문
이미 설치해 쓰는 AI 에이전트 CLI에게 지금 보고 있는 항목에 대해 물어볼 수 있습니다. AI는 삭제할 수 없고 제안만 합니다. 지원하는 에이전트: Claude Code(claude), Codex(codex), Gemini CLI(gemini), Cursor CLI(cursor-agent), OpenCode(opencode).
질문하는 법
- 헤더 오른쪽 끝의 반짝이 아이콘, 상세 패널의
AI에게 질문, 또는 항목을 고른 뒤 하단 바의AI에게 질문을 누릅니다. - 에이전트를 고르고 질문을 씁니다. 화면에 맞는 추천 질문(예: "이 폴더는 어떤 프로그램이 만든 거야?")을 눌러 채울 수도 있습니다.
터미널에서 시작을 누르면 에이전트가 내장 터미널에서 실행됩니다. 지금 화면과 선택한 항목 정보가 함께 전달되고, 대화 중 화면이나 선택을 바꾸면 그 최신 상태를 기준으로 답합니다.
AI는 Tidemark의 표시 언어로 답합니다. 에이전트는 내 컴퓨터의 CLI로 실행되므로, 로그인과 요금은 각 CLI의 설정을 따릅니다.
AI 검토 배지
AI가 항목을 검토하면 목록과 상세 패널에 결과가 남습니다.
| 배지 | 뜻 |
|---|---|
| 정리 가능 | 지워도 문제없다는 의견 |
| 확인 후 정리 | 내용을 확인한 뒤 지우라는 의견 |
| 보존 권장 | 남겨 두라는 의견 |
상세 패널의 AI 검토 카드에는 근거, 정리 시 문제가 될 수 있는 점, 복구 방법이 함께 나옵니다. AI의 의견일 뿐이므로 정리 여부는 직접 판단하세요.
AI 정리 제안
- AI가 정리를 제안하면 화면 위에
AI가 N개 항목 정리를 제안했습니다안내가 뜨고, 선택은 저절로 바뀌지 않습니다. 검토를 누르면 제안된 항목이 확인 창에 담기고, 제안 이유를 직접 확인했다는 체크를 해야 정리할 수 있습니다.- AI는 스캔된 파일 속 문구에 속을 수 있으니 항목을 직접 확인하세요. 필요 없으면
무시를 누릅니다.
터미널과 단축키
화면 아래에 터미널이 내장되어 있어, 항목을 직접 살펴보거나 AI 에이전트·패키지 업그레이드를 실행할 수 있습니다.
- 헤더의 터미널 아이콘으로 열고 닫습니다. 상세 패널의
터미널은 그 항목의 폴더에서 새 터미널을 엽니다. - 탭 줄의
+는 같은 폴더에서 새 터미널을 열고, 탭의×는 그 셸을 종료합니다. - 터미널 위쪽 경계를 끌어 높이를 조절하고, 더블클릭하면 기본 높이로 돌아갑니다.
| 단축키 | 동작 |
|---|---|
⌘F |
지금 화면의 검색창으로 이동 |
Esc (검색창에서) |
검색어 지우기 |
⌘+ / ⌘- / ⌘0 |
화면 확대 / 축소 / 원래 크기 (터미널에 커서가 있어도 동작) |
⌘ + 휠, ⌘ + 드래그 |
용량 지도 확대, 이동 |
Windows와 Linux에서는 ⌘ 대신 Ctrl을 씁니다. 화면 배율과 터미널 높이는 저장되어 다음 실행에도 유지됩니다.
설정
헤더의 톱니바퀴 아이콘으로 엽니다. 바꾼 값은 바로 적용되고 다음 실행에도 유지됩니다.
| 항목 | 선택지 | 기본값 |
|---|---|---|
| 테마 | 시스템 설정 / 라이트 / 다크 | 시스템 설정 (macOS·Windows의 라이트·다크 모드를 따름) |
| 언어 | 운영체제 설정 / 한국어 / English / 日本語 / 简体中文 | 운영체제 설정 (목록에 없는 언어는 영어) |
| AI 에이전트 | 에이전트별 사용 여부, 기본 에이전트, 실행 파일 경로 | 설치된 것을 모두 사용 |
메뉴 막대와 자동 다시 스캔
메뉴 막대에 표시는 기본 꺼짐입니다. 켜면 창을 닫아도 실행되며 메뉴에서 여유 공간, 마지막 스캔과 정리 가능 용량을 볼 수 있습니다.Tidemark 열기,지금 스캔,종료로 제어하고 Dock 아이콘은 유지됩니다.로그인 시 실행은 기본 꺼짐이며 macOS 13 이상에서 서명된 앱에만 제공됩니다. 시스템의 실제 로그인 항목 상태를 표시하며, 승인이 필요하면 시스템 설정에서 허용하세요. 로그인으로 시작할 때 메뉴 막대 모드가 켜져 있으면 창을 숨깁니다.정리 후보 자동 다시 스캔은 기본수동이며 6시간·하루·일주일을 고를 수 있습니다. 앱이 실행 중이고 다른 작업과 배터리 사용이 없을 때만 결과를 갱신합니다. 전원 상태를 확인하지 못하면 건너뜁니다. 스캔은 파일을 지우지 않으며 알림도 보내지 않습니다.
언어
- 언어를 바꾸면 화면이 곧바로 다시 그려집니다. 이미 만들어진 스캔 경고와 점검 설명은 다음 스캔부터 새 언어로 나옵니다.
운영체제 설정은 실행할 때의 시스템 언어를 따릅니다. macOS에서는시스템 설정 › 일반 › 언어 및 지역의 첫 번째 선호 언어입니다.
AI 에이전트
- Tidemark는 실행 파일이 있는지와
--version이 실행되는지만 확인합니다.다시 확인으로 새로 점검합니다. - PATH에서 찾지 못하면 경로 칸에 실행 파일을 직접 적고(예:
/opt/homebrew/bin/claude)적용을 누릅니다. - 로그인이나 모델 설정 문제는
터미널에서 실행으로 CLI를 직접 띄워 확인합니다.
후원
설정 창 아래의 후원하기로 Tidemark 개발을 후원할 수 있습니다.
앱 업데이트
자동 확인은 기본으로 켜져 있으며, 앱 시작 시 마지막 확인에서 24시간이 지나면 GitHub의 버전 정보 파일만 요청합니다. 지금 확인으로 직접 확인할 수도 있습니다. 업데이트를 눌러야 다운로드하며, 서명·공증·검사값을 확인한 뒤 설치 후 다시 시작을 눌러 설치합니다. 정리 중에는 다시 시작할 수 없습니다. 자동 설치가 어려운 위치나 검증 실패 시에는 릴리스 페이지 열기로 직접 내려받으세요. 사용자 데이터는 그대로 보존됩니다.
안전장치
Tidemark는 지우기 전에 무엇이 지워지는지 보여 주고, 아래 경우에는 지우지 않거나 한 번 더 확인합니다.
| 장치 | 내용 |
|---|---|
| 읽기 전용 스캔 | 스캔은 찾고 크기를 재기만 합니다. 정리는 확인 창을 거쳐야만 실행됩니다 |
| 보호 경로 | 홈, 데스크탑, 문서, 시스템 폴더와 그 상위 경로는 삭제를 거부합니다 |
| 공식 정리 명령 우선 | npm cache clean, uv cache clean, docker system prune처럼 도구가 제공하는 방법을 먼저 씁니다 |
| 링크·다른 볼륨 | 심볼릭 링크를 따라가지 않고 다른 파일시스템으로 넘어가지 않습니다. 하드링크는 한 번만 세고 공유 용량을 따로 표시합니다 |
| 프로젝트 증거 파일 | package.json, Cargo.toml, pyvenv.cfg 같은 파일이 있는 폴더만 프로젝트 정리 대상으로 삼습니다 |
| git 확인 | 커밋하지 않은 변경과 푸시하지 않은 커밋을 표시합니다. git을 부를 때 저장소 설정의 명령 실행 경로(core.fsmonitor 등)는 끕니다 |
| 위험 항목 동의 | 위험 항목이나 AI 제안이 섞이면 확인 창에서 따로 체크해야 실행됩니다 |
| 휴지통 | 휴지통으로 이동을 켜면 되돌릴 수 있습니다. 앱 삭제의 기본 방법도 휴지통(root 소유 앱은 관리자 삭제 보관함)입니다 |
| 경로 바꿔치기 방지 | macOS·Linux에서 오래된 파일 삭제는 폴더 핸들 기준(openat/unlinkat)으로 수행합니다 |
| 정리 이력 | 무엇을 언제 정리했는지 clean-log.jsonl에 남깁니다 |
CLI 사용법
같은 엔진을 터미널 명령 tidemark로도 씁니다. clean은 --yes 없이는 계획만 보여 주고(dry-run) 아무것도 지우지 않습니다.
설치(저장소에서): cargo install --path crates/cli
| 명령 | 하는 일 | 주요 옵션 |
|---|---|---|
tidemark scan |
정리 가능한 항목 스캔 | --root <폴더>, --no-projects, --no-rules, --min-mb <MB>(기본 1), --git-fetch, --json |
tidemark clean |
항목 정리 | scan 옵션 + --rule <id>(여러 번), --max-risk safe|caution|danger, --unused-days <N>, --include-warned, --trash, --yes |
tidemark rules |
현재 OS에 적용되는 규칙 목록 | — |
tidemark map [폴더] |
폴더별 용량 (기본: 홈 폴더, 2단계까지) | 기준 폴더 (예: /, ~/Desktop) |
tidemark apps |
설치된 앱의 마지막 사용일·크기·흔적 | --unused-days <N>, --no-apple, --json |
tidemark outdated |
새 버전이 있는 전역 패키지 (Homebrew, npm, pnpm) | — |
# 스캔만 (아무것도 지우지 않음)
tidemark scan
# 안전 항목 정리 계획 보기 (dry-run)
tidemark clean --max-risk safe
# 90일 넘게 안 쓴 프로젝트의 node_modules를 휴지통으로
tidemark clean --rule project:node_modules --unused-days 90 --trash --yes
# 규칙 하나만 실제로 정리
tidemark clean --rule npm-cache --yes
출력 언어는 OS 언어를 따르며, TIDEMARK_LANG=en tidemark scan처럼 바꿀 수 있습니다(ko, en, ja, zh). 규칙 id는 tidemark rules로 확인합니다.
사용자 정리 규칙
기본 규칙에 없는 캐시를 추가하거나 기본 규칙을 끄려면 rules.toml을 만듭니다. 위치는 macOS 기준 ~/Library/Application Support/tidemark/rules.toml입니다(다른 OS는 <config_dir>/tidemark/rules.toml).
- 형식은 기본 규칙 파일(
crates/infra/rules/default.toml)과 같습니다. - 같은
id를 쓰면 기본 규칙을 덮어쓰고,disabled = true로 기본 규칙을 끕니다. - 바꾼 뒤에는 다시 스캔해야 반영됩니다. 사용자 규칙의 이름과 설명은 번역되지 않고 적은 그대로 표시됩니다.
# 새 규칙 추가
[[rules]]
id = "my-tool-cache"
name = "My Tool 캐시"
category = "package_cache"
risk = "safe"
description = "my-tool이 내려받은 파일입니다."
restore = "다음 실행 때 다시 받습니다."
paths = { macos = ["~/Library/Caches/my-tool"], linux = ["~/.cache/my-tool"] }
mode = "contents"
# 기본 규칙 끄기 (id, name, category, risk는 항상 필요)
[[rules]]
id = "yarn-cache"
name = "Yarn 캐시"
category = "package_cache"
risk = "safe"
disabled = true
| 필드 | 뜻 |
|---|---|
id, name |
규칙 이름표와 화면에 보일 이름. category, risk와 함께 필수 |
category |
package_cache, project_deps, build_cache, ai_tool, ai_model, ide, container, temp, logs, app_cache, trash |
risk |
safe | caution | danger |
paths |
all, unix, macos, linux, windows별 경로. ~, $VAR, ${VAR}, %VAR% 사용 가능 프로필 디렉터리 한 단계의 *만 지원하며 **와 여러 단계 *는 지원하지 않습니다. |
paths.priority, paths.pointer, paths.first_existing |
우선 경로 priority는 처음 확장 가능한 경로를 사용합니다. pointer = { file, suffix }는 파일에 적힌 홈 아래 경로, first_existing = true는 첫 번째로 존재하는 기본 폴더를 사용합니다. |
mode |
whole(경로 삭제) | contents(내용 삭제) | children(하위 항목별 표시) | aged_files(오래된 파일만) |
min_age_days, include, exclude |
aged_files의 기간(일)과 루트 기준 glob, children의 후보 이름 glob. contents의 exclude는 루트 기준 하위 경로입니다. |
command |
공식 정리 명령 { program, args }. 있으면 먼저 실행 |
fallback_delete |
명령이 없거나 실패하면 직접 삭제 (기본 true) |
inspect |
실행 전 확보량 점검: simctl-unavailable | docker-prune | brew-cleanup |
partial |
명령이 일부만 정리함 (표시 용량은 최대치) |
processes |
실행 중이면 경고할 프로세스 이름 |
데이터 위치와 문제 해결
Tidemark의 데이터는 모두 내 컴퓨터에만 저장되며, macOS 기준 ~/Library/Application Support/tidemark/에 있습니다.
| 파일 | 내용 |
|---|---|
last-scan.json |
마지막 정리 후보 스캔 결과 |
apps.json |
설치된 앱·전역 패키지 스캔 결과 |
disk-map.json |
용량 지도 분석 결과 |
ai-reviews.json |
AI 검토 결과 |
ui.json |
테마, 언어, 화면 배율, 터미널 높이, AI 에이전트 설정 |
clean-log.jsonl |
정리 이력 |
rules.toml |
사용자 정리 규칙 (만들었을 때만) |
예전 이름(Storage Clear)의 storage-clear 폴더가 있으면 처음 실행할 때 tidemark로 자동으로 옮겨집니다.
자주 묻는 질문
정리했는데 여유 공간이 늘지 않습니다.
휴지통으로 이동을 켜고 정리했다면 휴지통을 비워야 합니다. 관리자 권한으로 지운 앱은보관함 비우기를 눌러야 합니다.- pnpm 저장소처럼 다른 위치와 하드링크로 공유되는 파일은 지워도 공간이 늘지 않습니다. 목록에
하드링크 공유로 표시됩니다. - Time Machine 로컬 스냅샷이 있으면 macOS가 보여 주는 여유 공간이 늦게 늘 수 있습니다.
AI에게 질문에서 에이전트를 찾지 못합니다.
Tidemark는 실행할 때 로그인 셸의 PATH를 가져와 claude, codex를 찾습니다. 그래도 못 찾으면 설정에서 실행 파일 경로를 직접 지정하세요.
언어를 바꿨는데 일부 문구가 예전 언어로 나옵니다.
스캔 경고, 사전 점검 설명, git 상태 메모는 스캔할 때의 언어로 저장됩니다. 다시 스캔하면 새 언어로 바뀝니다.
스캔 결과가 실제와 다릅니다.
위쪽 상태 줄의 마지막 스캔 결과 · N일 전은 저장된 결과를 보여 주는 중이라는 뜻입니다. 정리하기 전에 다시 스캔하면 정확합니다.
처음 열 때 "확인되지 않은 개발자"라며 열리지 않습니다.
아직 Apple 공증을 받지 않은 빌드입니다. Finder에서 앱을 Control-클릭 › 열기를 고르면 한 번 허용한 뒤부터 그대로 열립니다.