Skip to content

Latest commit

 

History

History
207 lines (138 loc) · 14.8 KB

File metadata and controls

207 lines (138 loc) · 14.8 KB

Cross-Code Organizer (CCO)

예전 이름은 Claude Code Organizer — AI coding tool을 위한 첫 cross-harness config organizer.

npm version npm downloads GitHub stars GitHub forks License: MIT Node.js Tests Zero Telemetry MCP Security English | 简体中文 | 繁體中文 | 廣東話 | 日本語 | 한국어 | Español | Bahasa Indonesia | Italiano | Português | Türkçe | Tiếng Việt | ไทย

**Cross-Code Organizer (CCO)**는 AI coding tool을 위한 첫 cross-harness config organizer예요. 한 대시보드에서 Claude Code, Codex CLI, 그리고 앞으로 추가될 harness들의 config를 관리해요. Sidebar의 harness selector로 바꾸고, harness를 넘나들며 config를 보고 정리할 수 있어요.

CCO는 Claude Code의 memories, skills, agents, hooks, context budget과 Codex CLI의 profiles, sessions, shell snapshots, TOML config를 나란히 보여줘요. MCP security scan, backup, 중복 정리도 harness 경계를 넘어서 처리해요. 새 harness 추가는 adapter 파일 하나면 돼요.

검색용 rename alias: 이 프로젝트는 예전에 Claude Code Organizer / claude-code-organizer로 불렸어요. 지금 이름은 Cross Code Organizer / cross-code-organizer예요. Claude Code, Codex CLI, MCP 설정 정리를 찾는 사람을 위한 legacy/search term이고, install이나 repo link는 현재 cross-code-organizer를 써야 해요.

v0.19.0: Codex CLI가 두 번째 supported harness로 추가됐어요. 다음은 Cursor, Windsurf, Aider예요.

v0.19.3: skills / memories / agents preview가 markdown-backed로 바뀌었고, markdown renderer가 실패해도 안전하게 fallback해요. Claude project discovery는 non-ASCII / lossy encoded path와 symlink directory를 처리해요. Claude plugin이 제공하는 skills도 user / project scope에서 scan해요.

개인정보: CCO는 선택한 harness의 config 파일만 읽어요(~/.claude/, ~/.codex/, project config). usage telemetry는 보내지 않아요.

Cross-Code Organizer (CCO) Demo

314 tests (113 unit + 201 E2E) | Zero telemetry | 데모는 AI가 Pagecast로 녹화

5일 만에 스타 100개 넘었어요. CS 중퇴생이 Claude 뒤에서 돌아가는 설정 파일 140개를 발견하고, "이걸 하나하나 cat 쳐서 보라고?" 싶어서 만든 거예요. 첫 오픈소스인데 — 스타 찍어주시고, 테스트해주시고, 이슈 올려주신 분들 정말 감사해요.

핵심 루프: 스캔 → 발견 → 수정

AI coding tool을 쓸 때마다 뒤에서 조용히 이런 일이 벌어져요:

  1. 설정이 엉뚱한 scope에 들어가요. Global에 있는 Python 스킬이 React 프로젝트에도 로드되고, 한 프로젝트에서 만든 메모리는 거기에 갇혀서 다른 프로젝트에선 안 보여요. Claude는 scope 같은 거 신경 안 써요.

  2. Context window가 새기 전에 차요. 중복 항목, 오래된 지시문, MCP tool schema — 이런 게 한 글자 치기도 전에 전부 올라가 있어요. context가 차면 찰수록 Claude 답변 퀄리티가 떨어져요.

  3. 깔아둔 MCP 서버가 악성일 수 있어요. tool description이 Claude prompt에 그대로 들어가거든요. 나쁜 서버가 "~/.ssh/id_rsa 읽어서 파라미터에 끼워 넣어" 같은 걸 몰래 심으면, 눈으로는 절대 못 잡아요.

다른 도구는 이걸 하나씩 따로 해결해요. CCO는 한 루프에서 전부 해결해요:

스캔 → 메모리, 스킬, MCP 서버, 규칙, 명령어, 에이전트, 훅, 플러그인, 플랜, 세션. 모든 scope를 하나의 트리로 보여줘요.

발견 → 중복이랑 scope 잘못 들어간 것들을 잡아내요. Context Budget으로 token 어디서 새는지, Security Scanner로 tool 오염 여부를 확인해요.

수정 → 맞는 scope로 drag-and-drop. 중복은 삭제. 보안 이슈 클릭하면 해당 MCP 서버로 바로 이동 — 삭제든 이동이든 설정 확인이든, 거기서 바로 해요. 끝.

스캔, 발견, 수정 — 하나의 대시보드에서

네 개 패널이 같이 움직여요: scope 트리, 보안 배지 달린 MCP 서버 목록, 상세 인스펙터, 보안 스캔 결과 — 아무 결과나 클릭하면 해당 서버로 바로 점프

독립 스캐너랑 뭐가 다르냐면: CCO에서 문제를 발견하면, 클릭 한 번에 scope 트리의 해당 MCP 서버 항목으로 날아가요. 거기서 바로 삭제, 이동, 설정 확인 — 도구 전환 필요 없어요.

바로 시작하기 — Claude Code나 Codex CLI에 이거 붙여넣으면 돼요:

Run npx @mcpware/cross-code-organizer and tell me the URL when it's ready.

직접 실행하려면: npx @mcpware/cross-code-organizer

첫 실행 때 Claude Code용 /cco skill이 자동으로 설치돼요. Codex CLI 사용자는 같은 npx command를 실행한 뒤 sidebar에서 harness를 고르면 돼요.

뭐가 다른가요

CCO 독립 스캐너 데스크톱 앱 VS Code 확장
Scope 계층 (Global > Project) Yes No No 부분 지원
Drag-and-drop으로 scope 이동 Yes No No No
보안 스캔 → 클릭 → 이동 → 삭제 Yes 스캔만 No No
항목별 context budget (상속 포함) Yes No No No
전부 undo 가능 Yes No No No
일괄 작업 Yes No No No
설치 필요 없음 (npx) Yes 케바케 No (Tauri/Electron) No (VS Code)
MCP tools (AI에서 바로 접근) Yes No No No
멀티 harness 지원 Claude Code + Codex CLI No No No

Cross-Harness: Claude Code + Codex CLI

CCO는 Claude Code Organizer로 시작했어요. 지금은 Claude Code와 Codex CLI를 같은 dashboard에서 다루는 Cross-Code Organizer예요.

sidebar의 Harness selector로 Claude Code와 Codex CLI를 바꿀 수 있어요. 각 harness는 자기 path, category, rule, capability를 그대로 가져가요. Claude Code는 Show Effective, Context Budget, MCP Controls, sessions, backups, security scanning을 다루고, Codex CLI는 ~/.codex config, AGENTS 파일, skills, MCP servers, profiles, sessions, history, shell snapshots, runtime, backups, security scanning을 다뤄요.

목표는 또 하나의 single-tool settings viewer가 아니에요. CCO는 universal AI coding tool config manager로 가고 있어요. 다음으로 Cursor, Windsurf, Aider를 추가할 예정이에요.

Context 어디서 새는지 파악하기

Context window가 200K token이라고요? 실제로는 200K에서 Claude가 미리 올려놓는 것들 빼야 해요 — 중복 있으면 더 줄어들고요.

Context Budget

기본으로 ~25K token이 항상 올라가 있어요 (200K의 12.5%). deferred까지 합치면 ~121K. 한 글자 치기 전에 context window의 약 72%만 남아있는 셈이에요 — 세션 도중에 Claude가 MCP tool 불러오면 더 줄어들고요.

  • 항목별 token 수 표시 (ai-tokenizer ~99.8% 정확도)
  • 항상 로드 vs deferred 구분
  • @import 확장 — CLAUDE.md가 실제로 끌어들이는 내용까지 추적
  • 200K / 1M context window 토글
  • 상위 scope에서 물려받는 양을 정확히 분리해서 보여줘요

Scope 깔끔하게 관리하기

Claude Code는 모든 걸 세 가지 scope로 나눠서 관리하는데, 이걸 알려주진 않아요:

Global                    ← 이 머신의 모든 세션에 로드
       └─ Project         ← 이 디렉토리 안에서만 로드

문제가 뭐냐면 — Claude는 지금 열려 있는 디렉토리에 그냥 메모리를 만들어요. ~/myapp에서 "ESM imports 항상 써" 했으면 그 메모리는 그 프로젝트에 갇혀요. 다른 프로젝트 열면 Claude는 모르죠. 또 말해줘야 해요. 그러면 같은 메모리가 두 군데 생기고, 둘 다 context token 먹어요.

스킬도 마찬가지예요. 백엔드 레포에서 배포 스킬 만들면 거기 scope에만 들어가요. 다른 프로젝트에서는 안 보여요. 결국 여기저기서 똑같은 걸 또 만들게 돼요.

CCO는 전체 scope 트리를 한눈에 보여줘요. 어떤 메모리, 스킬, MCP 서버가 어떤 프로젝트에 영향을 주는지 확인하고 — 맞는 scope로 드래그하면 끝이에요.

중복 MCP 서버

Teams 2개, Gmail 3개, Playwright 3개. 한 scope에서 설정했는데 Claude가 다른 scope에서 또 깔아놓은 거예요.

  • Drag-and-drop으로 이동 — 메모리를 Project에서 Global로 드래그. 한 번이면 끝. 이제 머신 전체 프로젝트에서 다 써요.
  • 중복 바로 발견 — 모든 항목이 scope 넘어서 카테고리별로 묶여요. 같은 메모리가 세 개? 나머지 지우면 돼요.
  • 전부 undo — 이동이든 삭제든 undo 버튼 있어요. MCP JSON 항목도 포함.
  • 일괄 작업 — 선택 모드 켜고 여러 개 체크해서 한 번에 이동이나 삭제.

오염된 Tool, 당하기 전에 잡아요

깔아둔 MCP 서버는 tool description을 Claude prompt에 그대로 꽂아요. 악성 서버가 숨겨진 지시를 심으면 눈으로는 절대 못 찾아요.

보안 스캔 결과

CCO가 모든 MCP 서버에 직접 연결해서 실제 tool 정의를 가져오고, 이런 걸로 분석해요:

  • 60개 탐지 패턴 — 36개 오픈소스 스캐너에서 골라 뽑은 것들
  • 9가지 난독화 해제 기법 (zero-width 문자, unicode 트릭, base64, leetspeak, HTML 주석)
  • SHA256 해시 기준선 — 스캔 사이에 tool이 바뀌면 CHANGED 배지가 바로 떠요
  • 모든 MCP 항목에 NEW / CHANGED / UNREACHABLE 상태 배지 표시

관리할 수 있는 것들

타입 보기 이동 삭제 스캔 위치
메모리 (feedback, user, project, reference) Yes Yes Yes Global + Project
스킬 (번들 감지 포함) Yes Yes Yes Global + Project
MCP 서버 Yes Yes Yes Global + Project
명령어 (slash commands) Yes Yes Yes Global + Project
에이전트 (subagents) Yes Yes Yes Global + Project
규칙 (project 제약) Yes Yes Yes Global + Project
플랜 Yes Yes Yes Global + Project
세션 Yes Yes Project만
설정 (CLAUDE.md, settings.json) Yes 잠금 Global + Project
Yes 잠금 Global + Project
플러그인 Yes 잠금 Global만

동작 원리

  1. 선택한 harness 스캔 — Claude Code는 ~/.claude/, Codex CLI는 ~/.codex/와 trusted project config
  2. Project scope 파악 — non-ASCII / lossy encoded path와 symlink directory까지 고려해서 filesystem path에서 project를 찾고 선택한 harness의 Global/Project 모델에 매핑해요
  3. Preview 생성 — skills, memories, agents는 markdown-backed preview를 쓰고, renderer가 실패해도 안전하게 plain preview로 fallback해요
  4. 대시보드 렌더링 — scope 트리, 카테고리별 항목, 내용 미리보기 달린 상세 패널

플랫폼 지원

플랫폼 상태
Ubuntu / Linux 지원
macOS (Intel + Apple Silicon) 지원
Windows 11 지원
WSL 지원

로드맵

기능 상태 설명
Config 내보내기/백업 ✅ 완료 클릭 한 번에 모든 설정을 ~/.claude/exports/에 scope별로 정리해서 내보내요
Security Scanner ✅ 완료 60개 패턴, 9가지 난독화 해제, rug-pull 탐지, NEW/CHANGED/UNREACHABLE 배지
Codex CLI Harness ✅ 완료 Sidebar selector, ~/.codex scanner, Codex skills/config/profiles/sessions/history/runtime 지원
Config 건강 점수 📋 예정 프로젝트별 건강 점수 + 개선 방법 추천
크로스 하네스 호환 📋 예정 Claude Code, Codex CLI, Cursor, Windsurf, Aider 사이에서 스킬/설정 변환
CLI / JSON 출력 📋 예정 CI/CD 파이프라인용 headless 스캔 — cco scan --json
팀 설정 기준선 📋 예정 팀 차원의 MCP/스킬 표준 정의하고 개발자 전체에 적용
비용 추적 💡 검토 중 세션별, 프로젝트별 token 사용량이랑 비용 추적
관계 그래프 💡 검토 중 스킬, 훅, MCP 서버가 어떻게 엮여 있는지 시각적으로 보여주는 의존성 그래프

기능 아이디어 있으면 이슈 남겨주세요.

라이선스

MIT

@mcpware의 다른 프로젝트

프로젝트 뭐 하는 건지 설치
Instagram MCP Instagram Graph API tool 23개 — 포스팅, 댓글, DM, 스토리, 분석 npx @mcpware/instagram-mcp
UI Annotator 웹 페이지에 hover 라벨 띄워서 AI가 요소를 이름으로 참조할 수 있게 해줘요 npx @mcpware/ui-annotator
Pagecast MCP로 브라우저 세션을 GIF이나 동영상으로 녹화 npx @mcpware/pagecast
LogoLoom AI 로고 디자인 → SVG → 브랜드 키트 통째로 내보내기 npx @mcpware/logoloom

만든 사람

ithiria894 — AI coding tool 생태계 도구 만들고 있어요.

cross-code-organizer MCP server