ai-rules handbook AI 팀원 출근시키기

AI 팀원 출근시키기

``` 매일 아침 9시, Telegram으로 이런 메시지가 온다:

research docs/research/bot_GUIDE.md

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 레포 생성

  1. github.com 접속 → New repository
  2. 설정:
    • Repository name: my-ai-workspace (원하는 이름)
    • Visibility: Private 권장
    • Add a README file: 체크
  3. Create repository 클릭
  4. 로컬에 클론:
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로 봇 만들기

  1. Telegram에서 @BotFather 검색
  2. /newbot 입력
  3. 봇 이름 입력 (예: My AI Scrum Bot)
  4. 봇 username 입력 (예: my_ai_scrum_bot) — _bot으로 끝나야 함
  5. 토큰 발급됨 → 복사해서 보관
발급된 토큰 예시:
7812345678:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

⚠️ 이 토큰은 비밀번호와 같습니다. 코드에 직접 넣지 마세요.

4-2. Chat ID 확인

  1. 방금 만든 봇을 Telegram에서 검색
  2. /start 메시지 전송
  3. 브라우저에서 아래 URL 접속 (토큰 교체):
https://api.telegram.org/bot{내_토큰}/getUpdates
  1. 응답에서 "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

핵심은 두 가지입니다:

  1. .env 파일에서 Telegram 토큰을 읽어 환경변수로 주입
  2. 실행 로그를 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 레포 공개 예정)