Skip to content

kalinichenko88/ai-digest

Repository files navigation

ai-digest.news

CI GitHub Release

Automated morning tech news digest powered by Claude Code + MCP.

What it does

Runs daily, collects tech news from RSS feeds and GitHub releases, then uses Claude to summarize everything into a personalized Markdown digest.

Installation

Quick Install

curl -sL https://github.com/kalinichenko88/ai-digest/releases/latest/download/install.sh | bash

Manual Install

  1. Download the latest release from GitHub Releases
  2. Unpack: tar -xzf ai-digest-v*.tar.gz
  3. Run: cd ai-digest && ./install.sh

Updating

./run.sh update

Prerequisites

Quick Start

1. Clone and configure

git clone https://github.com/kalinichenko88/ai-digest.git
cd ai-digest
cp .env.example .env

2. Pull the Docker image

docker pull ghcr.io/kalinichenko88/ai-digest

Or build locally:

docker build -t ghcr.io/kalinichenko88/ai-digest .

3. Configure sources

Edit config/sources.yml to customize your news sources. Or use /add-source in Claude Code to add sources interactively.

4. Configure delivery

Edit config/delivery.yml:

language: en          # digest language (en, ru, etc.)
output_path: ~/digests  # where to save digest files
notification: true      # macOS notification when done

Tip: Set output_path to a folder inside your Obsidian vault (e.g. ~/Obsidian/Digests) to read digests directly in Obsidian. If you have Obsidian Sync enabled, digests will be available on all your devices.

5. Set up personal context

Edit CLAUDE.md with your stack, active projects, and interests. This personalizes the "Relevant to Your Projects" section.

6. Run

./scripts/run.sh

7. Scheduling

ai-digest does not include a built-in scheduler — it runs once and exits. To get daily digests, set up scheduling yourself.

macOS — Shortcuts Automation (recommended):

  1. Open Shortcuts app
  2. Create new Automation → Time of Day (e.g. 8:00 AM)
  3. Add "Run Shell Script" action
  4. Set shell to /bin/bash
  5. Paste:
export PATH="$HOME/.local/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
cd /path/to/ai-digest
./run.sh

Note: Apple Shortcuts runs with a minimal PATH. The export PATH line adds Homebrew (/opt/homebrew/bin) and Claude Code ($HOME/.local/bin) so that claude and docker are found.

Linux / macOS — cron:

# Run every day at 8:00 AM
0 8 * * * /path/to/ai-digest/run.sh

GitHub Token (optional)

Without a token, GitHub API allows 60 requests/hour. With a token: 5,000 requests/hour.

  1. Create a token at https://github.com/settings/tokens (no scopes needed for public repos)
  2. Add to .env:
GITHUB_TOKEN=ghp_your_token_here

Usage

# Run digest
./scripts/run.sh

# Add a source interactively (in Claude Code)
/add-source

# Validate sources config (in Claude Code)
/validate-sources

# View latest digest
cat "$(ls -1t ~/digests/*.md | head -1)"

# Check logs
tail -f logs/$(date +%Y-%m-%d).md

Development

For local development without Docker:

# Install dependencies
npm install

# Build MCP server
npm run build

# Watch mode (rebuild on changes)
npm run dev

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Lint and format
npx @biomejs/biome check --write src/

Releasing

Use the /release skill in Claude Code to create a new release:

/release 1.2.0

This bumps the version in package.json, generates a changelog, creates a git tag, and publishes a GitHub Release.

Native MCP Server

To use the native MCP server (without Docker), update .claude/settings.json:

{
  "mcpServers": {
    "ai-digest-mcp": {
      "command": "node",
      "args": ["dist/mcp-server.js"]
    }
  }
}

Project Structure

├── Dockerfile              # Multi-stage Docker build
├── biome.json              # Biome linter/formatter config
├── src/                    # MCP server source
│   ├── mcp-server.ts       # Server entry point
│   ├── tools/              # Collection tools
│   └── types.ts            # Shared types
├── config/                 # Configuration
│   ├── sources.yml         # News sources
│   └── delivery.yml        # Output settings
├── .claude/skills/         # Claude Code skills
│   ├── ai-digest/          # /ai-digest — run the full digest pipeline
│   ├── add-source/         # /add-source — add a new source interactively
│   └── validate-sources/   # /validate-sources — validate config & check URLs
├── .github/workflows/      # CI/CD
│   └── ci.yml              # Quality checks + Docker + release pipeline
├── scripts/run.sh          # Entry point
├── .env.example            # Environment variables template
└── CLAUDE.md               # Personal context

About

Automated daily tech news digest powered by Claude Code + MCP. Collects RSS feeds and GitHub releases, deduplicates, and summarizes into a personalized Markdown digest.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors