ahmedkhaleel2004 / gitdiagram
- понедельник, 31 марта 2025 г. в 00:00:01
Free, simple, fast interactive diagrams for any GitHub repository
Turn any GitHub repository into an interactive diagram for visualization in seconds.
You can also replace hub
with diagram
in any Github URL to access its diagram.
I created this because I wanted to contribute to open-source projects but quickly realized their codebases are too massive for me to dig through manually, so this helps me get started - but it's definitely got many more use cases!
Given any public (or private!) GitHub repository it generates diagrams in Mermaid.js with OpenAI's o3-mini! (Previously Claude 3.5 Sonnet)
I extract information from the file tree and README for details and interactivity (you can click components to be taken to relevant files and directories)
Most of what you might call the "processing" of this app is done with prompt engineering - see /backend/app/prompts.py
. This basically extracts and pipelines data and analysis for a larger action workflow, ending in the diagram code.
You can simply click on "Private Repos" in the header and follow the instructions by providing a GitHub personal access token with the repo
scope.
You can also self-host this app locally (backend separated as well!) with the steps below.
git clone https://github.com/ahmedkhaleel2004/gitdiagram.git
cd gitdiagram
pnpm i
cp .env.example .env
Then edit the .env
file with your Anthropic API key and optional GitHub personal access token.
docker-compose up --build -d
Logs available at docker-compose logs -f
The FastAPI server will be available at localhost:8000
chmod +x start-database.sh
./start-database.sh
When prompted to generate a random password, input yes.
The Postgres database will start in a container at localhost:5432
pnpm db:push
You can view and interact with the database using pnpm db:studio
pnpm dev
You can now access the website at localhost:3000
and edit the rate limits defined in backend/app/routers/generate.py
in the generate function decorator.
Contributions are welcome! Please feel free to submit a Pull Request.
Shoutout to Romain Courtois's Gitingest for inspiration and styling
I am currently hosting it for free with no rate limits though this is somewhat likely to change in the future.