repowiserepowise
Sign in
cenkalti/rain
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisecenkalti/rain
RA
RA

cenkalti / rain

🌧 BitTorrent client and library in Go

Goβ˜… 1,146
Use in your agentAsk this codebase

github.com/cenkalti/rainΒ·Indexed at 697380fΒ·24d agoΒ·Up to date with upstream

About this codebase

Rain is a BitTorrent client that ingests torrent metadata and download targets (e.g., .torrent files or magnet links/trackers), runs protocol interactions through a layered session (tracker/DHT/PEX/webseeds, handshakes, piece selection, and resource management), and outputs persistent resume state plus the assembled files while exposing a JSON-RPC 2.0 control surface and an interactive console UI. In practice, developers or operators use `rain` to start the server, add torrents, monitor progress, and control downloads via CLI or RPC; if no config is present, Rain uses defaults with the default config location `~/rain/config.yaml`.

Written by gpt-5.4-nano from the index

248 files and 1,536 symbols in 4 modules, written in Go.

Start reading

  • Knowledge graph248 files and how they depend on each other.β†’
  • UDP Tracker ProtocolDocumentationDocumentation for internal/tracker/udptracker, written by gpt-5.4-nano.β†’
  • Contributors4 people: who owns what, and where one person holds most of the knowledge.β†’

Code health

6.9out of 10Fair

This codebase scores 6.9 out of 10 for code health, which we rate fair. It also scores maintainability 7.8 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 2 of 248 files are git hotspots, and they average 5.2 β€” which is where the fixes pay off most.

Full health report β†’

On the leaderboards:#8 of 19 Go repos

Do next

Nothing stands out in the week to Aug 23, the last indexed commit.

Improve what Repowise can see

  • Add a test coverage report

    Without one, Repowise cannot tell tested code from untested code, so every test-related action says β€œunknown”.

    line coverage
    Unknown, no report
    Small effort
All actions in the Overview β†’

Use cenkalti/rain in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

https://api.repowise.dev/mcp/cenkalti/rain

One command, run anywhere. Adds the server to your local Claude Code config.

Docs
bash
claude mcp add --transport http repowise https://api.repowise.dev/mcp/cenkalti/rain \
  --header "Authorization: Bearer rw_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
The snippet shows a placeholder key. Generate one to get a copyable secret.
Sign in and create an API key to connect.Sign in

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is rain put together?")
  • get_why("why is rain structured this way?")

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.

Go deeper

  • OverviewEverything the index found, what changed this week, commits and decisions.β†’
  • DocumentationModule-by-module documentation, 344 pages, 17 written by a model.β†’
  • ArchitectureDependency graph, layers and third-party dependencies.β†’
  • Code healthEvery file's score, the findings behind it, tests and refactoring plans.β†’
  • CommitsEach commit's effect on code health, with agent provenance.β†’
  • ContributorsWho owns what, and where one person holds most of the knowledge.β†’
  • DecisionsArchitectural decisions mined from commits and pull requests.β†’
  • Ask this codebaseSign inGrounded answers over the indexed code.β†’

Maintain this repo? Claim the page

Sign in with GitHub and we check that you are an admin or maintainer of cenkalti/rain. Then add a badge to the README that links readers here.

Use this repo from Claude or ChatGPT

Add this URL as a custom connector and sign in with repowise when asked. No API key to copy.

https://api.repowise.dev/mcp/cenkalti/rain
Sign up to connect

For maintainers

Add a badge to your README

Every badge is public, cached, and updates on its own after every index. Nothing to install.

Repowise badge

Links to this page, with no score on it. Adding it also re-indexes the repo every week.

Repowise badge preview
[![repowise.dev](https://api.repowise.dev/badge/wiki/cenkalti/rain.svg)](https://repowise.dev/repo/cenkalti/rain?src=badge_wiki)

Code health badge

The repo's health score out of 10, from the latest index.

Code health badge preview
[![repowise.dev code health](https://api.repowise.dev/badge/health/cenkalti/rain.svg)](https://repowise.dev/repo/cenkalti/rain?src=badge_health)

Code health card

A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.

Code health card preview
[![repowise.dev code health](https://api.repowise.dev/badge/health/cenkalti/rain.svg?style=card)](https://repowise.dev/repo/cenkalti/rain?src=badge_card)

How cenkalti/rain works

🌧 BitTorrent client and library in Go This page is a map of the cenkalti/rain repository, written primarily in Go, rebuilt from the source each time it is indexed. Repowise parses every symbol, computes a dependency graph, scores per-file code health from complexity, duplication, test coverage and churn, mines git history for hotspots and ownership, and lifts the architectural decisions into documentation you can read here or query through MCP.

The codebase has 248 files and 1,536 symbols in 4 modules, led by Go. Code health is 6.9 out of 10, rated fair.

Use the links above to open each view, or connect this repository to your agent for grounded answers inside Claude, Cursor, Codex or VS Code.