project archaeology

cc-sync Evolution

cc-sync는 제 Claude Code 설정을 백업하던 작은 도구였습니다. 2025.10.22부터 2026.03.28까지, 이 도구는 사람이 거의 손대지 않아도 AI가 알아서 작업을 처리하는 자동화 시스템으로 자랐습니다. 5개월 동안 536번의 코드 저장(커밋)과 5번의 큰 단계를 거쳤고, 그 끝에 하나의 깨달음이 남았습니다.

536
Total Commits
5
Months
57
Agents
23
Skills
Commits per Month
4
Oct
24
Nov
25
Dec
23
Jan
51
Feb
409
Mar
The Big Picture
Phase 1
Settings Backup
Phase 2
Agent Ecosystem
Phase 3
Architecture Refine
Phase 4
HARD Enforcement
Phase 5
Full Automation
Key Insight
"Natural language instructions get ignored. Hooks enforce 100%."
— The inflection point between Phase 4 and Phase 5
5 Phases of Evolution
Phase 1 2025.10 ~ 11 early
The Backup Tool
~/.claude/는 Claude Code의 설정이 모두 담긴 폴더입니다. 이 폴더를 통째로 git(변경 이력을 저장해 두는 버전 관리 도구)에 백업하는 단순한 도구로 출발했습니다. 스크립트 파일 두 개가 전부였습니다. apply.sh는 저장해 둔 설정을 내 컴퓨터로 내려받고, sync.sh는 바뀐 설정을 다시 저장소로 올립니다. 이렇게 양쪽을 늘 똑같이 맞췄습니다. 이 시기에 외부에서 가져온 개발 방법론 하나(BMAD)를 실험했다가 곧 지웠습니다. 이 도구의 첫 실험이자 첫 삭제였습니다.
apply.sh / sync.sh /cc-apply, /cc-sync BMAD method (deleted) 28 commits
Phase 2 2025.11 mid ~ 12
Agent Explosion
이 시기의 목표는 오직 하나, '에이전트를 더 많이 만들자'였습니다. 에이전트란 특정 작업을 전담하는 AI 일꾼입니다. 그 수가 22개에서 35개로 한꺼번에 늘었습니다. 여러 에이전트에게 일을 나눠 주고 지휘하는 관리자 격 에이전트(Manager-Orchestrator)도 이때 처음 나왔습니다. 피그마(화면 디자인 도구)의 시안을 코드로 바꿔 주는 에이전트, 외부 도구인 TaskManager와 Context7 연동, 작업이 끝나면 텔레그램 메신저로 알려 주는 기능도 붙었습니다. 저장할 때 남기는 메모에 '에이전트 몇 개, 스킬 몇 개'라고 개수를 세어 적었습니다. 스킬은 자주 쓰는 작업 절차를 묶어 둔 기능입니다. 품질보다 양을 늘리는 데 매달리던 때였습니다.
Manager-Orchestrator Figma Designer Telegram Notification Context7 + TaskManager 22 → 35 agents 49 commits
Phase 3 2026.01 ~ 02 mid
Architecture Refinement
이제부터는 늘리기를 멈추고 정리를 시작했습니다. 그동안 남이 만든 외부 도구(Context7, TaskManager)에 기대던 부분을, Claude Code에 기본으로 들어 있는 작업 관리 기능(Tasks API)과 대화 내용을 기억해 두는 도구(claude-mem)로 바꿨습니다. 관리자 에이전트(Manager-Orchestrator)의 내부 구조도 크게 손봤습니다. 겉으로 드러나는 동작은 그대로 둔 채 속만 다시 짜는 작업(리팩토링)이었습니다. 실험 삼아 만든 도구 하나(OMC)는 실제로 적용까지 해 봤다가 결국 다시 뺐습니다. 웹 화면이 제대로 뜨는지 자동으로 확인하는 도구도 세 번이나 갈아탔습니다(Playwright → superpowers-chrome → agent-browser). 양을 불리던 단계에서 구조를 다듬는 단계로 넘어간 것입니다.
External deps removed Built-in Tasks API OMC experiment → delete Browser tool: 3x change Auto orchestrator selection 74 commits
Phase 4 2026.02 mid ~ 03 early
HARD Enforcement
여기서 가장 큰 깨달음이 나왔습니다. 지침 파일(CLAUDE.md)에 사람 말로 '이렇게 해라'라고 적어 둔 규칙을 AI가 자주 무시한다는 사실이었습니다. 그래서 방식을 바꿨습니다. 규칙을 어기려는 순간 자동으로 끼어들어 그 행동을 막아 버리는 검사 스크립트(훅, hook)를 대량으로 심었습니다. 예를 들어 품질 검사를 통과하지 못하면 코드 업로드를 막고(qa-gate-before-push), 금지된 저장 방식을 쓰거나(no-localstorage) 비밀 정보가 담긴 파일을 올리려 하면(no-env-commit) 그 자리에서 차단합니다. 미리 정해 둔 금지 규칙을 어겨도 잡아냅니다(scaffold-violation-check). 또 큰 작업을 여러 팀원 에이전트로 나눠 진행하는 지휘 체계(team-orchestrator)가 새로 생기면서, 앞서 만든 관리자(manager)와 함께 작업 규모에 따라 골라 쓰는 두 갈래 체제가 됐습니다. 부탁하듯 말로 적어 둔 규칙(SOFT)에서 기계가 강제로 막는 규칙(HARD)으로 넘어간, 결정적 전환점이었습니다.
team-orchestrator qa-gate-before-push.sh no-localstorage.sh scaffold-violation-check.sh SOFT vs HARD analysis ~100 commits
Phase 5 2026.03 mid ~ present
Full Automation
이제 시스템은 사람 손을 거의 타지 않고 스스로 돌아갑니다. 시키지 않아도 30분마다 설정을 자동으로 저장하고 맞춥니다. 그 덕에 3월 한 달에만 저장 기록이 409번 찍혔습니다. 텔레그램 메신저에서 답장만 보내면 Claude Code에 명령이 전달되는 원격 조종 기능(Telegram RC)도 붙였습니다. 지난 대화를 기억해 두는 도구(memory-bank)를 직접 만들어, 그전까지 쓰던 남의 기억 도구(claude-mem)를 걷어냈습니다. 결과물이 제대로 됐는지 확인하는 품질 검사(QA)와 자잘한 판단은, 저 대신 처리해 주는 대리 에이전트(user-proxy)가 자동으로 맡습니다. 실수를 분석해 프로젝트별 규칙 묶음(스캐폴드)을 스스로 보강하는 장치(self-improve)까지 더해져, 시스템이 알아서 자신을 다듬습니다. 이렇게 스스로 개선을 반복하는 단계를 '루피 시대(Loopy Era)'라고 부릅니다.
Auto-sync every 30m Telegram Remote Control memory-bank (self-built) user-proxy agent Loopy Era self-improve SubagentStop/TaskCompleted hooks 409 commits in March
Lesson Learned
Start with the simplest thing that works.
Let friction tell you what to automate next.
Repository
cc-sync-template
Claude Code 설정을 백업하고 그대로 되살리는 틀. 에이전트, 자동 검사 장치(훅), 작업 묶음(스킬)까지 함께 저장합니다.
template
memory-bank
대화가 새로 시작돼도 이전 내용을 기억하게 해 주는 메모리 도구. 검색까지 되는 가벼운 데이터베이스(SQLite·sqlite-vec) 위에 만든 플러그인입니다.
plugin