sincenety 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ko.md CHANGED
@@ -149,9 +149,62 @@ sincenety schedule --status
149
149
  sincenety schedule --uninstall
150
150
  ```
151
151
 
152
- ### Claude Code Skill
152
+ ### Claude Code Skill (`/sincenety`)
153
153
 
154
- Claude Code 안에서 `/sincenety`로 직접 호출 가능합니다. `~/.claude/skills/sincenety/SKILL.md`에 등록됩니다.
154
+ Claude Code 안에서 `/sincenety`로 직접 호출하여 AI 기반 일일보고를 생성합니다.
155
+
156
+ #### 설치
157
+
158
+ 1. **CLI 설치** (데이터 수집 엔진):
159
+
160
+ ```bash
161
+ npm install -g sincenety@latest
162
+ ```
163
+
164
+ 2. **Skill 등록** (Claude Code에 `/sincenety` 명령 등록):
165
+
166
+ ```bash
167
+ mkdir -p ~/.claude/skills/sincenety
168
+ cp node_modules/sincenety/src/skill/SKILL.md ~/.claude/skills/sincenety/SKILL.md
169
+ ```
170
+
171
+ 또는 글로벌 설치인 경우:
172
+
173
+ ```bash
174
+ mkdir -p ~/.claude/skills/sincenety
175
+ cp "$(npm root -g)/sincenety/src/skill/SKILL.md" ~/.claude/skills/sincenety/SKILL.md
176
+ ```
177
+
178
+ 3. **최신 버전 업데이트**:
179
+
180
+ Claude Code 안에서:
181
+ ```
182
+ ! npm install -g sincenety@latest
183
+ ```
184
+
185
+ #### 동작 원리
186
+
187
+ Claude Code에서 `/sincenety` 입력 시:
188
+
189
+ 1. **데이터 수집** — CLI가 오늘 00:00 이후 모든 세션을 JSON으로 수집 (대화 턴 포함)
190
+ 2. **AI 요약** — Claude Code 자체가 대화 턴을 분석하여 세션별 topic/outcome/flow/significance + 하루 overview 생성
191
+ 3. **DB 저장** — `save-daily`로 `daily_reports` 테이블에 저장
192
+ 4. **터미널 리포트** — 구조화된 리포트를 터미널에 표시
193
+ 5. **이메일 발송** — 설정 시 AI 요약이 반영된 HTML 이메일 발송 (일일보고 overview, 세션별 컬러코딩 대시보드)
194
+
195
+ 핵심: Claude Code **자체가** AI이므로 외부 API 키가 필요 없습니다. Skill이 현재 세션에게 수집된 데이터를 직접 요약하도록 지시합니다.
196
+
197
+ #### 이메일 설정 (선택)
198
+
199
+ Claude Code 안에서 또는 터미널에서:
200
+
201
+ ```bash
202
+ sincenety config --email you@gmail.com
203
+ sincenety config --smtp-user you@gmail.com
204
+ sincenety config --smtp-pass # Gmail 앱 비밀번호 입력 프롬프트
205
+ ```
206
+
207
+ > Gmail 앱 비밀번호 생성: https://myaccount.google.com/apppasswords
155
208
 
156
209
  ---
157
210
 
@@ -351,9 +404,16 @@ npx . # 현재 디렉토리를 npx로 실행
351
404
  - **DB 스키마 v3**: `daily_reports` 테이블 추가 (UNIQUE(report_date, report_type))
352
405
  - **이메일 개선**: XML/시스템 태그 정리 (cleanText, esc 함수 강화), wrapUp 데이터 반영, Section 04 작업 흐름 표시
353
406
 
407
+ ### v0.2.1 (2026-04-07) — 이메일 AI 요약 통합
408
+
409
+ - **이메일에 AI 요약 반영**: `daily_reports`의 AI 요약(topic, outcome, flow, significance)을 이메일 템플릿에 매핑
410
+ - **일일보고 overview**: 이메일 최상단에 하루 종합 요약 섹션 추가
411
+ - **Gmail 클립 방지**: actions를 세션당 최대 5건으로 제한, 텍스트 길이 최적화 (55KB → Gmail 102KB 한도 이내)
412
+ - **제목 개선**: "작업 갈무리" → "일일보고"로 변경
413
+
354
414
  ### 향후 계획
355
415
 
356
- - [ ] npm publish → `npx sincenety@latest` 배포
416
+ - [x] npm publish → `npx sincenety@latest` 배포
357
417
  - [ ] passphrase 설정 기능 완성
358
418
  - [ ] 유사 작업 매칭 (TF-IDF 기반)
359
419
  - [ ] MariaDB/PostgreSQL 외부 DB 연결 (현재 비활성화)
package/README.md CHANGED
@@ -143,9 +143,62 @@ sincenety schedule --status # Check status
143
143
  sincenety schedule --uninstall # Remove
144
144
  ```
145
145
 
146
- ### Claude Code Skill
146
+ ### Claude Code Skill (`/sincenety`)
147
147
 
148
- Use `/sincenety` directly inside Claude Code sessions.
148
+ Use `/sincenety` directly inside Claude Code sessions for AI-powered daily reports.
149
+
150
+ #### Installation
151
+
152
+ 1. **Install the CLI** (provides the data collection engine):
153
+
154
+ ```bash
155
+ npm install -g sincenety@latest
156
+ ```
157
+
158
+ 2. **Install the skill** (registers `/sincenety` command in Claude Code):
159
+
160
+ ```bash
161
+ mkdir -p ~/.claude/skills/sincenety
162
+ cp node_modules/sincenety/src/skill/SKILL.md ~/.claude/skills/sincenety/SKILL.md
163
+ ```
164
+
165
+ Or if installed globally:
166
+
167
+ ```bash
168
+ mkdir -p ~/.claude/skills/sincenety
169
+ cp "$(npm root -g)/sincenety/src/skill/SKILL.md" ~/.claude/skills/sincenety/SKILL.md
170
+ ```
171
+
172
+ 3. **Update to latest version**:
173
+
174
+ Inside Claude Code, run:
175
+ ```
176
+ ! npm install -g sincenety@latest
177
+ ```
178
+
179
+ #### How it works
180
+
181
+ When you type `/sincenety` inside Claude Code:
182
+
183
+ 1. **Data collection** — CLI gathers all sessions since 00:00 as JSON (with conversation turns)
184
+ 2. **AI summary** — Claude Code itself analyzes conversation turns and generates topic/outcome/flow/significance for each session, plus an overview
185
+ 3. **Save to DB** — Summary is saved to `daily_reports` table via `save-daily`
186
+ 4. **Terminal report** — Structured report shown in terminal
187
+ 5. **Email** — If configured, sends an HTML email with AI summary, color-coded dashboard, and daily overview
188
+
189
+ The key insight: Claude Code **is** the AI — no external API key needed. The skill instructs the current session to summarize the collected data directly.
190
+
191
+ #### Email setup (optional)
192
+
193
+ Inside Claude Code or terminal:
194
+
195
+ ```bash
196
+ sincenety config --email you@gmail.com
197
+ sincenety config --smtp-user you@gmail.com
198
+ sincenety config --smtp-pass # Prompts for Gmail app password
199
+ ```
200
+
201
+ > Generate Gmail app password: https://myaccount.google.com/apppasswords
149
202
 
150
203
  ---
151
204
 
@@ -248,6 +301,8 @@ node dist/cli.js # Direct execution
248
301
  ## Roadmap
249
302
 
250
303
  - [x] Weekly/monthly summary reports
304
+ - [x] Email with AI summary (daily overview + per-session topic/outcome/flow)
305
+ - [x] Gmail clip prevention (actions capped at 5/session, text length optimized)
251
306
  - [ ] Passphrase encryption option
252
307
  - [ ] Similar task matching (TF-IDF)
253
308
  - [ ] External DB connectors (MariaDB/PostgreSQL)
@@ -37,10 +37,9 @@ export async function sendGatherEmail(storage, reportId) {
37
37
  " Gmail 앱 비밀번호 생성: https://myaccount.google.com/apppasswords");
38
38
  return;
39
39
  }
40
- // 리포트 가져오기
40
+ // gather_reports (raw) 가져오기
41
41
  let report;
42
42
  if (reportId != null) {
43
- // getGatherReportsByDate로는 ID로 조회 불가 → 날짜 범위 없이 latest 사용 후 필터
44
43
  const latest = await storage.getLatestGatherReport();
45
44
  if (latest && latest.id === reportId) {
46
45
  report = latest;
@@ -62,19 +61,50 @@ export async function sendGatherEmail(storage, reportId) {
62
61
  console.log(` 이 리포트는 이미 ${sentDate}에 ${report.emailTo}로 발송되었습니다.`);
63
62
  return;
64
63
  }
65
- // 제목 구성
64
+ // daily_reports (AI 요약)가 있으면 가져와서 wrapUp에 매핑
66
65
  const dateStr = new Date(report.gatheredAt).toISOString().slice(0, 10);
66
+ const dailyReport = await storage.getDailyReport(dateStr, "daily");
67
+ let aiSummaryMap = null;
68
+ let dailyOverview = null;
69
+ if (dailyReport) {
70
+ try {
71
+ const summaryJson = JSON.parse(dailyReport.summaryJson || "[]");
72
+ aiSummaryMap = new Map();
73
+ for (const s of summaryJson) {
74
+ if (s.sessionId) {
75
+ aiSummaryMap.set(s.sessionId, {
76
+ topic: s.topic ?? "",
77
+ outcome: s.outcome ?? "",
78
+ flow: s.flow ?? "",
79
+ significance: s.significance ?? "",
80
+ nextSteps: s.nextSteps ?? "",
81
+ });
82
+ }
83
+ }
84
+ dailyOverview = dailyReport.overview;
85
+ }
86
+ catch {
87
+ // AI 요약 파싱 실패 시 무시
88
+ }
89
+ }
90
+ // 제목 구성
67
91
  const totalTokensK = Math.round((report.totalInputTokens + report.totalOutputTokens) / 1000);
68
- const subject = `[sincenety] ${dateStr} 작업 갈무리 — ${report.sessionCount}세션, ${report.totalMessages}msg, ${totalTokensK}Ktok`;
69
- // HTML 생성 — 리포트 JSON에서 세션 데이터 복원하여 풍부한 템플릿 렌더링
92
+ const subject = `[sincenety] ${dateStr} 일일보고 — ${report.sessionCount}세션, ${report.totalMessages}msg, ${totalTokensK}Ktok`;
93
+ // HTML 생성 — AI 요약이 있으면 wrapUp에 매핑
70
94
  let html;
71
95
  try {
72
96
  const sessionsJson = JSON.parse(report.reportJson || "[]");
73
97
  const emailData = {
74
98
  sessions: sessionsJson.map((s) => {
75
- const wu = s.wrapUp;
99
+ const sid = s.sessionId ?? "";
100
+ const ai = aiSummaryMap?.get(sid);
101
+ const wu = ai
102
+ ? { outcome: ai.outcome, significance: ai.significance, flow: ai.flow, nextSteps: ai.nextSteps || undefined }
103
+ : s.wrapUp
104
+ ? { outcome: s.wrapUp.outcome ?? "", significance: s.wrapUp.significance ?? "", flow: s.wrapUp.flow, nextSteps: s.wrapUp.nextSteps }
105
+ : undefined;
76
106
  return {
77
- sessionId: s.sessionId ?? "",
107
+ sessionId: sid,
78
108
  projectName: s.projectName ?? "",
79
109
  startedAt: s.startedAt ?? report.fromTimestamp,
80
110
  endedAt: s.endedAt ?? report.toTimestamp,
@@ -85,9 +115,9 @@ export async function sendGatherEmail(storage, reportId) {
85
115
  inputTokens: s.inputTokens ?? 0,
86
116
  outputTokens: s.outputTokens ?? 0,
87
117
  totalTokens: s.totalTokens ?? 0,
88
- title: s.title ?? "",
89
- summary: s.title ?? "",
90
- description: s.description ?? "",
118
+ title: ai?.topic || (s.title ?? ""),
119
+ summary: ai?.topic || (s.title ?? ""),
120
+ description: ai?.outcome || (s.description ?? ""),
91
121
  model: s.model ?? "",
92
122
  category: s.category ?? "",
93
123
  actions: (s.actions ?? []).map((a) => ({
@@ -96,17 +126,13 @@ export async function sendGatherEmail(storage, reportId) {
96
126
  result: a.result ?? "",
97
127
  significance: a.significance ?? "",
98
128
  })),
99
- wrapUp: wu ? {
100
- outcome: wu.outcome ?? "",
101
- significance: wu.significance ?? "",
102
- flow: wu.flow,
103
- nextSteps: wu.nextSteps,
104
- } : undefined,
129
+ wrapUp: wu,
105
130
  };
106
131
  }),
107
132
  fromTimestamp: report.fromTimestamp,
108
133
  toTimestamp: report.toTimestamp,
109
134
  gatheredAt: report.gatheredAt,
135
+ dailyOverview: dailyOverview ?? undefined,
110
136
  };
111
137
  html = renderEmailHtml(emailData);
112
138
  }
@@ -114,6 +140,11 @@ export async function sendGatherEmail(storage, reportId) {
114
140
  // JSON 파싱 실패 시 마크다운을 plain text로
115
141
  html = `<pre style="font-family:monospace;white-space:pre-wrap">${report.reportMarkdown.replace(/</g, "&lt;")}</pre>`;
116
142
  }
143
+ // plain text 본문도 AI 요약 기반으로 구성
144
+ let plainText = report.reportMarkdown;
145
+ if (dailyOverview) {
146
+ plainText = `[일일보고] ${dateStr}\n\n${dailyOverview}\n\n${plainText}`;
147
+ }
117
148
  // 전송
118
149
  const transporter = createTransport({
119
150
  host: config.smtpHost,
@@ -128,11 +159,14 @@ export async function sendGatherEmail(storage, reportId) {
128
159
  from: config.smtpUser,
129
160
  to: config.email,
130
161
  subject,
131
- text: report.reportMarkdown,
162
+ text: plainText,
132
163
  html,
133
164
  });
134
- // 발송 기록 업데이트
165
+ // 발송 기록 업데이트 (gather_reports + daily_reports 모두)
135
166
  await storage.updateReportEmail(report.id, Date.now(), config.email);
167
+ if (dailyReport?.id) {
168
+ await storage.updateDailyReportEmail(dailyReport.id, Date.now(), config.email);
169
+ }
136
170
  console.log(` 이메일 발송 완료: ${config.email}`);
137
171
  console.log(` 제목: ${subject}`);
138
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../src/email/sender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../src/email/sender.ts"],"names":[],"mappings":"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"}
@@ -44,5 +44,6 @@ export interface EmailData {
44
44
  gatheredAt: number;
45
45
  totalCostUsd?: number;
46
46
  totalCacheTokens?: number;
47
+ dailyOverview?: string;
47
48
  }
48
49
  export declare function renderEmailHtml(data: EmailData): string;
@@ -115,7 +115,7 @@ function wrapUpCard(s, idx) {
115
115
  <div style="font-size:11px">
116
116
  <span style="color:${C.accent}">📦</span>
117
117
  <span style="color:${C.textDim};font-size:10px;font-weight:600;margin:0 6px">결과물</span>
118
- <span style="color:${C.text};line-height:1.5">${esc(trunc(outcome, 150))}</span>
118
+ <span style="color:${C.text};line-height:1.5">${esc(trunc(outcome, 100))}</span>
119
119
  </div>
120
120
  </div>
121
121
  ${flow ? `
@@ -124,7 +124,7 @@ function wrapUpCard(s, idx) {
124
124
  <div style="font-size:11px">
125
125
  <span style="color:${C.accent}">🔄</span>
126
126
  <span style="color:${C.textDim};font-size:10px;font-weight:600;margin:0 6px">흐름</span>
127
- <span style="color:${C.textMuted};line-height:1.5">${esc(trunc(flow, 200))}</span>
127
+ <span style="color:${C.textMuted};line-height:1.5">${esc(trunc(flow, 120))}</span>
128
128
  </div>
129
129
  </div>` : ""}
130
130
  <!-- 의미 -->
@@ -169,8 +169,8 @@ function actionRow(action, isLast) {
169
169
  <div style="font-size:10px;color:${C.textDim};font-family:${C.mono}">${esc(action.time)}</div>
170
170
  </td>
171
171
  <td style="vertical-align:top">
172
- <div style="font-size:12px;color:${C.text};line-height:1.5">${esc(trunc(action.input, 90))}</div>
173
- ${action.result ? `<div style="font-size:11px;color:${C.cyan};margin-top:2px">→ ${esc(trunc(action.result, 110))}</div>` : ""}
172
+ <div style="font-size:12px;color:${C.text};line-height:1.5">${esc(trunc(action.input, 60))}</div>
173
+ ${action.result ? `<div style="font-size:11px;color:${C.cyan};margin-top:2px">→ ${esc(trunc(action.result, 70))}</div>` : ""}
174
174
  </td>
175
175
  </tr>
176
176
  </table>
@@ -193,9 +193,13 @@ export function renderEmailHtml(data) {
193
193
  const color = SESSION_COLORS[idx % SESSION_COLORS.length];
194
194
  const bg = SESSION_BG[idx % SESSION_BG.length];
195
195
  const tokens = s.totalTokens;
196
- const actionsHtml = s.actions.length > 0
197
- ? s.actions.map((a, i) => actionRow(a, i === s.actions.length - 1)).join("")
198
- : `<tr><td style="padding:6px 0;font-size:11px;color:${C.textMuted}">${esc(trunc(s.description || s.summary, 200))}</td></tr>`;
196
+ // Gmail 102KB 클립 방지: actions 최대 5개로 제한
197
+ const maxActions = 5;
198
+ const trimmedActions = s.actions.length > maxActions ? s.actions.slice(0, maxActions) : s.actions;
199
+ const actionsHtml = trimmedActions.length > 0
200
+ ? trimmedActions.map((a, i) => actionRow(a, i === trimmedActions.length - 1)).join("")
201
+ + (s.actions.length > maxActions ? `<tr><td style="padding:4px 0;font-size:10px;color:${C.textDim};text-align:center">… 외 ${s.actions.length - maxActions}건</td></tr>` : "")
202
+ : `<tr><td style="padding:6px 0;font-size:11px;color:${C.textMuted}">${esc(trunc(s.description || s.summary, 100))}</td></tr>`;
199
203
  return `<tr><td style="padding:0 0 12px 0">
200
204
  <table width="100%" cellpadding="0" cellspacing="0" style="border-radius:10px;overflow:hidden">
201
205
  <tr>
@@ -213,7 +217,7 @@ export function renderEmailHtml(data) {
213
217
  </td>
214
218
  </tr>
215
219
  </table>
216
- <div style="margin-top:6px;font-size:14px;color:${C.text};font-weight:600">${esc(trunc(s.title, 70))}</div>
220
+ <div style="margin-top:6px;font-size:14px;color:${C.text};font-weight:600">${esc(trunc(s.title, 50))}</div>
217
221
  <div style="margin-top:8px">
218
222
  <span style="display:inline-block;background:${C.bg};border-radius:5px;padding:2px 7px;font-size:9px;color:${C.textMuted};margin-right:4px">⏱️${fmtDur(s.durationMinutes)}</span>
219
223
  <span style="display:inline-block;background:${C.bg};border-radius:5px;padding:2px 7px;font-size:9px;color:${C.textMuted};margin-right:4px">💬${s.messageCount}</span>
@@ -249,11 +253,11 @@ export function renderEmailHtml(data) {
249
253
  </div>
250
254
  <!-- 핵심 주제 -->
251
255
  <div style="margin-top:6px;font-size:12px;color:${C.text};font-weight:600">
252
- 📌 ${esc(trunc(topic, 100))}
256
+ 📌 ${esc(trunc(topic, 80))}
253
257
  </div>
254
258
  <!-- 작업 흐름 -->
255
259
  <div style="margin-top:4px;font-size:11px;color:${C.textMuted};line-height:1.6">
256
- ${esc(trunc(flow, 200))}
260
+ ${esc(trunc(flow, 120))}
257
261
  </div>
258
262
  </div>`;
259
263
  }).join("");
@@ -280,6 +284,15 @@ export function renderEmailHtml(data) {
280
284
  <div style="margin-top:14px;height:2px;background:linear-gradient(90deg,${C.accent},${C.accent}33,transparent)"></div>
281
285
  </td></tr>
282
286
 
287
+ ${data.dailyOverview ? `
288
+ <!-- ═══ 일일보고 Overview ═══ -->
289
+ <tr><td style="padding:16px 0 8px 0">
290
+ <div style="background:linear-gradient(135deg,#fef3c7,#fff7ed);border-radius:12px;border:1px solid #fcd34d;padding:18px 22px">
291
+ <div style="font-size:10px;color:#92400e;font-weight:800;letter-spacing:2px;margin-bottom:8px">📝 오늘의 요약</div>
292
+ <div style="font-size:13px;color:#1a1a1a;line-height:1.7">${esc(data.dailyOverview)}</div>
293
+ </div>
294
+ </td></tr>` : ""}
295
+
283
296
  <!-- ═══ SECTION 1: 세션 갈무리 요약 (최상단) ═══ -->
284
297
  ${sectionBar("01", "✍️", "세션 갈무리 요약", "#e0e7ff", "#3730a3")}
285
298
  ${wrapUpCards}
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/email/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/email/template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sincenety",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Claude Code 작업 갈무리 도구 — 작업 이력 자동 분석 및 구조화된 기록 생성",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",