ccdock
Claude Code로 작업하던 프로젝트와 conda 가상환경을 한 화면에서 골라 바로 띄우는 로컬 대시보드입니다. PC를 재부팅할 때마다 폴더 경로를 더듬고 가상환경 이름을 기억해내는 과정을 없애기 위해 만들었습니다.
- 최근 작업순 프로젝트 목록 — Claude Code 사용 기록에서 자동 수집
- conda 환경과 프로젝트 폴더의 venv를 모두 인식 (
.venv,mvkit-env같은 폴더) - 각 가상환경의 디스크 사용량 표시 — 배경에서 재고 캐시해 다음부터는 즉시 표시
- 프로젝트별 가상환경을 한 번 지정하면 계속 기억
- 선택 즉시 Anaconda 프롬프트 새 탭 또는 새 창이 열리고 환경이 활성화된 상태로 대기
- 창이 여러 개 열려 있으면 어느 창에 탭을 추가할지 선택
- 워크스페이스 — 자주 쓰는 3~5개 조합을 저장해두고 부팅 후 한 번에 복원
- 외부 의존성 0 (표준 라이브러리만), 브라우저에서 뜨는 가벼운 대시보드
설치
pip install ccdock
로컬 소스에서 바로 쓰려면:
pip install -e G:\path\to\ccdock
conda
base환경에 설치하면 어떤 Anaconda 프롬프트에서도ccdock를 바로 호출할 수 있습니다.
사용
ccdock :: 대시보드를 열고 브라우저 실행
ccdock -p 9000 :: 다른 포트로
ccdock -n :: 브라우저를 열지 않음
ccdock list :: 프로젝트 목록을 터미널에 출력
ccdock workspace 오전작업 :: 저장된 워크스페이스를 한 번에 실행
대시보드
| 조작 | 설명 |
|---|---|
/ |
검색창으로 이동 |
검색 후 Enter |
첫 번째 결과 실행 |
| ☆ | 프로젝트 고정 (목록 맨 위로) |
| 환경 드롭다운 | 가상환경 지정 — 즉시 저장됨 |
+ 담기 → 워크스페이스 저장 |
여러 프로젝트를 하나의 조합으로 저장 |
실행 |
터미널(새 탭/새 창)과 실행할 명령을 고르고 실행 |
실행 모달에서 고르는 항목:
- 작업 폴더 — 프로젝트 최상위가 기본이며, 하위 폴더를 골라 더 깊이 내려갈 수 있습니다.
↑로 되돌아가고처음으로 최상위에 복귀합니다. 고른 위치는 프로젝트별로 기억되어 목록에↳ 하위\경로로 표시됩니다 - 가상환경 — conda 환경과 venv가 그룹으로 나뉘어 표시됩니다. 프로젝트 폴더 안에 venv가
있거나
environment.yml/.ccdock-env가 있으면 후보로 먼저 제안합니다 - 터미널 — 기존 창에 새 탭 (열린 Windows Terminal 창이 있을 때) / 새 창으로 열기
- 어느 창에 탭을 추가할까요? — 창이 2개 이상이면 창 제목으로 골라서 지정합니다
- 셸 — 명령 프롬프트 / Anaconda Prompt / PowerShell (PowerShell 7이 있으면 함께 표시)
- 실행할 명령 —
claude/claude --continue/claude --resume/ 프롬프트만
가상환경 인식 범위
| 종류 | 인식 방법 | 활성화 |
|---|---|---|
| conda | ~/.conda/environments.txt |
activate.bat <이름> |
| venv | 프로젝트 폴더와 그 상위 폴더 바로 아래의 pyvenv.cfg 보유 폴더 |
<경로>\Scripts\activate.bat |
프로젝트 폴더 안에 만들어 둔 .venv, mvkit-env 같은 가상환경이 자동으로 목록에 올라옵니다.
작업 폴더 고르기
Claude Code 기록에 남은 폴더가 늘 정확한 작업 위치는 아닙니다. 실행 모달의 작업 폴더에서
하위 폴더를 한 단계씩 내려가며 원하는 위치를 지정할 수 있습니다. 이름 뒤의 ›는 그 안에
하위 폴더가 더 있다는 표시입니다.
.git, __pycache__, node_modules, .venv 같은 폴더와 가상환경 폴더(pyvenv.cfg나
conda-meta를 가진 폴더)는 목록에서 빠집니다. 지정한 위치는 프로젝트 아래인지, 아직 존재하는지
확인한 뒤에만 쓰이므로 폴더를 지우거나 옮겨도 최상위로 안전하게 되돌아갑니다.
셸 선택
| 셸 | 스크립트 | 환경 활성화 |
|---|---|---|
| 명령 프롬프트 | .bat → cmd /k |
conda는 activate.bat, venv는 Scripts\activate.bat |
| Anaconda Prompt | .bat → cmd /k |
위와 같되, 환경을 고르지 않아도 base를 열어 둠 |
| PowerShell | .ps1 → powershell -NoExit -ExecutionPolicy Bypass -File |
conda는 conda-hook.ps1 + conda activate, venv는 Activate.ps1 |
이 PC에 없는 셸은 목록에 나오지 않으며, 저장된 값이 쓸 수 없는 셸이면 명령 프롬프트로 되돌립니다.
선택한 셸은 기억 체크 시 프로젝트별로 저장됩니다.
디스크 사용량
목록의 각 환경에 claude312 — 792.4 MB 처럼 크기가 함께 표시됩니다. 환경 하나를 훑는 데
0.4~1초가 걸리므로 화면을 막지 않고 배경 스레드가 순서대로 재며, 결과는 ~/.ccdock/sizes.json에
남아 다음 실행부터는 즉시 나옵니다(7일 후 자동 재측정). 헤더의 합계 배지를 누르면 다시 잽니다.
base는 envs/와 pkgs/를 빼고 계산합니다. 그러지 않으면 다른 환경과 패키지 캐시가
전부 포함돼 실제보다 훨씬 크게 나옵니다.
동작 방식
| 정보 | 출처 |
|---|---|
| 프로젝트 경로 | ~/.claude.json 의 projects 키 |
| 마지막 작업 시각 | ~/.claude/projects/<슬러그>/*.jsonl 파일 mtime |
| 가상환경 목록 | ~/.conda/environments.txt (없으면 conda 설치 폴더 스캔) |
| 사용자 설정 | ~/.ccdock/config.json |
실행 시 임시 배치 파일을 만들어 wt -w 0 new-tab(새 탭) 또는 wt -w new(새 창)로 띄웁니다.
wt -w 0은 "가장 최근에 사용한 창"을 뜻하므로, 특정 창을 지정하면 Win32 API로 그 창을 먼저
앞으로 가져온 뒤 탭을 붙입니다. Windows Terminal이 없으면 start cmd로 대체합니다. 새 창에는 부모 프로세스의
VIRTUAL_ENV / CONDA_PREFIX 흔적을 제거한 깨끗한 환경이 전달되므로, ccdock 자체를
어떤 가상환경에서 실행하든 선택한 환경이 정확히 활성화됩니다.
보안
서버는 127.0.0.1에만 바인딩되며, 모든 API는 실행할 때마다 새로 만들어지는 토큰을 요구합니다.
브라우저는 토큰이 포함된 URL로 자동으로 열립니다.
요구 사항
- Windows (Windows Terminal이 있으면 탭 기능 사용 가능)
- Python 3.8+
- Anaconda 또는 Miniconda
라이선스
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ccdock-0.4.0.tar.gz.
File metadata
- Download URL: ccdock-0.4.0.tar.gz
- Upload date:
- Size: 32.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
637ef87effb765a23e9e5ed5969b7a0f11e639c799477d1f7d339c5cb9b9be1a
|
|
| MD5 |
0d48c2c35195610f4e26cfc68b179a53
|
|
| BLAKE2b-256 |
03bd35e0239b3773150497f7dc0e7a2af6426fedf699457337a6d3b1a7682b42
|
File details
Details for the file ccdock-0.4.0-py3-none-any.whl.
File metadata
- Download URL: ccdock-0.4.0-py3-none-any.whl
- Upload date:
- Size: 32.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
358c7a4915c171fcb8fa965e8c92dc1147039e3ad585616b5c8afb3613c0456b
|
|
| MD5 |
9bcb11bc61ae1b4eeb6d7e1dfee1567e
|
|
| BLAKE2b-256 |
b81245c7f874cff8c1ed3b1b8b11a7862b6d70c6add218684483c98d67b556b5
|