AI 팀원 출근시키기
``` 매일 아침 9시, Telegram으로 이런 메시지가 온다:
Claude Code + GitHub + Telegram으로 매일 아침 업무 보고 자동화
이 영상에서 만드는 것
매일 아침 9시, Telegram으로 이런 메시지가 온다:
📋 Daily Scrum — 2026-04-09
13개 프로젝트 현황
✅ 어제 완료
• AITEM — 결제 모듈 연동 (커밋 3개)
📌 진행 중
• ai-rules — 브랜치 feature/260409-xxx
🚫 블로커
• B-003 API 인증 오류 — 3일째 미해결
Commits: 3 | Blockers: 2 | Approvals: 1
사람이 직접 작성하는 게 아니라 AI가 코드베이스를 읽고 자동으로 생성합니다.
이슈가 생기면 1시간마다 Telegram으로 알림도 옵니다:
⏸ 에이전트 중단 (1건)
🔴 AITEM — 3시간 응답 없음
👤 확인 필요 (1건)
🟡 ai-rules — PR 승인 대기
준비물
| 항목 | 필요 여부 | 비고 |
|---|---|---|
| Claude Code | 필수 | claude.ai/code |
| GitHub 계정 | 필수 | 무료 계정 가능 |
| Telegram 계정 | 필수 | 앱 설치 필요 |
| Node.js 20+ | 필수 | nodejs.org |
| Windows 10/11 | 권장 | Mac/Linux도 가능 (스케줄러 명령 다름) |
전체 흐름
1. GitHub 레포 생성 (내 프로젝트)
↓
2. Claude Code 설치 + 연동
↓
3. CLAUDE.md 세팅 (AI 규칙 주입)
↓
4. Telegram Bot 생성
↓
5. AI-gencrew-bot 설치 (자동화 스크립트)
↓
6. 프로젝트 등록 (profiles/)
↓
7. 작업 스케줄러 등록
↓
8. 테스트 실행
Step 1 — GitHub 레포 생성
- github.com 접속 → New repository
- 설정:
- Repository name:
my-ai-workspace(원하는 이름) - Visibility: Private 권장
- Add a README file: ✅ 체크
- Repository name:
- Create repository 클릭
- 로컬에 클론:
git clone https://github.com/{내_계정}/{레포명}.git
cd my-ai-workspace
Step 2 — Claude Code 설치
# Node.js 20+ 설치 확인
node --version # v20.x.x 이상이어야 함
# Claude Code 설치
npm install -g @anthropic-ai/claude-code
# 설치 확인
claude --version
Claude Code 초기 설정
# 프로젝트 폴더에서 실행
cd my-ai-workspace
claude
처음 실행하면 브라우저가 열리며 Anthropic 로그인 요청 → 로그인 후 터미널로 돌아옴.
Step 3 — CLAUDE.md 세팅 (AI 규칙 주입)
프로젝트 루트에 CLAUDE.md 파일 생성. 이 파일이 AI 팀원의 행동 규칙입니다.
CLAUDE.md 기본 내용:
# CLAUDE.md
## 언어 규칙
- 사용자와는 한국어로 대화
- 코드, 커밋 메시지는 영어
## Git 규칙
- 항상 feature 브랜치에서 작업
- 브랜치명: feature/{YYMMDD}-{설명}
- main/master 직접 커밋 금지
## 커밋 규칙
- 형식: {type}({scope}): {설명}
- type: feat, fix, docs, chore, refactor
포인트: 이 파일에 규칙을 쓰면 Claude Code가 자동으로 따릅니다. 팀원한테 온보딩 문서 주는 것과 같습니다.
SESSION.md — AI가 자동으로 작성하는 인수인계 파일
Claude Code로 작업하다 보면 프로젝트 루트에 SESSION.md가 생깁니다.
이 파일은 AI가 직접 씁니다. 작업 세션이 끝날 때 "내가 뭘 했고, 다음에 뭘 해야 하는지"를 기록하는 인수인계 문서입니다.
---HANDOFF---
date: 2026-04-09
branch: feature/260409-auth-refactor
status: partial
done:
- JWT 미들웨어 분리 (커밋 a1b2c3d)
next:
- 테스트 코드 작성
blocked:
- 외부 OAuth 키 발급 대기 중
---END---
daily-scrum.mjs와 모니터 스크립트는 이 파일을 읽어서 현황을 파악합니다.
status: partial→ 작업 진행 중status: complete→ 작업 완료blocked→ 막힌 항목 (모니터가 Telegram으로 알림)waiting_for_human: true→ 사람 확인 필요 (모니터가 즉시 알림)
SESSION.md가 없는 프로젝트는 "현황 없음"으로 처리됩니다. 첫 번째 Claude Code 세션을 실행하면 자동으로 생성됩니다.
Step 4 — Telegram Bot 생성
4-1. BotFather로 봇 만들기
- Telegram에서 @BotFather 검색
/newbot입력- 봇 이름 입력 (예:
My AI Scrum Bot) - 봇 username 입력 (예:
my_ai_scrum_bot) —_bot으로 끝나야 함 - 토큰 발급됨 → 복사해서 보관
발급된 토큰 예시:
7812345678:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
⚠️ 이 토큰은 비밀번호와 같습니다. 코드에 직접 넣지 마세요.
4-2. Chat ID 확인
- 방금 만든 봇을 Telegram에서 검색
/start메시지 전송- 브라우저에서 아래 URL 접속 (토큰 교체):
https://api.telegram.org/bot{내_토큰}/getUpdates
- 응답에서
"chat":{"id":뒤 숫자가 Chat ID
{
"message": {
"chat": {
"id": 123456789 ← 이게 Chat ID
}
}
}
4-3. .env 파일 설정
프로젝트 루트에 .env 파일 생성:
TELEGRAM_BOT_TOKEN=7812345678:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TELEGRAM_CHAT_ID=123456789
# 모니터 설정 (선택)
MONITOR_ENABLED=true
MONITOR_QUIET_START=0 # 알림 중단 시작 (새벽 0시)
MONITOR_QUIET_END=8 # 알림 재개 (오전 8시)
.gitignore에 .env 추가 (토큰이 GitHub에 올라가면 안 됨):
echo ".env" >> .gitignore
Step 5 — AI-gencrew-bot 설치
스크립트를 직접 작성할 필요 없이 AI-gencrew-bot을 가져다 쓰면 됩니다.
5-1. 다운로드
cd d:\dev # 원하는 위치
git clone https://github.com/your-org/gencrew-bot.git
cd AI-gencrew-bot
5-2. 패키지 설치
npm install
의존성은 js-yaml 하나뿐입니다.
5-3. .env 파일 설정
# AI-gencrew-bot 폴더에 .env 생성
TELEGRAM_BOT_TOKEN=7812345678:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TELEGRAM_CHAT_ID=123456789
MONITOR_ENABLED=true
MONITOR_QUIET_START=0
MONITOR_QUIET_END=8
Step 6 — 프로젝트 등록
profiles/ 폴더에 모니터링할 프로젝트를 등록합니다.
# profiles/my-project.yaml 생성
project: my-project # 프로젝트 이름 (Telegram에 표시)
target_path: d:/dev/my-ai-workspace # 프로젝트 절대 경로
# 선택 사항
github_repo: {계정}/{레포명}
Mac / Linux 경로 예시:
project: my-project
target_path: /Users/yourname/dev/my-ai-workspace # Mac
# target_path: /home/yourname/dev/my-ai-workspace # Linux
프로젝트가 여러 개면 파일을 여러 개 만들면 됩니다:
profiles/
my-project.yaml
another-project.yaml
side-project.yaml
Step 7 — 작업 스케줄러 등록
bat 파일이 하는 일
run-daily-scrum.bat을 예로 들면:
@echo off
chcp 65001 >nul 2>&1
cd /d d:\dev\AI-gencrew-bot
if not exist logs mkdir logs
:: .env 파일에서 환경변수 로드
for /f "usebackq eol=# tokens=* delims=" %%a in (".env") do (
set "%%a"
)
echo [%date% %time%] === Daily Scrum Start === >> logs\daily-scrum.log
node scripts/daily-scrum.mjs --all --save --event --notify >> logs\daily-scrum.log 2>&1
echo [%date% %time%] === Done (exit: %ERRORLEVEL%) === >> logs\daily-scrum.log
핵심은 두 가지입니다:
.env파일에서 Telegram 토큰을 읽어 환경변수로 주입- 실행 로그를
logs/폴더에 저장 (문제 발생 시 확인용)
Windows 작업 스케줄러 (PowerShell 관리자 권한)
# 데일리 스크럼 (매일 오전 9시)
schtasks /create /tn "DailyScrumReport" `
/tr "d:\dev\AI-gencrew-bot\run-daily-scrum.bat" `
/sc DAILY /st 09:00 /f
# 주간 보고 (매주 목요일 오후 2시)
schtasks /create /tn "WeeklyReport" `
/tr "d:\dev\AI-gencrew-bot\run-weekly-report.bat" `
/sc WEEKLY /d THU /st 14:00 /f
# 리더 모니터 (매 1시간 — 이슈 있을 때만 알림)
schtasks /create /tn "LeaderMonitor" `
/tr "d:\dev\AI-gencrew-bot\run-leader-monitor.bat" `
/sc MINUTE /mo 60 /f
# Executive 모니터 (매 1시간 — 간결 요약)
schtasks /create /tn "ExecutiveMonitor" `
/tr "d:\dev\AI-gencrew-bot\run-executive-monitor.bat" `
/sc MINUTE /mo 60 /f
등록 확인:
schtasks /query /tn "DailyScrumReport" /fo LIST
Mac / Linux (crontab)
crontab -e
# 데일리 스크럼 (매일 9시)
0 9 * * * cd /path/to/AI-gencrew-bot && node scripts/daily-scrum.mjs --all --save --event --notify
# 주간 보고 (목요일 14시)
0 14 * * 4 cd /path/to/AI-gencrew-bot && node scripts/weekly-report.mjs --all --save --event --notify
# 모니터 (매 1시간)
0 * * * * cd /path/to/AI-gencrew-bot && node scripts/leader-monitor.mjs
0 * * * * cd /path/to/AI-gencrew-bot && node scripts/executive-monitor.mjs
Step 8 — 테스트 실행
cd d:\dev\AI-gencrew-bot
8-1. 데일리 스크럼 테스트
node scripts/daily-scrum.mjs --all --notify
SESSION.md가 아직 없어도 괜찮습니다. 등록한 프로젝트 목록과 함께 "현황 없음" 메시지가 Telegram으로 옵니다.
메시지가 안 오면 → 트러블슈팅 섹션 확인
8-2. 모니터 테스트
node scripts/leader-monitor.mjs
node scripts/executive-monitor.mjs
모니터는 이슈가 있을 때만 Telegram 메시지를 보냅니다. 처음엔 아무 메시지도 안 오는 게 정상입니다.
콘솔에 아래 메시지가 나오면 정상 동작입니다:
✅ 이상 없음 — 스킵
강제로 모니터 알림을 테스트하려면 — 프로젝트의 SESSION.md에 아래를 추가하세요:
---HANDOFF---
date: 2026-04-09
branch: feature/test
status: partial
waiting_for_human: true
blocked:
- 테스트용 블로커입니다
---END---
저장 후 모니터를 다시 실행하면 Telegram 알림이 옵니다. 확인 후 SESSION.md를 원래대로 되돌리세요.
8-3. 로그 확인
# 실행 로그 확인 (오류 발생 시)
cat logs/daily-scrum.log
cat logs/leader-monitor.log
Telegram에 메시지가 오면 성공입니다 🎉
완성 체크리스트
[ ] GitHub 레포 생성 + 로컬 클론
[ ] Claude Code 설치 + 로그인
[ ] CLAUDE.md 생성
[ ] Telegram Bot 생성 + 토큰 발급
[ ] Chat ID 확인
[ ] .env 파일 설정 (AI-gencrew-bot 폴더)
[ ] .gitignore에 .env 추가
[ ] AI-gencrew-bot 클론 + npm install
[ ] profiles/ 에 내 프로젝트 등록
[ ] 작업 스케줄러 4개 등록
[ ] 데일리 스크럼 테스트 실행 성공
[ ] Telegram 메시지 수신 확인
[ ] 내일 아침 9시 자동 메시지 확인 👀
자동화 종류 요약
| 스크립트 | 실행 주기 | 알림 조건 | 용도 |
|---|---|---|---|
daily-scrum.mjs |
매일 9시 | 항상 | 프로젝트 현황 요약 |
weekly-report.mjs |
목요일 14시 | 항상 | 주간 성과 정리 |
leader-monitor.mjs |
매 1시간 | 이슈 있을 때만 | 에이전트 중단/블로커 감지 |
executive-monitor.mjs |
매 1시간 | 이슈 있을 때만 | 간결한 경영자용 요약 |
모니터는 이슈가 없으면 메시지를 보내지 않습니다. 새벽 시간대(기본 0~8시)에는 일반 알림이 꺼지지만, 에이전트가 2시간 이상 응답 없으면 새벽에도 알림이 옵니다.
트러블슈팅
Telegram 메시지가 안 올 때
1. Bot Token이 올바른지 확인
→ BotFather에서 /mybots → 봇 선택 → API Token
2. Chat ID가 올바른지 확인
→ 봇에게 먼저 /start 메시지를 보냈는지 확인
→ getUpdates URL로 재확인
3. .env 파일이 AI-gencrew-bot 폴더에 있는지 확인
node 명령이 안 될 때
1. Node.js 버전 확인: node --version
→ v20 미만이면 nodejs.org에서 재설치
2. Windows에서 경로 문제
→ bat 파일의 경로를 절대 경로로 수정
Claude Code 로그인이 안 될 때
1. claude login 명령 재실행
2. 브라우저에서 Anthropic 계정 확인
3. 방화벽/VPN 확인
스케줄러가 실행됐는데 메시지가 안 올 때
logs/ 폴더의 로그 파일 확인
→ daily-scrum.log, leader-monitor.log 등
→ 오류 메시지가 있으면 위 항목 참고
모니터가 계속 메시지를 보낼 때
SESSION.md의 status가 partial로 남아 있으면 계속 감지됨
→ 작업 완료 후 status: complete로 업데이트
→ 또는 MONITOR_ENABLED=false로 임시 중단
비용 안내 — Claude 토큰이 소모되나요?
결론부터: 이 영상에서 만드는 자동화는 Claude 토큰을 소모하지 않습니다.
| 구성 요소 | 실행 주체 | 비용 |
|---|---|---|
daily-scrum.mjs |
Node.js (단독 실행) | 무료 |
leader-monitor.mjs |
Node.js (파일 시스템 읽기) | 무료 |
run-*.bat |
Windows 스케줄러 | 무료 |
| Telegram 전송 | Telegram Bot API | 무료 |
| 파일 읽기 (SESSION.md, git log 등) | Node.js | 무료 |
에이전트 중단 감지 (~/.claude/projects/) |
OS 파일 시스템 | 무료 |
스케줄러가 Node.js 스크립트를 직접 실행하고, 그 스크립트가 로컬 파일과 git 히스토리를 읽어서 Telegram으로 보내는 구조입니다. Claude는 이 과정에 개입하지 않습니다.
Claude 토큰이 실제로 소모되는 시점:
1. Claude Code 터미널에서 직접 대화할 때
2. --ai 옵션 사용 시 (AI 분석 기능 — 기본값 OFF)
에이전트 중단 감지도 무료:
모니터가 ~/.claude/projects/ 폴더의 파일 수정 시각을 읽는 것뿐입니다. OS의 파일 시스템 조회라 Claude API 호출 없이 동작합니다.
다음 편 예고
EP.02 — AI가 주간 보고서까지 써준다
- 주간 보고 자동화 (목요일 14시)
- 데일리 → 주간 누적 분석
- 블로커 추적 시스템
- 리더/Executive 모니터 심화 설정
📁 소스 코드: gencrew-bot (GitHub 레포 공개 예정)