웹사이트: shreyan1.github.io/cc-habits
모든 것을 지배하는 하나의 '레이어', 모든 것을 찾는 하나의 '레이어', 모든 것을 가져오고 어둠 속에서 묶는 하나의 '레이어'.
cc-habits는 AI 코딩 에이전트를 위한 도구 독립적 메모리 레이어입니다. 사용자의 실제 편집 기록으로부터 코딩 습관을 수동적으로 학습하여 Claude Code, Cursor, Codex, Gemini, Cline 및 모든 Git 워크플로우에 걸쳐 이를 유지합니다. 따라서 사용자가 사용하는 모든 에이전트가 사용자의 스타일로 코드를 작성하며, 수동으로 관리해야 할 규칙 파일이 없습니다.
로컬 우선(Local-first)이며 개인 정보 보호: 텔레메트리(telemetry) 없음, 서버 없음, 분석 기능 없음. 사용자의 습관은 선택하는 LLM 제공업체에 대한 작은 추출 호출을 통해서만 기기를 벗어나며, $0으로 완전히 오프라인 상태에서 Ollama를 사용할 수 있습니다.
npm install -g cc-habits@latest && cc-habits init
한 번 학습하고. 어디서든 개인화됩니다. Claude Code, Cursor, Codex, Cline, Windsurf, Gemini 및 Copilot 전반에 걸쳐 하나의 로컬 프로필을 공유합니다.
우리가 믿는 것과 구축하는 방식에 대해 읽어보기: PHILOSOPHY.md
목차
- 개발자들이 cc-habits를 설치해야 하는 이유
- cc-habits 대 대안들
- 전체 툴체인(toolchain)과의 연동
- 잘못된 것을 학습하면 어떻게 될까?
- 설치 방법
- 작동 방식
- 도구 간 습관 전달하기
- 무엇을 학습하는가
- 일반적인 주간 학습 과정
- 자신의 습관 보기
- 신뢰도 계산(confidence math)
- 개인 정보 보호 및 데이터
- 비용
- 명령어
- 안전 보장
- 보안
- FAQ
- 성능
- 아키텍처
- 기여하기
- 라이선스
사용자의 AI 코딩 에이전트는 훌륭하지만, 기본적으로 사용자의 스타일을 알지 못합니다. 모든 개발자는 연마된 수년간의 미세 결정(micro-decisions)을 가지고 있습니다: 명명 규칙(naming conventions), 오류 처리 패턴(error-handling patterns), 선호하는 추상화(preferred abstractions) 등 모델이 볼 수 없는 것들입니다. 오늘날, 사용자는 하나의 리포지토리(repository)를 위해 수동으로 CLAUDE.md, AGENTS.md 또는 .cursorrules 파일을 생성하고 넘어갑니다. 하지만 이것은 정적인 스냅샷일 뿐입니다. 몇 주 후에 수정하는 것을 결코 보지 못하며, 도구를 전환할 때 동기화되지 않습니다. Claude Code에서 Cursor, Windsurf 또는 Cline으로 전환하면 모든 것을 처음부터 다시 개인화하기 시작해야 합니다.
cc-habits
이것은 이들을 연결하는 중립적인 설정 표준입니다. 사용 중인 어떤 도구의 백그라운드에서 자동으로 실행되며, 편집 내용으로부터 사용자 선호도를 학습하고 단일 로컬 habits.md 프로필을 유지합니다.
오늘날 열게 되는 모든 에이전트는 이 공유 메모리 레이어를 즉시 읽습니다.
새로운 개념도, 벤더 종속성(vendor lock-in)도 없습니다. 그저 사용자가 이미 비용을 지불한 에이전트들을 오늘 어떤 것을 열든 진정으로 사용자 소유로 만들어주는 가볍고 로컬 우선의 설정 프로필일 뿐입니다.
| cc-habits | With cc-habits |
|---|
| ❌ 도구 전반에 걸쳐 동일한 수정 사항 반복 적용 | ✅ 한 번 학습: 사용자의 스타일이 자동으로 추출됩니다 |
| ... | |
| 한 번 학습. 어디서든 개인화됩니다. 이것이 바로 전체 제품입니다: 사용자가 실제로 코딩하는 방식에 대한 단일 로컬 프로필이며, 열게 되는 모든 에이전트에서 공유됩니다. 아래의 비교, 아키텍처, 보안 등 모든 것은 이 하나의 아이디어를 뒷받침하기 위해 존재합니다. | |
| cc-habits | AgentMemory | SKILL.md | mem0 | Manual CLAUDE.md |
|---|
| 캡처하는 내용 | 통합 개발자 프로필 (코딩 스타일 + 실수 방지 패턴) | 코드베이스 아키텍처 + 결정 사항 | 사용자가 정의한 에이전트 기능 | 구축하는 AI 앱의 사용자 메모리 |
| 채워지는 방식 | 수동적인 원격 측정(telemetry-free) 편집 모니터링; 패턴 자동 추출 | 에이전트가 모든 행동을 조용히 캡처함 | 사용자가 직접 정의함 | 앱이 add() API를 호출함 |
| 로드될 때 | 모든 프롬프트, 압축 시 재주입됨 | MCP를 통해 런타임에 조회됨 | 작업 트리거 시 온디맨드(on-demand)로 조회됨 | 런타임에 조회됨 |
| 대상 사용자 | 코딩 도구를 사용하는 개발자 | 코딩 도구를 사용하는 개발자 | 코딩 도구를 사용하는 개발자 | AI 제품을 구축하는 개발자 |
| 도구 독립성(Tool agnostic) | ✅ 입력: hooks 및 Git 통합; 출력: 모든 에이전트의 네이티브 규칙 형식에 작성 | ❌ MCP 전용, 에이전트는 MCP 프로토콜 지원 필요 | ❌ 앱별 SDK 통합 필요 | ❌ 도구당 하나의 파일, 각각 재작성 필요 |
| 개인 정보 보호(Privacy) | | | | |
✅ 텔레메트리 없음, habits 파일은 디스크에 저장됨. 패턴 추출을 위해 세션당 선택적 LLM 호출 1회 (기본값은 로컬 Ollama). 클라우드 LLM으로 구성된 경우, diff/요약본이 해당 제공업체로 전송됨. | ✅ 100% 로컬 | ❌ 클라우드 또는 자체 호스팅 서버 | ✅ 100% 로컬 | |
텔레메트리 (Telemetry) |
✅ 제로, 절대 데이터를 외부로 보내지 않음, 분석 기능 없음 | ✅ 제로 | ✅ 제로 | ||
런타임 LLM 비용 (LLM cost at runtime) |
✅ 세션 중에는 제로. 매칭 및 주입은 순수 로컬 휴리스틱(heuristics)으로 작동함. 세션 종료 시 작은 추출 호출 1회 (제공업체 설정 가능, 클라우드 모델 기준 약 $0.001) | ❌ 메모리 압축을 위한 백그라운드 LLM 호출로 인해 토큰 소모 위험이 있음 (잘못 구성된 경우) | ✅ 제로 | ❌ 클라우드 계층에서 쿼리당 LLM 호출 비용 발생 | ✅ 제로 |
런타임 오버헤드 (Runtime overhead) |
✅ 데몬(daemon), 서버, 포트 없음. 후크는 필요할 때 실행되며 50ms 이내에 종료됨 | ❌ 영구적인 백그라운드 데몬 및 로컬 서버 프로세스 | ✅ 제로 | ❌ 클라우드 또는 자체 호스팅 서버 | ✅ 제로 |
컨텍스트 오버헤드 (Context overhead) |
10만 토큰 창의 <0.5% (~150-350 토큰) | 가변적, 메모리 검색량에 따라 다름 | 활성화 시 전체 스킬 로드 | 쿼리 결과에 따라 가변적 | 매 세션마다 파일 전체를 로드함 |
압축 안전성 (Compaction safe) |
✅ 모든 프롬프트에서 상위 습관(top habits)을 재주입하여, 세션 중 컨텍스트 압축에도 살아남음 | ❌ 일회성 검색으로 인해 압축 시 손실됨 | ❌ 한 번 로드되며, 압축 시 손실됨 | ❌ 일회성 검색 | ❌ 세션 시작 시 한 번 로드함 |
가드레일 (Guardrails) |
✅ 2세션 졸업(2-session graduation), 학습 섹션 격리(Learning-section quarantine), 영구적인 무덤석(permanent tombstones), 신뢰도 감소(confidence decay), 리포별 제외 옵트아웃(.cc-habits-ignore) | N/A, 수동 작성됨 (manually authored) | N/A, 앱 제어 (app-controlled) | N/A, 수동 작성됨 (manually authored) | |
설정 (Setup) |
한 명령어: cch init이 도구를 자동 감지하고 후크를 연결하며 부트스트랩을 제공함 | MCP 서버 설치, 프로젝트별 .mcp.json 구성, 데몬 시작 | 스킬 디렉터리 생성 및 YAML+Markdown 파일 작성 | 애플리케이션 코드에 SDK 통합 | 수동으로 파일을 생성하고 유지 관리함 |
벤더 종속성 (Vendor lock-in) |
✅ 제로.
로컬 오픈 표준; 개발자가 자신의 개인화 데이터를 소유함 | MCP 프로토콜 + iii-engine 런타임에 연결됨 | ✅ 오픈 표준, 크로스 플랫폼 | mem0 SDK/클라우드에 연결됨 | 하나의 도구 파일 형식에 연결됨 |
크로스 도구 |
✅ 9개 이상의 주요 플랫폼 (Claude Code, Cursor, Windsurf, Copilot 등)이 동기화 유지 | MCP를 통한 20개 이상의 에이전트 | 27개 이상의 에이전트 | SDK를 통한 모든 LLM | 도구당 하나의 파일 |
비용 |
무료 오픈 소스; 서브 센트(sub-cent)의 LLM 추출 비용 | 무료이지만 사용자의 LLM API 청구서가 압축을 지불함 | 무료 | 무료 티어, 이후 클라우드 가격 책정 | 무료 |
비교는 작성 시점의 각 프로젝트의 공개적으로 문서화된 동작을 반영하며 변경될 수 있습니다. 특정 세부 정보에 의존하기 전에 현재 문서를 확인하십시오. cc-habits가 자신에 대해 하는 모든 주장은 이 저장소의 소스 및 테스트 스위트에서 검증 가능합니다.
현재 AI 코딩 에이전트를 개인화하는 것은 개발자들에게 다음 세 가지 최적화되지 않은 경로 중 하나를 선택하도록 강요합니다:
높은 마찰력의 수동 작성: CLAUDE.md 또는 .cursorrules와 같은 규칙 파일을 수동으로 유지 관리하는 것 (이 파일들은 한 번 작성되고 절대 업데이트되지 않으며, 모든 새 도구에 대해 다시 작성해야 합니다). 무거운 런타임 데몬: 모든 동작을 포착하지만 상당한 CPU 오버헤드, API 비용 및 코드 요약을 클라우드 LLM으로 전송함으로써 기업 보안 위험을 초래하는 백그라운드 시스템 실행. 애플리케이션 메모리 데이터베이스: AI 제품을 구축하는 개발자를 위한 것이 아니라 AI 도구를 사용하는 개발자를 위한 복잡한 클라우드 SaaS 인프라.
cc-habits는 새로운 범주를 정의합니다: 중립적이고 로컬 우선의 구성 및 개인화 계층. 이는 로거의 제로 마찰 자동화와 로컬 구성 파일의 안전성 및 제로 오버헤드 성능을 결합합니다.
1. 제로 기업 책임과 함께하는 엔터프라이즈급 보안.
대형 엔지니어링 조직은 코드 요약을 포착하고 이를 클라우드 LLM으로 전송하여 지적 재산권 및 보안 규정 준수를 위반하기 때문에 백그라운드 AI 메모리 데몬을 차단합니다. cc-habits
절대로 사용자의 코드, diff, 또는 요약본을 외부 서비스로 전송하지 않습니다. 원격 측정(telemetry)도, 분석(analytics)도, 추적(tracking)도 없습니다. 사용자 습관 프로필은 디스크에 있는 일반 텍스트 마크다운 파일입니다. 여러 자동화된 안전장치(예: .cc-habits-ignore를 통한 리포지토리별 옵트아웃 및 두 세션 졸업 게이트) 덕분에 어떤 엔터프라이즈 환경에서도 안전하게 실행할 수 있습니다.
2. 근접 제로 한계 비용과 무한 확장성.
다른 메모리 시스템은 값비싼 벡터 데이터베이스를 실행하거나 사용 중인 세션 동안 백그라운드 LLM 통합(consolidation) 작업을 수행하여 높은 API 요금이나 토큰 소진 위험을 초래합니다. cc-habits는 복잡성을 런타임에서 분산시킵니다: 프롬프트 시간 매칭은 로컬의 고속 휴리스틱을 사용하여 <5ms 내에, API 비용 없이 실행됩니다. 유일한 LLM 호출은 세션 종료 시 패턴을 추출하기 위해 비동기적으로 한 번 발생하며(클라우드 모델 기준 세션당 약 $0.001, 로컬 Ollama 사용 시 $0), 이 아키텍처는 런타임 비용 없이 무한 확장성을 보장합니다.
3. 크로스-툴 개인화 해자: 한 번 학습하고 어디서든 개인화됩니다.
개인화 데이터가 단일 도구의 생태계에 갇혀서는 안 됩니다. cc-habits는 오늘 사용하는 어떤 도구(Claude Code, Cursor, Windsurf, Gemini 등)에서 사용자의 스타일을 포착하며, cch sync는 활성 프로필을 다른 에이전트들이 이미 읽고 있는 규칙 파일(9개 이상의 플랫폼)에 자동으로 작성합니다. 이는 제로 마찰의 개발자 해자를 만듭니다: 경쟁하는 코딩 어시스턴트 사이를 전환하더라도 사용자의 맞춤 스타일과 실수 방지 가이드라인은 완벽하게 유지됩니다.
4. 컨텍스트 압축 안전성.
긴 세션에서 AI 에이전트는 컨텍스트 히스토리를 요약하여 윈도우 제한에 맞추고, CLAUDE.md와 같은 정적 파일을 즉시 잊어버립니다. 하지만 cc-habits는 UserPromptSubmit 훅을 통해 사용자의 최상위 습관을 매 프롬프트마다 동적으로 재주입하므로, 가이드라인이 세션 중 압축되더라도 살아남고 세션 전체 동안 활성화 상태를 유지합니다.
5. 폐쇄 루프, 자체 수정 피드백.
즉시 구식이 되는 정적 규칙과 달리, cc-habits
자체 수정 기능: 사용하지 않는 습관은 자동으로 소멸하고, 삭제된 규칙은 영구적으로 보존되며(tombstoned), 새로운 습관은 ## 학습 섹션에 격리되어 표시됩니다. 이 섹션은 패턴이 두 개의 별도 세션에 걸쳐 재발하기 전까지는 절대 활성화되지 않습니다. 환경에 대한 통제력을 잃지 않으면서 자동화의 이점을 얻을 수 있습니다.
배경 메모리 데몬(Background memory daemons) (예: AgentMemory)은 서로 다른 아키텍처 가정 위에 구축되어 있습니다. 이들은 개인 정보 보호, 비용, 기계 성능 중 무엇을 우선시하느냐에 따라 중요한 트레이드오프를 만듭니다:
요약본이 장치 외부로 전송됨: 클라우드 LLM에 의존하여 배경 메모리 압축을 수행합니다. 클라우드 제공업체를 사용하는 경우, 파일 편집 내용, 아키텍처 결정 및 오류 로그의 요약본이 외부로 전송될 수 있습니다. cc-habits
전체 프로필을 장치에 로컬로 유지: 모든 것을 사용자의 디스크에 보관합니다.
배경 실행 비용: 배경 루프(작업, 에피소드, 의미론적 및 절차적 패스)를 실행하여 LLM 제공업체에 쿼리합니다. 여기서 잘못 구성되면 예상치 못한 API 사용으로 이어질 수 있습니다. cc-habits
런타임 LLM 비용 없음: 배경 루프가 없습니다.
0의 백그라운드 데몬 및 유휴 CPU 사용량: 50ms 이내에 실행되고 종료됩니다.
사일런트 원격 측정(Silent telemetry): 일부는 배경 원격 측정 후크를 등록합니다. 정확한 동작은 버전에 따라 다르므로 현재 문서를 통해 확인해야 합니다. cc-habits
어떠한 원격 측정도 없음: 종류에 관계없이 0이며, 소스에서 확인할 수 있습니다.
품질 필터 없음: 졸업 임계값 없이 즉시 메모리를 포착합니다. 심야 세션 동안 잘못된 코드를 작성하면 이러한 실수가 활성 컨텍스트를 오염시킵니다. cc-habits
습관이 두 개의 별도 세션을 거쳐 검증되어야만 활성 상태로 졸업되도록 요구: (필터링 기능)
SKILL.md는 에이전트가 무엇을 할 수 있는지(작업별, 수동 작성, 필요시 로드)를 정의하고, cc-habits는 에이전트가 어떻게 해야 하는지(개인 스타일, 자동 학습, 항상 활성화)를 담당합니다.
이 두 프로토콜은 조화롭게 작동합니다: SKILL.md는 사용자에게 새로운 워크플로우를 가르치고, cc-habits는 사용자의 스타일에 맞춰 이를 실행하도록 보장합니다.
mem0는 AI 제품을 구축하는 개발자(예: 사용자 기록을 기억해야 하는 고객 지원 챗봇)를 위해 설계된 엔터프라이즈 메모리 데이터베이스입니다. cc-habits는 AI 도구를 사용하는 개발자를 위해 설계되었습니다. 만약 메모리 그래프가 필요한 애플리케이션을 구축하고 있다면, mem0를 사용하십시오. Cursor, Claude Code 또는 Windsurf와 같은 도구를 사용하여 자신의 코딩 습관을 이해시키고 싶다면, cc-habits가 올바른 해결책입니다.