A tool for analyzing repositories to help forward deployed engineers quickly understand customer codebases and configure coding agents effectively.
Problem: Configuring coding agents on a codebase requires deep understanding of the codebase and its various systems. Forward deployed engineers need to get up to speed ASAP.
Solution: Create a briefing document tool that summarizes the codebase to help deployed engineers get up to speed.
Approach:
- Summarize and extract learnings from all files
- Use agglomerative clustering to combine the learnings
- Generate comprehensive briefing documents
Note: While the initial goal was to provide enough information to configure agents, findings suggest empowering businesses to configure agents themselves may be a better approach.
This project uses Poetry for dependency management. To install:
# Install Poetry if you haven't already
curl -sSL https://install.python-poetry.org | python3 -
# Install dependencies
poetry install
# Install Jupyter Notebooks (required for running examples)
pip install jupyter
The main functionality is provided through a Jupyter notebook located at notebooks/create_briefing_doc.ipynb
. This notebook demonstrates the process of:
- Loading a repository (currently supports zipped repos)
- Chunking the codebase
- Analyzing files/directories to summarize and extract facts
- Creating the final briefing document
The notebooks
directory contains preloaded outputs for:
- LibreOffice codebase
- Transformers package
These examples include file-by-file codebase summaries and are intermediate steps to using the briefing doc notebook.
This project uses several development tools:
- pytest: For running tests (
poetry run pytest
)
.
├── notebooks/
│ └── create_briefing_doc.ipynb # Main notebook for creating briefing docs
├── repo_analyzer/ # Core package code
├── tests/ # Test suite
├── poetry.lock # Lock file for dependencies
└── pyproject.toml # Project configuration
MIT