DEV Community

wes5510
wes5510

Posted on

마크다운 파일로 7,600개 태스크를 관리하는 시스템

개요

태스크 하나가 폴더 하나입니다. 그 안에 index.md 파일이 있고, YAML frontmatter에 메타데이터를 적습니다. 폴더 구조가 곧 카테고리입니다. DB 없이 파일 시스템이 데이터베이스 역할을 합니다.

현재 7,655개 태스크, 94% 완료율로 운영 중입니다.

hq/
├── 회사A/
├── 회사B/
├── 개인/
└── inbox/
Enter fullscreen mode Exit fullscreen mode

태스크 구조

태스크 하나는 이렇게 생겼습니다:

배포-프로세스-개선/
└── index.md
Enter fullscreen mode Exit fullscreen mode
---
date: 2026-02-07
estimation: 2h
focus_time: 1h 30m
priority: P1
done: false
recurrence: weekly
---

본문에 상세 내용, 메모, 결과물을 자유롭게 적습니다.
Enter fullscreen mode Exit fullscreen mode

frontmatter 필드:

필드 역할 예시
date 수행일 2026-02-07
estimation 예상 소요 시간 2h
focus_time 실제 소요 시간 (자동 누적) 1h 30m
priority P0(긴급) ~ P3(낮음) P1
done 완료 여부 false
recurrence 반복 주기 weekly

같은 이름의 태스크가 생기면 ___숫자를 붙입니다. 주간_회의, 주간_회의___2, 주간_회의___3.

자동화: Claude Code Skills

Claude Code의 Skills 시스템으로 자연어 명령을 태스크 조작으로 연결합니다.

포커스 타임 트래커

"시작"이라고 말하면 ~/.focus_session.json에 시작 시간을 기록합니다. "완료"라고 말하면 경과 시간을 계산하여 focus_time에 누적합니다.

🎯 포커스 시작!
   태스크: index.md
   시작: 2026-02-07T12:24:53

✅ 포커스 종료!
   태스크: index.md
   소요 시간: 56m
Enter fullscreen mode Exit fullscreen mode

동시에 하나의 세션만 허용합니다.

반복 태스크

recurrence 필드가 있는 태스크를 완료하면 다음 날짜의 태스크를 자동 생성합니다. done: false로 초기화하고 focus_time은 비웁니다. weekly는 +7일, daily는 +1일입니다.

오늘 할일 뷰

"오늘 할일"이라고 말하면 Python 스크립트가 전체 파일을 스캔합니다.

📅 오늘 할일 (2026-02-07)

📋 오늘 (2개)
  ⬜ [P1] 블로그_글쓰기 (2026-02-07) 🔄
  ⬜ [P1] 코드_리뷰 (2026-02-07)

⚡ 높은 우선순위 미배정 (1개)
  ⬜ [P1] 시스템_개선
Enter fullscreen mode Exit fullscreen mode

기한 지난 미완료 태스크, 날짜 없는 P0/P1 태스크도 함께 표시합니다.

외부 연동

연동 대상 방식 방향
외부 태스크 도구 MCP 서버 양방향 동기화
캘린더 CLI 캘린더 → 태스크
Git git CLI 변경사항 자동 커밋/푸시

소스 오브 트루스는 로컬 마크다운 파일입니다. 외부 도구의 이슈든 캘린더 일정이든 index.md로 수렴합니다.

구조 요약

사용자 ("시작", "완료", "오늘 할일")
  ↓
Claude Code Hook (키워드 감지)
  ↓
Skill (Python 스크립트 실행)
  ↓
마크다운 파일 (frontmatter 업데이트)
  ↓
Git (버전 관리, 푸시)
Enter fullscreen mode Exit fullscreen mode

태스크의 라이프사이클:

생성 → 날짜/우선순위 배정 → 포커스 시작 → 완료 → (반복이면) 다음 태스크 자동 생성
Enter fullscreen mode Exit fullscreen mode

Top comments (0)