Skip to content

Lionad-Morotar/project-river

Repository files navigation

Project River

English | 中文

Project River - See how your codebase evolved, contributor by contributor | Product Hunt

Renders Git repository contributor activity as a time-flowing Streamgraph, helping you quickly assess project health, identify core contributors, and understand the evolution rhythm of a codebase.

landing

Features

  • Streamgraph Visualization — D3-powered Streamgraph with zoom, brush navigation, and contributor highlighting
  • Project Health Signals — Automatically analyzes Git history to surface actionable insights such as contribution concentration and activity trends
  • Event Timeline — Detects key milestones, core contributor changes, and other significant events
  • Light & Dark Themes — Theme switching, configurable color schemes, and i18n (中文 / English)

project-detail

Agent Analysis (Experimental)

The built-in AI agent can analyze project contributor patterns and generate narrative summaries based on the Streamgraph data.

agent

Note: The agent feature is still in early exploration — capabilities have not yet been fully realized and will continue to evolve.

Live Demo

Visit the GitHub Pages demo.

The online version is a static deployment showcasing pre-built demo data. To analyze your own repositories, follow the local setup below.

Local Setup

Prerequisites

  • Node.js ≥ 20 (ESM support required)
  • pnpm ≥ 9
  • Docker (for running PostgreSQL)
  • Git (needed when analyzing target repositories)
  • Bun (for running the CLI analysis script)

1. Start the Database

docker compose up -d

This starts two containers:

Service Port Purpose
PostgreSQL 16 5432 Primary database
pgAdmin 4 5050 Database management UI (optional)

2. Configure Environment Variables

Create a .env file in the project root:

DATABASE_URL=postgresql://postgres:postgres@localhost:5432/river
NUXT_AGENT_LLM_API_KEY=sk-xxx
NUXT_AGENT_LLM_BASE_URL=https://api.deepseek.com/anthropic

NUXT_AGENT_LLM_API_KEY is required to enable the Agent Analysis feature. NUXT_AGENT_LLM_BASE_URL defaults to Anthropic's API if omitted.

3. Install Dependencies & Run Migrations

pnpm install
pnpm db:migrate

4. Start the Dev Server

pnpm dev

Open http://localhost:10400 and you're ready to go.

5. Analyze a Repository

Add new projects via the web UI, or use the CLI to import and analyze Git repositories:

# Analyze a local repository
bun packages/pipeline/src/cli.ts /path/to/repo owner/repo

# Incremental update for an existing project
bun packages/pipeline/src/cli.ts /path/to/repo owner/repo --incremental

# Force a full re-analysis
bun packages/pipeline/src/cli.ts /path/to/repo owner/repo --force

Refresh the page after analysis completes to see the Streamgraph.

Tech Stack

  • Frontend — Nuxt 4 · Vue 3 · TypeScript · Tailwind CSS v4
  • Visualization — D3.js (Streamgraph · Brush · Zoom)
  • Database — PostgreSQL 16 · Drizzle ORM
  • Package Manager — pnpm workspace monorepo
  • Static Deploy — Columnar-compressed .bin format + pako decompression

Roadmap

  • Agent Analysis (Working) — Feed commit-derived timeline & milestone data into deep-research agents for automated project summaries
  • AI-Native Architecture — MCP servers and Claude Skills for first-class agent interoperability
  • Zero-config CLInpx @lionad/project-river inside any local repo to analyze and launch the Web UI instantly
  • More Dimensions — AI code percentage, 24-hour commit radar, code-churn heatmap, and other insightful metrics

License

Business Source License 1.1 — Free for personal use; commercial use requires authorization.

Automatically converts to the MIT license on 2029-01-01.

Acknowledgements

  1. Inspired by The Git Distributed Version Control System.

  2. What's fascinating about this project: after polishing the design doc, I handed it to kimi-k2.6-code-preview. No agent teams, no ralph — with the help of GSD, it ran for four and a half hours straight, made 96 commits, and shipped a demo. The full kimi-k2.6 is theoretically even stronger than the preview; the official blog claims agents can work over 24 hours on a project, which is no exaggeration. I believe prompt engineering and SDD methodology still have much untapped potential as agentic long-task-optimized models take over project bootstrapping.

About

Read the pulse of a project through the rhythm of its code flow. 从代码流动的节奏中,读懂一个项目的生命力。

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages