npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

daily-vibe

v1.0.1

Published

Analyze your coding sessions from Claude Code & Codex to generate daily reports and knowledge extraction

Downloads

21

Readme

Daily Vibe

English | 中文

Daily Vibe is a powerful CLI tool that analyzes your coding sessions from Claude Code and Codex CLI to generate insightful daily reports and knowledge extraction. Transform your development activity into meaningful insights with AI-powered analysis.

✨ Features

  • 📊 Daily Reports: Generate comprehensive daily development summaries
  • 🧠 Knowledge Extraction: Extract problems, solutions, and best practices from your coding sessions
  • 🔒 Data Redaction: Automatically redact sensitive information (API keys, secrets, etc.)
  • 🔄 Chunked Analysis: Handle large datasets with parallel processing for better performance
  • 🌐 Multi-LLM Support: Compatible with OpenAI, Anthropic Claude, and any OpenAI-compatible API
  • 📁 Multiple Data Sources: Support for Claude Code, Codex CLI, and VS Code extensions
  • 🌍 Timezone Support: Accurate time-based filtering with timezone awareness

🚀 Quick Start

Installation

# Install globally via npm
npm install -g daily-vibe

# Or install globally via yarn
yarn global add daily-vibe

# Or install globally via pnpm
pnpm add -g daily-vibe

Verify Installation

# Check if installed correctly
daily-vibe --version

# Get help
daily-vibe --help

Basic Usage

  1. Configure your LLM provider:
# For OpenAI
daily-vibe config set --provider openai --api-key sk-your-api-key

# For Anthropic Claude
daily-vibe config set --provider anthropic --api-key sk-ant-your-api-key

# For custom OpenAI-compatible API (e.g., DashScope)
daily-vibe config set --provider generic --base-url https://dashscope.aliyuncs.com/compatible-mode/v1 --api-key sk-your-api-key --model qwen-plus
  1. Analyze today's sessions:
daily-vibe analyze today --out ./reports
  1. Analyze a date range:
daily-vibe analyze range --from 2025-01-01 --to 2025-01-07 --out ./reports

📖 Commands Reference

🔧 Configuration

Set LLM Configuration

daily-vibe config set [OPTIONS]

Options:
  -p, --provider <provider>     LLM provider (openai|anthropic|generic)
  -k, --api-key <key>          API key for the provider
  -u, --base-url <url>         Base URL for OpenAI-compatible APIs
  -m, --model <model>          Model name to use
  -s, --show                   Show current configuration

Examples:

# Configure OpenAI
daily-vibe config set --provider openai --api-key sk-proj-abc123... --model gpt-4

# Configure Anthropic
daily-vibe config set --provider anthropic --api-key sk-ant-api03-abc123...

# Configure DashScope (Alibaba Cloud)
daily-vibe config set --provider generic \
  --base-url https://dashscope.aliyuncs.com/compatible-mode/v1 \
  --api-key sk-abc123... \
  --model qwen-turbo

# Show current configuration
daily-vibe config set --show

📊 Analysis

Analyze Today's Sessions

daily-vibe analyze today [OPTIONS]

Options:
  -o, --out <directory>        Output directory for reports
  -j, --json                   Output results as JSON
  -p, --provider <provider>    Override LLM provider
  -m, --model <model>         Override model name
  --no-redact                  Disable content redaction

Examples:

# Basic analysis
daily-vibe analyze today

# Save reports to directory
daily-vibe analyze today --out ./reports

# Get JSON output
daily-vibe analyze today --json

# Disable redaction for debugging
daily-vibe analyze today --no-redact --out ./debug-reports

Analyze Date Range

daily-vibe analyze range [OPTIONS]

Options:
  -f, --from <date>           Start date (YYYY-MM-DD)
  -t, --to <date>             End date (YYYY-MM-DD)
  -o, --out <directory>       Output directory for reports
  -j, --json                  Output results as JSON
  -p, --provider <provider>   Override LLM provider
  -m, --model <model>        Override model name
  --no-redact                 Disable content redaction

Examples:

# Analyze last week
daily-vibe analyze range --from 2025-01-01 --to 2025-01-07 --out ./reports

# Analyze with custom date formats
daily-vibe analyze range --from "2025-01-01" --to "today" --out ./reports

# Use different model for analysis
daily-vibe analyze range --from yesterday --to today --model gpt-4-turbo --out ./reports

📁 Data Sources

Scan Available Data Sources

daily-vibe sources scan

This command will show:

  • Claude Code project files (~/.claude/projects/**/*.jsonl)
  • Codex CLI session files (~/.codex/sessions/**/*.jsonl)
  • Codex CLI history files (~/.codex/history/**/*.jsonl)
  • VS Code Codex extension data
  • SpecStory history files (**/.specstory/history/**)

🔒 Data Redaction

Test Redaction Rules

daily-vibe redact test [TEXT]

Options:
  -f, --file <file>           Test redaction on a file

Examples:

# Test with text
daily-vibe redact test "My API key is sk-proj-abc123xyz"

# Test with file
daily-vibe redact test --file ./sensitive-file.txt

📄 Report Structure

When you run analysis, Daily Vibe generates three types of files:

📋 Daily Report (daily.md)

  • Overview: Session count, events, problems identified
  • Key Outputs: Major accomplishments and deliverables
  • Test Results: Success/failure statistics
  • Todo Items: Pending tasks and priorities

🧠 Knowledge Base (knowledge.md)

  • Build/Compilation Issues: TypeScript errors, dependency problems
  • Tool Configuration: ESLint, testing setup, environment issues
  • Code Implementation: Design patterns, best practices
  • Problem-Solution Pairs: Categorized by technology domain

📊 Raw Data (data.json)

  • Complete analysis results in JSON format
  • Session details with timestamps
  • Event-level information
  • Statistics and metadata

⚙️ Configuration

Daily Vibe uses cosmiconfig for configuration management. Configuration is automatically loaded from:

  • package.json (dailyVibe property)
  • .dailyviberc.json
  • .dailyviberc.js
  • dailyvibe.config.js

Example Configuration File (.dailyviberc.json)

{
  "llm": {
    "provider": "openai",
    "apiKey": "sk-proj-your-api-key",
    "model": "gpt-4",
    "baseUrl": "https://api.openai.com/v1"
  },
  "timezone": "Asia/Shanghai",
  "outputDir": "./reports",
  "redact": {
    "enabled": true,
    "patterns": [
      "sk-[a-zA-Z0-9]{20,}",
      "ghp_[a-zA-Z0-9]{36}",
      "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"
    ]
  }
}

🔒 Security & Privacy

Daily Vibe includes built-in data redaction to protect sensitive information:

  • API Keys: OpenAI, GitHub, AWS, etc.
  • Tokens: JWT tokens, access tokens
  • URLs: Internal URLs, database connections
  • IP Addresses: IPv4 and IPv6 addresses
  • Email Addresses: Personal and work emails
  • File Paths: System paths that might contain usernames

You can customize redaction patterns in the configuration file or disable redaction entirely with --no-redact.

🧩 Supported Data Sources

Claude Code

  • Project session files: ~/.claude/projects/**/*.jsonl
  • All conversation history and tool usage

Codex CLI

  • Active sessions: ~/.codex/sessions/**/*.jsonl
  • Conversation history: ~/.codex/history/**/*.jsonl

SpecStory

  • History files: **/.specstory/history/**/*.{md,jsonl}
  • Markdown conversation logs

VS Code Extensions

  • Codex/ChatGPT extension data from VS Code global storage
  • Platform-specific paths (macOS, Linux, Windows)

🎯 Use Cases

  • Daily Standups: Generate comprehensive development summaries
  • Knowledge Management: Build a searchable database of solutions
  • Code Review Prep: Identify key changes and decisions
  • Learning Tracking: Monitor skill development and problem-solving patterns
  • Team Sharing: Document best practices and common pitfalls
  • Project Documentation: Auto-generate development logs

🛠️ Development

If you want to contribute to Daily Vibe or run it from source:

Prerequisites

  • Node.js >= 18.0.0
  • pnpm (recommended) or npm

Setup from Source

git clone https://github.com/AoWangg/daily-vibe.git
cd daily-vibe
pnpm install
pnpm run build

# Link for local development
npm link

Testing

pnpm test
pnpm run lint

🔄 Updates

Keep Daily Vibe up to date:

# Update to latest version
npm update -g daily-vibe

# Check current version
daily-vibe --version

🗑️ Uninstallation

To remove Daily Vibe:

# Uninstall globally
npm uninstall -g daily-vibe

# Or with yarn
yarn global remove daily-vibe

# Or with pnpm
pnpm remove -g daily-vibe

📝 License

MIT License - see LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

🐛 Issues

If you encounter any issues or have feature requests, please file them in the GitHub Issues.

🙏 Acknowledgments