AI Report to Me
Let your coding agent report to you.
English | 中文
aireport reads your local coding agent session logs, analyzes patterns, and generates daily reports and 90-day Wrapped summaries — complete with friction analysis, habit profiling, and a "Vibe Coder" personality type.
It works with Claude Code, Gemini CLI, OpenCode, and Codex. All data stays on your machine.
Features
-
Daily Reports — Structured summaries of what you built, what broke, and what you learned. Includes "Experience Slices": distilled problem-solving stories with transferable insights.
| Feishu | Slack |
|---|
 |  |
-
90-Day Wrapped — A Spotify Wrapped-style retrospective with session stats, hourly heatmaps, top projects, and a "Vibe Coder" personality classification (e.g. Night Ghost, Flash Raider, Refactor Addict).
-
Friction Detection — Automatically identifies retry loops, error cascades, and direction switches in your sessions.
-
Startup Reminders — Claude Code's SessionStart hook nudges you to generate yesterday's report. OpenCode gets a custom ai_report_check tool you can invoke in chat.
-
Webhook Push — Send reports to Slack, Discord, Feishu, DingTalk, WeCom, or Microsoft Teams.
-
Multi-Language — Reports generated in English, Chinese, Japanese, Korean, or Russian.
Quick Start
Highly Recommended: paste this into your coding agent
(Claude Code, Gemini CLI, OpenCode, or Codex) and let it handle everything:
Install and configure ai-report-to-me by following the instructions here:
curl -s https://raw.githubusercontent.com/FakeHank/ai-report-to-me/main/docs/agent-install.md
The agent will read the guide, ask for your preferences (language, webhooks), install the package, and configure hooks automatically.
Or install manually:
curl -fsSL https://raw.githubusercontent.com/FakeHank/ai-report-to-me/main/scripts/install.sh | bash
Once installed, use the built-in commands directly in your coding agent session:
| CLI Tool | Daily Report | 90-Day Wrapped |
|---|
| Claude Code | /dayreport | /qtreport |
| Gemini CLI | /dayreport | /qtreport |
| OpenCode | /dayreport | /qtreport |
| Codex | $dayreport | $qtreport |
How It Works
┌─────────────┐ ┌───────────────┐ ┌────────────┐ ┌───────────┐
│ Adapters │────▶│ Aggregator │────▶│ Analyzers │────▶│ Renderer │
│ │ │ │ │ │ │ │
│ Claude Code │ │ Group by day │ │ Friction │ │ Markdown │
│ Gemini CLI │ │ Project stats │ │ Habits │ │ Vibe Card │
│ OpenCode │ │ Token usage │ │ Vibe Type │ │ Webhooks │
│ Codex │ │ Tool calls │ │ Suggestions │ │ │
└─────────────┘ └───────────────┘ └────────────┘ └───────────┘
- Adapters parse session logs from each CLI tool into a normalized format
- Aggregator groups sessions by date and computes per-project breakdowns
- Analyzers detect friction patterns, classify coding habits, and extract personality signals
- Renderer produces Markdown reports (with LLM-generated narrative) and PNG vibe cards
Reports are saved to ~/.ai-report/reports/ with embedded metadata for incremental regeneration — only new sessions trigger a rebuild.
Supported CLIs
| CLI Tool | Session Source | Hook Support | Notes |
|---|
| Claude Code | ~/.claude/projects/ | Full | SessionStart hook (startup check) |
| Gemini CLI | ~/.gemini/tmp/ | None | Session data read directly |
| OpenCode | ~/.local/share/opencode/opencode.db | Partial | Plugin with custom ai_report_check tool |
| Codex | ~/.codex/sessions/ | None | Session data read directly |
CLI Reference