Welcome to the RepoWiki wiki

The feature-by-feature encyclopedia of RepoWiki, generated from commit 3993d10. 22 articles.

About RepoWiki

RepoWiki is a system that generates Wikipedia-style wiki articles documenting a git repository's architecture, features and contributors using large language models. It is for software teams and maintainers who want to understand a codebase's structure and history without reading source code directly, and it solves the problem of keeping documentation synchronized with code changes. RepoWiki analyzes the repository's structure, clusters related files, generates feature pages and contributor biographies, detects when code changes make claims stale, and updates the wiki to stay current.

(Full article...)

Repository storage is the subsystem of RepoWiki that persists the repository's wiki articles, metadata and supporting data in a SQLite database, and exports it as JSON for the site to consume. It manages schema migrations, validates data on write, stores multiple article revisions with parent tracking, and enforces consistency rules such as refusing duplicate revisions or stale parent references.

(Full article...)

Did you know...

  • ... that ghRunner() spawns the gh command with a timeout of 60 seconds and an output limit of 32 MiB, stopping execution if either is exceeded and returning a failure reason? (GitHub integration)
  • ... that resolveOutPath() validates the output path by checking that it is not a symlink or directory, canonicalizes its parent directory and basename separately to avoid following symlinks in the final segment, and returns null if the path lies inside the repository's enclosing git work tree or if any error occurs? (Indexing CLI)
  • ... that issue tracking provides a way to declare a project's issues and labels in a seed file and synchronize them to GitHub, creating features (F-series), milestones (M-series), and tasks in a deterministic order? (Issue tracking)
  • ... that codeAliases() scans feature files with linear-time patterns to extract routes (Flask and Express decorators), SQL table names, environment variables and Click or Typer commands, deduplicating across features and filtering out identifiers another feature shares or that collide with feature names? (Link verification)
  • ... that requests made in the same event loop tick are grouped into one Message Batch, which the Anthropic API bills at half price, reducing costs for concurrent calls? (LLM integration)

Recently updated

Feature map

flowchart LR
  n0["Client utilities"]
  n1["Command-line tools"]
  n2["Continuous integration"]
  n3["Core data model"]
  n4["Evaluation framework"]
  n5["File clustering"]
  n6["GitHub integration"]
  n7["In-flight tracking"]
  n8["Indexing CLI"]
  n9["Issue tracking"]
  n10["Link verification"]
  n11["LLM integration"]
  n12["Manifest generation"]
  n13["People management"]
  n14["Project configuration"]
  n15["Query interface"]
  n16["Repository indexing"]
  n17["Repository storage"]
  n18["Site articles"]
  n19["Site rendering"]
  n20["Wiki freshness"]
  n21["Wiki writing"]
  n0 --- n19
  n1 --- n10
  n1 --- n11
  n1 --- n12
  n1 --- n13
  n1 --- n16
  n1 --- n17
  n1 --- n20
  n1 --- n21
  n1 --- n3
  n1 --- n4
  n1 --- n5
  n1 --- n6
  n1 --- n7
  n1 --- n8
  n10 --- n11
  n10 --- n17
  n10 --- n20
  n10 --- n21
  n11 --- n12
  n11 --- n13
  n11 --- n17
  n11 --- n20
  n11 --- n21
  n12 --- n13
  n12 --- n16
  n12 --- n17
  n12 --- n20
  n12 --- n21
  n13 --- n16
  n13 --- n17
  n13 --- n21
  n15 --- n16
  n16 --- n17
  n16 --- n20
  n16 --- n21
  n17 --- n20
  n17 --- n21
  n18 --- n19
  n20 --- n21
  n3 --- n10
  n3 --- n11
  n3 --- n12
  n3 --- n13
  n3 --- n15
  n3 --- n16
  n3 --- n17
  n3 --- n18
  n3 --- n19
  n3 --- n20
  n3 --- n21
  n3 --- n4
  n3 --- n5
  n3 --- n6
  n3 --- n7
  n4 --- n11
  n4 --- n15
  n4 --- n16
  n4 --- n19
  n5 --- n10
  n5 --- n12
  n5 --- n16
  n5 --- n20
  n5 --- n21
  n5 --- n7
  n6 --- n16
  n6 --- n7
  n7 --- n10
  n7 --- n11
  n7 --- n12
  n7 --- n15
  n7 --- n16
  n7 --- n17
  n7 --- n18
  n7 --- n19
  n7 --- n20
  n7 --- n21
  click n0 "/wiki/repowiki/wiki/client-utilities/"
  click n1 "/wiki/repowiki/wiki/command-line-tools/"
  click n2 "/wiki/repowiki/wiki/continuous-integration/"
  click n3 "/wiki/repowiki/wiki/core-data-model/"
  click n4 "/wiki/repowiki/wiki/evaluation-framework/"
  click n5 "/wiki/repowiki/wiki/file-clustering/"
  click n6 "/wiki/repowiki/wiki/github-integration/"
  click n7 "/wiki/repowiki/wiki/in-flight-tracking/"
  click n8 "/wiki/repowiki/wiki/indexing-cli/"
  click n9 "/wiki/repowiki/wiki/issue-tracking/"
  click n10 "/wiki/repowiki/wiki/link-verification/"
  click n11 "/wiki/repowiki/wiki/llm-integration/"
  click n12 "/wiki/repowiki/wiki/manifest-generation/"
  click n13 "/wiki/repowiki/wiki/people-management/"
  click n14 "/wiki/repowiki/wiki/project-configuration/"
  click n15 "/wiki/repowiki/wiki/query-interface/"
  click n16 "/wiki/repowiki/wiki/repository-indexing/"
  click n17 "/wiki/repowiki/wiki/repository-storage/"
  click n18 "/wiki/repowiki/wiki/site-articles/"
  click n19 "/wiki/repowiki/wiki/site-rendering/"
  click n20 "/wiki/repowiki/wiki/wiki-freshness/"
  click n21 "/wiki/repowiki/wiki/wiki-writing/"
Each box is an article; a line joins two articles when code in one calls or imports code in the other.

All articles lists every article as text.