English | 中文
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.
- 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)
The built-in AI agent can analyze project contributor patterns and generate narrative summaries based on the Streamgraph data.
Note: The agent feature is still in early exploration — capabilities have not yet been fully realized and will continue to evolve.
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.
- 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)
docker compose up -dThis starts two containers:
| Service | Port | Purpose |
|---|---|---|
| PostgreSQL 16 | 5432 |
Primary database |
| pgAdmin 4 | 5050 |
Database management UI (optional) |
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_KEYis required to enable the Agent Analysis feature.NUXT_AGENT_LLM_BASE_URLdefaults to Anthropic's API if omitted.
pnpm install
pnpm db:migratepnpm devOpen http://localhost:10400 and you're ready to go.
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 --forceRefresh the page after analysis completes to see the Streamgraph.
- 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
.binformat + pako decompression
- 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 CLI —
npx @lionad/project-riverinside 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
Business Source License 1.1 — Free for personal use; commercial use requires authorization.
Automatically converts to the MIT license on 2029-01-01.
-
Inspired by The Git Distributed Version Control System.
-
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.


