Tidemark 사용 설명서

목차

  1. 시작하기
  2. 정리 후보
  3. 설치된 앱
  4. 용량 지도
  5. AI 도구
  6. 서버
  7. AI에게 질문
  8. 터미널과 단축키
  9. 설정
  10. 안전장치
  11. CLI 사용법
  12. 사용자 정리 규칙
  13. 데이터 위치와 문제 해결

시작하기

Tidemark는 개발하면서 쌓인 캐시·의존성·빌드 산출물·AI 모델과 오래 안 쓴 앱을 찾아 안전하게 정리하는 무료 오픈 소스 디스크 정리 앱입니다. 스캔은 아무것도 지우지 않고, 정리는 확인 창을 거쳐야만 실행됩니다.

설치

  1. Tidemark_<버전>_aarch64.dmg를 열고 Tidemark.app을 응용 프로그램 폴더로 끌어 옮깁니다.
  2. 처음 실행할 때 macOS가 확인되지 않은 개발자라고 막으면, Finder에서 앱을 Control-클릭 › 열기를 고릅니다.
  3. 요구 사항: Apple Silicon Mac, macOS 11 이상.

화면 구성

위치 하는 일
헤더 화면 탭(정리 후보 / 설치된 앱 / 용량 지도), 디스크 여유 공간 게이지, 다시 스캔, 터미널·설정·AI에게 질문 아이콘
왼쪽 사이드바 카테고리별 합계와 필터(위험도, 프로젝트 미사용 기간, git 원격 정보 갱신)
가운데 목록 찾은 항목. 검색창, 일괄 선택 버튼
오른쪽 상세 패널 항목을 누르면 열림. 경로, 크기, 설명, 복구 방법, 폴더 내용
하단 바 선택한 항목 수와 확보 예상량, 휴지통으로 이동 여부, 정리하기

처음 실행하면 스캔 시작을 누릅니다. 마지막 스캔 결과는 저장되어 다음 실행 때 바로 보이고, 위쪽 상태 줄에 언제 스캔한 결과인지 표시됩니다.

정리 후보

정리 후보 화면에서는 스캔으로 찾은 항목을 고르고, 확인 창을 거쳐 정리합니다.

스캔

AI 도구와 모델 정리

브라우저 캐시와 개인 데이터 정리

위험도

표시 뜻
안전 다시 받거나 다시 빌드하면 생기는 데이터. 보통 그냥 지워도 됩니다
주의 다시 받는 데 시간이 걸리거나, 일부 설정이 함께 사라질 수 있는 데이터
위험 다시 구하기 어렵거나 사용자 데이터가 들어 있을 수 있는 데이터. 정리할 때 따로 확인을 받습니다

항목 옆 ⚠ 표시는 경고입니다(예: 관련 프로그램이 실행 중). 마우스를 올리면 내용이 보입니다.

필터와 검색

상세 패널

항목을 누르면 오른쪽에 열립니다.

사전 점검

Docker 미사용 데이터, 사용 불가 iOS 시뮬레이터, Homebrew 캐시처럼 명령으로 정리하는 항목은 실제로 확보될 양을 미리 계산합니다. 목록에는 약 13.4 GB / 전체 56.4 GB처럼 확보 예상량과 전체 크기가 함께 표시됩니다.

git 확인

프로젝트 폴더(node_modules, target 등)는 git 저장소 상태를 함께 보여 줍니다.

정리 실행

  1. 항목 앞 체크 박스로 고릅니다. 하단 바에 선택 개수와 확보 예상량이 표시됩니다.
  2. 필요하면 휴지통으로 이동을 켭니다. 이 경우 휴지통을 비워야 공간이 확보됩니다. 오래된 파일 정리와 명령 실행 항목은 바로 지워집니다.
  3. 정리하기를 누르면 확인 창에 대상 목록이 나옵니다. 위험 항목이 있으면 동의 체크를 해야 정리 실행이 켜집니다.
  4. 끝나면 확보한 용량과 디스크 여유 공간 변화, 실패한 항목이 요약으로 표시됩니다.

설치된 앱

설치된 앱 화면은 오래 안 쓴 앱을 남은 흔적까지 지우고, 전역으로 설치한 패키지를 관리합니다. 앱 스캔은 앱 정보와 이 Mac의 기록만 쓰며, 네트워크나 AI를 쓰지 않습니다.

앱 목록

앱과 흔적 삭제

  1. 앱을 누르면 상세 패널에 흔적 목록이 나옵니다. 번들 ID·개발사 ID가 일치한 항목은 확실한 흔적이고, 이름만 같은 항목은 추정으로 표시됩니다.
  2. 앱과 흔적 삭제를 누르고 삭제 방법과 함께 지울 흔적을 고릅니다. 추정 항목과 다른 앱과 공유하는 항목은 기본으로 빠져 있습니다.
  3. 휴지통으로 옮긴 앱과 흔적은 휴지통에서 되돌릴 수 있습니다.
삭제 방법 언제 쓰나
휴지통으로 이동 (권장) 대부분의 앱
Homebrew zap Homebrew cask로 설치한 앱. brew uninstall --cask --zap을 실행한 뒤 남은 흔적을 휴지통으로 옮깁니다
개발사 삭제 도구 앱에 전용 삭제 프로그램이 있을 때. 삭제 과정은 그 도구가 진행합니다

삭제된 앱의 흔적

툴바의 삭제된 앱의 흔적 탭은 이미 지운 앱이 ~/Library에 남긴 설정·캐시·컨테이너를 앱 단위로 묶어 보여 줍니다.

관리자 삭제 보관함

.pkg로 설치했거나 App Store에서 받은 시스템(root) 소유 앱은 삭제할 때 macOS가 관리자 암호를 묻습니다.

전역 패키지

툴바의 전역 패키지 탭에는 Homebrew, npm·pnpm·yarn·bun 전역, pipx, uv tool, cargo install로 설치한 것과 npx 캐시가 모입니다.

용량 지도

용량 지도는 어떤 폴더가 공간을 차지하는지 크기에 비례하는 사각형(트리맵)으로 보여 줍니다.

  1. 홈 폴더 분석 또는 디스크 전체 분석 (/)을 누릅니다. 홈 폴더는 몇 분 걸릴 수 있습니다.
  2. 폴더 사각형을 누르면 그 폴더 안으로 들어갑니다. 위쪽 경로(브레드크럼)를 눌러 상위 폴더로 돌아갑니다.
  3. 오른쪽 목록에는 현재 폴더의 하위 폴더와 파일이 크기 순으로 나오고, 터미널에서 열기나 AI에게 질문을 할 수 있습니다.
조작 동작
⌘ + 휠 확대·축소
⌘ + 드래그 확대한 지도 이동
원래 크기 / 지도 전체로 확대 초기화 / 기준 폴더로 돌아가기

큰 파일

용량 지도 → 큰 파일에서 큰 파일, 오래된 다운로드, 중복 다운로드를 선택하고 스캔을 누릅니다. 큰 파일은 홈 폴더에서 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만은 루프백 주소이고, 네트워크에 열림은 다른 기기에서도 연결할 수 있는 주소에 바인딩했다는 뜻입니다(방화벽 접근 허용 여부와는 별개). 일반적인 포트 용도는 참고일 뿐 실제 프로그램은 프로세스로 확인합니다.

AI에게 질문

이미 설치해 쓰는 AI 에이전트 CLI에게 지금 보고 있는 항목에 대해 물어볼 수 있습니다. AI는 삭제할 수 없고 제안만 합니다. 지원하는 에이전트: Claude Code(claude), Codex(codex), Gemini CLI(gemini), Cursor CLI(cursor-agent), OpenCode(opencode).

질문하는 법

  1. 헤더 오른쪽 끝의 반짝이 아이콘, 상세 패널의 AI에게 질문, 또는 항목을 고른 뒤 하단 바의 AI에게 질문을 누릅니다.
  2. 에이전트를 고르고 질문을 씁니다. 화면에 맞는 추천 질문(예: "이 폴더는 어떤 프로그램이 만든 거야?")을 눌러 채울 수도 있습니다.
  3. 터미널에서 시작을 누르면 에이전트가 내장 터미널에서 실행됩니다. 지금 화면과 선택한 항목 정보가 함께 전달되고, 대화 중 화면이나 선택을 바꾸면 그 최신 상태를 기준으로 답합니다.

AI는 Tidemark의 표시 언어로 답합니다. 에이전트는 내 컴퓨터의 CLI로 실행되므로, 로그인과 요금은 각 CLI의 설정을 따릅니다.

AI 검토 배지

AI가 항목을 검토하면 목록과 상세 패널에 결과가 남습니다.

배지 뜻
정리 가능 지워도 문제없다는 의견
확인 후 정리 내용을 확인한 뒤 지우라는 의견
보존 권장 남겨 두라는 의견

상세 패널의 AI 검토 카드에는 근거, 정리 시 문제가 될 수 있는 점, 복구 방법이 함께 나옵니다. AI의 의견일 뿐이므로 정리 여부는 직접 판단하세요.

AI 정리 제안

터미널과 단축키

화면 아래에 터미널이 내장되어 있어, 항목을 직접 살펴보거나 AI 에이전트·패키지 업그레이드를 실행할 수 있습니다.

단축키 동작
⌘F 지금 화면의 검색창으로 이동
Esc (검색창에서) 검색어 지우기
⌘+ / ⌘- / ⌘0 화면 확대 / 축소 / 원래 크기 (터미널에 커서가 있어도 동작)
⌘ + 휠, ⌘ + 드래그 용량 지도 확대, 이동

Windows와 Linux에서는 ⌘ 대신 Ctrl을 씁니다. 화면 배율과 터미널 높이는 저장되어 다음 실행에도 유지됩니다.

설정

헤더의 톱니바퀴 아이콘으로 엽니다. 바꾼 값은 바로 적용되고 다음 실행에도 유지됩니다.

항목 선택지 기본값
테마 시스템 설정 / 라이트 / 다크 시스템 설정 (macOS·Windows의 라이트·다크 모드를 따름)
언어 운영체제 설정 / 한국어 / English / 日本語 / 简体中文 운영체제 설정 (목록에 없는 언어는 영어)
AI 에이전트 에이전트별 사용 여부, 기본 에이전트, 실행 파일 경로 설치된 것을 모두 사용

메뉴 막대와 자동 다시 스캔

언어

AI 에이전트

후원

설정 창 아래의 후원하기로 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).

# 새 규칙 추가
[[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로 자동으로 옮겨집니다.

자주 묻는 질문

정리했는데 여유 공간이 늘지 않습니다.

AI에게 질문에서 에이전트를 찾지 못합니다.

Tidemark는 실행할 때 로그인 셸의 PATH를 가져와 claude, codex를 찾습니다. 그래도 못 찾으면 설정에서 실행 파일 경로를 직접 지정하세요.

언어를 바꿨는데 일부 문구가 예전 언어로 나옵니다.

스캔 경고, 사전 점검 설명, git 상태 메모는 스캔할 때의 언어로 저장됩니다. 다시 스캔하면 새 언어로 바뀝니다.

스캔 결과가 실제와 다릅니다.

위쪽 상태 줄의 마지막 스캔 결과 · N일 전은 저장된 결과를 보여 주는 중이라는 뜻입니다. 정리하기 전에 다시 스캔하면 정확합니다.

처음 열 때 "확인되지 않은 개발자"라며 열리지 않습니다.

아직 Apple 공증을 받지 않은 빌드입니다. Finder에서 앱을 Control-클릭 › 열기를 고르면 한 번 허용한 뒤부터 그대로 열립니다.