폴더마다 고유한 규칙이 있습니다.
Devbroom은 모든 위치를 OpenCode의 동작 방식에 맞춰 다룹니다. 에이전트가 스스로 정리하는 것은 에이전트에게 맡기고, 자체 명령이 있는 것은 그 명령에 맡깁니다.
실행 취소 스냅샷
섀도 git 저장소. 프로젝트나 워크트리를 삭제하면 고아로 남습니다.
~/.local/share/opencode/snapshot1.2 이전의 세션 파일
마이그레이션 때 SQLite로 복사되고 삭제되지 않은 채 남습니다.
~/.local/share/opencode/storage로그와 캐시
순환되지 않는 단일 로그 파일과, 지워도 안전하다고 문서화된 캐시.
~/.local/share/opencode/log~/.cache/opencode세션 데이터베이스
읽기 전용. 파일은 스스로 줄어들지 않으며, opencode session delete <id>로 정리합니다.
~/.local/share/opencode/opencode.dbOpenCode 워크트리
OpenCode 앱에서 제거해야 하며, 스스로 만료되지 않습니다.
~/.local/share/opencode/worktree도구 출력
OpenCode가 실행 중에 7일보다 오래된 것을 스스로 지웁니다.
~/.local/share/opencode/tool-output계정과 설정은 그대로 둡니다.
이 파일과 폴더는 보호됩니다. 어떤 판정도 이것들을 정리 대상으로 만들지 않으며, 크기와 상관없이 그대로 남습니다.
opencode.db · -wal · -shmauth.jsonmcp-auth.jsonOpenCode의 워크트리를 흔적으로 알아봅니다.
다음 흔적으로 워크트리가 OpenCode의 것임을 알아봅니다. 흔적이 강할수록 소유자를 더 확실하게 표시합니다.
- 유력OpenCode 워크트리 폴더 안
- 가능성 있음
opencode/로 시작하는 브랜치 이름
- 저장되지 않은 작업이 있으면 차단됨. git은
--force없이 이런 워크트리를 제거하지 않으며, Devbroom은--force를 절대 쓰지 않습니다. - 그 안이나 상위 폴더에서 세션이 실행 중이면 차단됨.
- 무시된 파일이 있으면 검토 필요:
git worktree remove는 묻지 않고 그 파일들을 지웁니다.
보이지만, 실행 중에는 건드리지 않습니다.
Devbroom은 어떤 OpenCode 세션이 어느 폴더에 있는지 데이터베이스에서 읽습니다. 실행 중인 세션의 프로세스는 절대 건드리지 않으며, 세션이 이어지는 동안 그 폴더는 차단됨으로 남습니다.
OpenCode의 파일부터 확인합니다.
에이전트의 데이터를 신뢰하기 전에, Devbroom은 파일이 예상한 형식인지 확인합니다. 그렇지 않으면 그 데이터는 읽기만 하며, 어느 것도 정리 준비됨으로 간주하지 않습니다.
이 범위를 벗어난 버전도 형식이 맞으면 동작하며, “아직 테스트되지 않음”으로 표시됩니다.
opencode.db를 읽기 전용으로 열 수 있어야 하며, session 테이블에 이 두 열이 있어야 합니다.
폴더가 다른 곳에 있으면 XDG_DATA_HOME, XDG_CACHE_HOME, OPENCODE_DB 값을 따릅니다.