
## Problem Understanding an unfamiliar codebase is a major part of developer onboarding. Before making changes, developers often need to manually explore directories, inspect source files, trace imports, understand test relationships, and review Git history to determine how a project is structured and which parts are important. As repositories become larger or more unfamiliar, this process becomes increasingly time-consuming. Important relationships between files can be difficult to discover by reading files individually, while understanding the project's history and frequently changed areas requires additional investigation. This can lead to unnecessary exploration and rework before a developer can confidently contribute. ## Solution **GitHub-DNA** is a local-first developer onboarding tool that turns a Python Git repository into an interactive visual map of its structure, dependencies, and development history. A developer provides the path to a local Git repository or the GitHub repo URL, and GitHub-DNA: 1. Scans and classifies repository files into categories such as source, test, documentation, and configuration. 2. Parses Python imports using the standard-library AST module to identify relationships between files within the repository. 3. Analyzes Git history to identify commit activity, frequently changed files, and contributor information. 4. Builds a directed dependency graph and calculates repository-level metrics. 5. Presents the results through an interactive web interface where developers can explore the codebase visually. 6. Allows individual files to be selected to view their metadata, dependencies, and related files. Instead of requiring developers to reconstruct the repository structure entirely through manual exploration, the interactive graph provides a visual overview of how files are connected. Repository metrics and Git history provide additional context about the project's structure and areas of activity. GitHub-DNA is designed to help developers form an initial mental model of an unfamiliar Python codebase with less manual exploration and reduce the effort involved in understanding where different parts of a project fit together. The project is intentionally requires no authentication, database, or cloud service. Repositories can be analyzed directly on the developer's machine.
27 Sep 2026