Skip to content

jamesnavinhill/changelog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Changelog

A continuously updated knowledge layer for LLMs — bridging the training cutoff gap.

Overview

Changelog fetches, synthesizes, and delivers curated knowledge updates from trusted sources, making it easy to keep LLMs informed about recent events without expensive retraining.

Features

  • 10 Source Adapters: Wikipedia, Hacker News, arXiv, Reuters, GitHub, TechCrunch, Product Hunt, WHO, PubMed, TLDR
  • Gemini Synthesis: Deduplicate, classify, summarize, and compress with AI
  • Quality Scoring: 0-100 score based on source reliability, freshness, and content depth
  • Tiered Output: 4k tokens (Tier 1), 16k tokens (Tier 2), or full archive
  • REST API: Query by domain, tier, quality, and date range
  • API Key Auth: Optional authentication with rate limiting and personalization
  • Usage Analytics: Track API usage and generate statistics
  • TypeScript SDK: Easy integration with typed responses

Quick Start

# Install dependencies
pnpm install

# Set up environment
cp .env.example .env
# Edit .env and add your GEMINI_API_KEY

# Run the pipeline
pnpm pipeline

API Endpoints

Endpoint Method Description
/api/changelog GET Main changelog endpoint
/api/changelog/[domain] GET Domain-specific (tech, business, science, health, politics)
/api/auth/register POST Register and get API key
/api/auth/validate GET Validate API key and check quota
/api/user/preferences GET/PUT Get/update user preferences
/api/analytics GET Usage analytics (admin only)

Query Parameters

Parameter Type Description
tier tier1 | tier2 | full Output tier (token budget)
domain string Filter: tech, business, science, health, politics
since ISO date Filter entries after this date
limit 1-100 Maximum entries to return
minQuality 0-100 Minimum quality score

Example Requests

# Get all entries
curl "https://changelog-api.vercel.app/api/changelog"

# Get tech news only
curl "https://changelog-api.vercel.app/api/changelog/tech"

# Get high-quality entries
curl "https://changelog-api.vercel.app/api/changelog?minQuality=70&limit=20"

# Register for an API key
curl -X POST "https://changelog-api.vercel.app/api/auth/register"

# Use authenticated requests
curl "https://changelog-api.vercel.app/api/changelog" \
  -H "Authorization: Bearer cl_xxx..."

Rate Limits

Tier Daily Limit Monthly Limit
Free 100 1,000
Pro 1,000 25,000
Enterprise Unlimited Unlimited

SDK Usage

Install the SDK:

npm install @changelog/sdk

Use in your code:

import { ChangelogClient } from '@changelog/sdk';

const client = new ChangelogClient('https://changelog-api.vercel.app');

// Get recent entries
const changelog = await client.getChangelog();

// Filter by domain
const techNews = await client.getByDomain('tech');

// Get high-quality entries
const quality = await client.getHighQuality(70);

Project Structure

main/
├── src/
│   ├── adapters/       # 10 source adapters
│   ├── middleware/     # Auth, rate limiting, analytics
│   ├── pipeline/       # Gemini synthesis pipeline
│   ├── storage/        # JSON/Markdown output
│   ├── types/          # TypeScript definitions
│   └── config/         # Environment & source config
├── api/                # Vercel API routes
│   ├── auth/           # Register, validate
│   ├── changelog/      # Domain-specific endpoints
│   └── user/           # Preferences
├── sdk/                # TypeScript SDK package
└── scripts/            # Backfill and utilities

Environment Variables

Variable Required Description
GEMINI_API_KEY Yes Google Gemini API key
ADMIN_API_KEY No Admin key for analytics endpoint
TIER No Output tier: tier1, tier2, full (default: tier2)

Source Adapters

Source Domain Description
Wikipedia All Current events portal
Hacker News Tech Top stories (>100 score)
arXiv Science AI/ML papers
Reuters Business Wire service news
GitHub Tech Trending repositories
TechCrunch Tech Startup & funding news
Product Hunt Tech New product launches
WHO Health Disease outbreak alerts
PubMed Health Trending research papers
TLDR Tech Newsletter summaries

Output Schema

{
  "version": "1.0.0",
  "generatedAt": "2026-01-07T00:00:00.000Z",
  "tokenCount": 3500,
  "entries": [
    {
      "id": "abc123",
      "domain": "tech",
      "importance": "major",
      "category": "Release",
      "title": "React 20 released with native signals",
      "summary": "...",
      "qualityScore": 85,
      "sourceUrl": "https://...",
      "sourceName": "hackernews",
      "publishedAt": "2026-01-06T00:00:00.000Z"
    }
  ]
}

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published