Skip to main content

Crate githubdw

Crate githubdw 

Source
Expand description

§githubdw

A local, SQLite-based data warehouse for GitHub repositories.

githubdw syncs pull requests (with reviews, comments, file diffs, and check runs) and issues (with labels, milestones, and comments) from GitHub into a star-schema SQLite database, then provides querying, metrics, fulltext search (FTS5 trigram), and an MCP server for AI assistants.

Data is fetched via the gh CLI as a subprocess, so authentication is entirely delegated to gh auth. GitHub Enterprise works via GH_HOST.

Re-exports§

pub use error::Error;
pub use error::Result;
pub use period::Period;
pub use query::PrState;
pub use query::QueryBuilder;

Modules§

error
Error types for githubdw.
fetch
Fetch layer: runs the gh CLI as a subprocess and decodes JSON.
groups
Custom local groups of users or repositories.
mcp
MCP server (stdio): exposes the warehouse to AI assistants via rmcp.
metrics
MetricsEngine: period-over-period analytics over the star schema.
period
The Period type: every time filter and metric window.
query
Fluent QueryBuilder: chainable filters compiled into parameterized SQL.
search
Fulltext search over PRs, issues, and comments (FTS5 trigram).
storage
Storage layer: schema/migrations and repositories over rusqlite.
sync
Sync orchestration: fetch pages via gh, upsert into the warehouse, stream progress, and record incremental coverage.

Structs§

GithubDW
Facade over the warehouse: opens the database, applies migrations, and exposes the library API surface.