{"id":32848937,"url":"https://github.com/junyjeon/todo-logger","last_synced_at":"2026-05-07T19:09:04.425Z","repository":{"id":322545500,"uuid":"1089566113","full_name":"junyjeon/todo-logger","owner":"junyjeon","description":"Persistent task history for AI-driven development with bilingual support (EN/KR)","archived":false,"fork":false,"pushed_at":"2025-11-05T02:33:07.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-05T04:14:31.420Z","etag":null,"topics":["ai-assistant","bilingual","claude-code","developer-tools","git-workflow","korean","markdown","productivity","task-management"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/junyjeon.png","metadata":{"files":{"readme":"README.ko.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-04T14:13:34.000Z","updated_at":"2025-11-05T02:26:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/junyjeon/todo-logger","commit_stats":null,"previous_names":["junyjeon/todo-logger"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/junyjeon/todo-logger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junyjeon%2Ftodo-logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junyjeon%2Ftodo-logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junyjeon%2Ftodo-logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junyjeon%2Ftodo-logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junyjeon","download_url":"https://codeload.github.com/junyjeon/todo-logger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junyjeon%2Ftodo-logger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":283333707,"owners_count":26818628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-08T02:00:06.281Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assistant","bilingual","claude-code","developer-tools","git-workflow","korean","markdown","productivity","task-management"],"created_at":"2025-11-08T10:00:56.912Z","updated_at":"2026-05-07T19:09:04.400Z","avatar_url":"https://github.com/junyjeon.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Todo-Logger\n\n\u003e **AI 기반 개발을 위한 영속적 작업 히스토리**\n\u003e 일시적인 AI 대화와 영속적인 프로젝트 메모리 사이의 간극을 메웁니다.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Claude Code](https://img.shields.io/badge/Claude_Code-Compatible-green.svg)](https://github.com/anthropics/claude-code)\n[![Status: Production](https://img.shields.io/badge/Status-Production-success.svg)]()\n\n**[English](README.md)** | **한국어**\n\n## 🎯 문제점\n\nClaude Code 같은 AI 어시스턴트와 작업할 때, 작업 목록은 현재 세션에만 존재합니다. 대화가 끝나면:\n\n- ✗ 작업 히스토리가 사라짐\n- ✗ 어제 무엇을 했는지 참조 불가\n- ✗ Git 커밋 메시지를 수동으로 재구성해야 함\n- ✗ 세션 간 검색 가능한 작업 아카이브 없음\n- ✗ 팀원들이 AI 기반 작업 진행 상황을 볼 수 없음\n\n## 💡 솔루션\n\n**Todo-Logger**는 AI 세션 중 모든 작업 목록 업데이트를 자동으로 캡처하여 구조화된 마크다운 파일로 영속화합니다. 이를 통해 AI 어시스턴트가 추적한 모든 작업의 영구적이고 검색 가능한 기록을 생성합니다.\n\n### 주요 기능\n\n🔄 **자동 영속화** - TodoWrite 작업의 무노력 로깅\n🌐 **이중언어 지원** - 자동 영어 ↔ 한국어 번역\n📝 **Git 친화적 포맷** - 커밋 메시지 참조에 완벽한 마크다운 파일\n📊 **이중 구조** - 시간순(세션)과 날짜 기반 뷰 모두 제공\n🤖 **네이티브 통합** - 원활한 Claude Code 서브에이전트 아키텍처\n⚡ **실시간 로깅** - 최소 오버헤드로 2초 미만 실행\n🔍 **검색 가능한 히스토리** - 빠른 조회를 위한 grep 친화적 포맷\n🎯 **스마트 중복 제거** - 세션 내 중복 항목 방지\n\n## 🏗️ 아키텍처\n\n### 시스템 개요\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                     Claude Code 세션                         │\n│                                                               │\n│  ┌──────────────┐         ┌─────────────────┐              │\n│  │  TodoWrite   │────────▶│  Todo-Logger    │              │\n│  │  작업        │         │   서브에이전트   │              │\n│  └──────────────┘         └────────┬────────┘              │\n│                                     │                        │\n└─────────────────────────────────────┼────────────────────────┘\n                                      ▼\n                    ┌─────────────────────────────────┐\n                    │    영속 스토리지 레이어          │\n                    │                                 │\n                    │  ┌──────────────────────────┐  │\n                    │  │  sessions/               │  │\n                    │  │  - 20251104-013244.md    │  │\n                    │  │  - 20251104-020156.md    │  │\n                    │  │  (시간순 상세 기록)       │  │\n                    │  └──────────────────────────┘  │\n                    │                                 │\n                    │  ┌──────────────────────────┐  │\n                    │  │  by-date/                │  │\n                    │  │  - 2025-11-04.md         │  │\n                    │  │  - 2025-11-03.md         │  │\n                    │  │  (일일 집계)              │  │\n                    │  └──────────────────────────┘  │\n                    └─────────────────────────────────┘\n```\n\n### 핵심 컴포넌트\n\n**1. 에이전트 정의** ([`agent/todo-logger.md`](agent/todo-logger.md))\n- 언어 감지 및 번역 로직\n- 이중 포맷 파일 작업\n- 중복 감지\n- 에러 처리 및 복구\n\n**2. 스토리지 구조**\n```\ntodo-history/\n├── sessions/           # 시간순 세션 로그\n│   ├── 20251104-013244.md\n│   └── 20251104-020156.md\n├── by-date/           # 일일 집계 뷰\n│   ├── 2025-11-04.md\n│   └── 2025-11-03.md\n└── archive/           # 과거 백업\n```\n\n**3. 통합 프로토콜**\n- 모든 TodoWrite 후 필수 호출\n- `todo-logger` 서브에이전트 타입으로 Task 도구 사용\n- 실패 시 자동 재시도 (1회)\n- 논블로킹 에러 처리\n\n## 🚀 빠른 시작\n\n### 설치\n\n**1. 에이전트 정의 복사**\n```bash\ncp agent/todo-logger.md ~/.claude/agents/\n```\n\n**2. 스토리지 디렉토리 생성**\n```bash\nmkdir -p ~/.claude/todo-history/{sessions,by-date,archive}\n```\n\n**3. Claude Code 권한 설정**\n\nClaude Code 설정(`~/.claude/settings.json`)에서 todo-history 경로 권한 허용:\n\n```json\n{\n  \"autoApprovedTools\": [\n    \"Read(~/.claude/todo-history/**)\",\n    \"Write(~/.claude/todo-history/**)\",\n    \"Edit(~/.claude/todo-history/**)\"\n  ]\n}\n```\n\n**4. Claude Code 설정**\n\n`~/.claude/MODES.md`에 추가:\n\n```markdown\n### 필수 todo-logger 통합\n\n**중요**: 모든 TodoWrite 작업 후에는 todo-logger 에이전트 호출이 필수입니다.\n\n**호출 패턴**:\n```\n\u003cTodoWrite 작업 완료\u003e\n→ 즉시 Task 도구로 todo-logger 에이전트 호출\n→ 현재 TodoList 상태를 에이전트에 전달\n→ 진행하기 전에 로깅 성공 확인\n```\n```\n\n### 검증\n\n테스트 TodoWrite 작업을 실행하고 파일 생성 확인:\n\n```bash\nls -lh ~/.claude/todo-history/sessions/\nls -lh ~/.claude/todo-history/by-date/\n```\n\n## 📖 사용법\n\n### 자동 호출\n\nTodo-Logger는 모든 TodoWrite 작업 후 자동으로 실행됩니다. 수동 개입이 필요하지 않습니다.\n\n**예제 흐름:**\n```\n사용자: \"인증 기능 구현 도와줘\"\n\nClaude: \u003cTodoWrite로 작업 목록 생성\u003e\n        \u003c자동으로 todo-logger 서브에이전트 호출\u003e\n        \"✅ 기록됨: 3개 작업\"\n```\n\n### 파일 포맷\n\n**세션 로그** (`sessions/1104_인증 시스템 구현.md`):\n```markdown\n20251104-013244\n\nStart: 25-11-04 01:32:44\nLast: 25-11-04 01:35:12\nSession: 인증 시스템 구현\n\n---\n\n## 01:32:44\n- 🔄 인증 시스템 구현\n- 🕐 단위 테스트 작성\n- 🕐 문서 업데이트\n\n## 01:35:12\n- ✅ 인증 시스템 구현\n- 🔄 단위 테스트 작성\n- 🕐 문서 업데이트\n```\n\n**일일 집계** (`by-date/2025-11-04.md`):\n```markdown\n# 2025-11-04\n\n## [251104-013244](../sessions/1104_인증 시스템 구현.md)  (01:32:44)\n- ✅ 인증 시스템 구현\n- 🔄 단위 테스트 작성\n- 🕐 문서 업데이트\n\n---\n\n## [251104-020156](../sessions/1104_단위 테스트 작성.md)  (02:01:56)\n- ✅ 단위 테스트 작성\n- 🔄 문서 업데이트\n```\n\n### 상태 이모지 매핑\n\n- ✅ `completed` - 작업 성공적으로 완료\n- 🔄 `in_progress` - 현재 작업 중\n- 🕐 `pending` - 미래 작업 대기 중\n- 🚧 `blocked` - 의존성 또는 외부 요인 대기 중\n\n## 🌐 한국어 전용 기록\n\n### 언어 처리\n\n**모든 작업은 한국어로만 기록**되어 가독성과 토큰 효율성이 향상됩니다.\n\n**1. 순수 한국어** → 그대로 기록\n```\n입력: \"데이터베이스 설계\"\n출력: \"데이터베이스 설계\"\n```\n\n**2. 순수 영어** → 한국어로 자동 번역\n```\n입력: \"Implement database schema\"\n출력: \"데이터베이스 스키마 구현\"\n```\n\n**3. 혼합 (한국어 + 영어)** → 그대로 기록\n```\n입력: \"Implement 데이터베이스 설계\"\n출력: \"Implement 데이터베이스 설계\"\n```\n\n### 번역 가이드라인\n\n일반적인 기술 용어:\n- `review` → `리뷰` (검토 아님)\n- `test` → `테스트`\n- `integration` → `통합`\n- `implementation` → `구현`\n- `refactoring` → `리팩토링`\n\n## 🔧 통합\n\n### Claude Code 통합\n\n자세한 통합 가이드는 [`docs/INTEGRATION.md`](docs/INTEGRATION.md)를 참조하세요.\n\n**최소 통합:**\n\nClaude Code 시스템 프롬프트 또는 MODES.md에 추가:\n\n```markdown\n모든 TodoWrite 작업 후, 즉시:\n\nTask 도구 호출 → subagent_type: \"todo-logger\" → 현재 TodoList 상태 전달\n```\n\n### 수동 호출 (테스트용)\n\n자동 호출이 권장되지만, 수동으로 트리거할 수도 있습니다:\n\n```javascript\n// Claude Code 세션에서\n{\n  \"tool\": \"Task\",\n  \"subagent_type\": \"todo-logger\",\n  \"description\": \"현재 작업 로깅\",\n  \"prompt\": \"현재 TodoList 상태 기록: [작업 내용]\"\n}\n```\n\n## 📊 사용 사례\n\n### 1. Git 커밋 메시지\n\n```bash\n# 커밋 전에 오늘의 로그 열기\ncat ~/.claude/todo-history/by-date/$(date +%Y-%m-%d).md\n\n# 작업 설명을 커밋 메시지로 사용\ngit commit -m \"feat: 인증 시스템 구현\n\n- 사용자 등록 엔드포인트 완료\n- JWT 토큰 생성 추가\n- bcrypt로 비밀번호 해싱 구현\n\n작업 추적: todo-history/sessions/20251104-013244.md\"\n```\n\n### 2. 일일 스탠드업 보고\n\n```bash\n# 어제의 성과\ncat ~/.claude/todo-history/by-date/2025-11-03.md | grep \"✅\"\n\n# 오늘의 계획\ncat ~/.claude/todo-history/by-date/2025-11-04.md | grep \"🔄\\|🕐\"\n```\n\n### 3. 프로젝트 회고\n\n```bash\n# 특정 기능 작업 검색\ngrep -r \"인증\" ~/.claude/todo-history/sessions/\n\n# 이번 주 완료된 작업 수 세기\ngrep -r \"✅\" ~/.claude/todo-history/by-date/ | wc -l\n```\n\n### 4. 팀 투명성\n\n```bash\n# AI 세션 성과 공유\ngit add .claude/todo-history/\ngit commit -m \"docs: 인증 작업으로 todo-history 업데이트\"\ngit push\n\n# 팀원들이 AI 기반 개발 진행 상황 검토 가능\n```\n\n## 🎨 설정\n\n### 커스텀 스토리지 위치\n\n`~/.claude/agents/todo-logger.md` 편집:\n\n```markdown\n3. File Operations - sessions/\n   - Primary target: `/custom/path/todo-history/sessions/{session_id}.md`\n\n4. File Operations - by-date/\n   - Secondary target: `/custom/path/todo-history/by-date/{YYYY-MM-DD}.md`\n```\n\n**스토리지 디렉토리 생성:**\n```bash\nmkdir -p /custom/path/todo-history/{sessions,by-date,archive}\n```\n\n### 커스텀 세션 ID 포맷\n\n**기본값:** `YYYYMMDD-HHMMSS` (예: `20251104-013244`)\n\n**UUID 포맷 사용**하려면, 세션 ID 생성 로직 수정:\n\n```markdown\n1. Extract Session Info\n   - Generate session ID: 타임스탬프 대신 UUID 사용\n   - Example: `uuid.uuid4()` → `a1b2c3d4-e5f6-...`\n```\n\n### 언어 설정\n\n**기본값:** 영어 → 한국어 번역 활성화\n\n**번역 비활성화** (영어 전용 모드):\n\n```markdown\n2. Language Detection\n   - Pure English → 영어 섹션만 기록 (번역 안 함)\n   - Pure Korean → 한국어 섹션만 기록\n   - Mixed → 적절한 섹션에 그대로 기록\n```\n\n## 🧪 테스트\n\n설치 확인을 위한 테스트 스위트 실행:\n\n```bash\n# 에이전트 호출 테스트\nclaude-code --test todo-logger\n\n# 파일 생성 확인\nls -lh ~/.claude/todo-history/sessions/\nls -lh ~/.claude/todo-history/by-date/\n```\n\n## 📚 문서\n\n- [**아키텍처 심층 분석**](docs/ARCHITECTURE.md) - 시스템 설계 및 결정 사항\n- [**통합 가이드**](docs/INTEGRATION.md) - 상세한 설정 지침\n- [**설계 철학**](docs/DESIGN.md) - 한국어 설계 문서\n- [**예제**](examples/) - 실제 세션 및 일일 로그\n\n## 🤝 기여하기\n\n기여를 환영합니다! 개선 영역:\n\n- [ ] 추가 언어 지원 (스페인어, 프랑스어, 일본어)\n- [ ] 작업 히스토리 시각화를 위한 웹 대시보드\n- [ ] 분석 (작업 완료율, 시간 추정)\n- [ ] 내보내기 형식 (JSON, CSV, HTML)\n- [ ] 프로젝트 관리 도구 통합 (Jira, Linear, Asana)\n\n### 개발 설정\n\n```bash\ngit clone https://github.com/junyjeon/todo-logger.git\ncd todo-logger\n# agent/todo-logger.md 수정\n# Claude Code로 테스트\n# PR 제출\n```\n\n## 📜 라이선스\n\nMIT 라이선스 - 자세한 내용은 [LICENSE](LICENSE) 참조\n\n## 🙏 감사의 말\n\n- Anthropic의 [Claude Code](https://github.com/anthropics/claude-code)를 위해 제작\n- AI 기반 개발에서 영속적인 작업 추적의 필요성에서 영감을 받음\n- 커뮤니티 피드백과 기여\n\n## 📬 지원\n\n- **이슈**: [GitHub Issues](https://github.com/junyjeon/todo-logger/issues)\n- **토론**: [GitHub Discussions](https://github.com/junyjeon/todo-logger/discussions)\n- **이메일**: junyjeon@gmail.com\n\n---\n\n**AI와 함께 개발하는 개발자를 위해 ❤️로 만들어졌습니다**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunyjeon%2Ftodo-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunyjeon%2Ftodo-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunyjeon%2Ftodo-logger/lists"}