Skip to main content

Generate a human-readable brief for any GitHub repository using Claude AI

Project description

devbrief

Generate a human-readable project brief for any GitHub repository using Claude AI.

devbrief takes a GitHub URL, pulls the repository metadata, README, and file tree, then asks Claude to produce a structured brief — covering what the project does, its tech stack, how to get started, and its limitations — directly in your terminal.


Installation

pip

pip install devbrief

uvx (run without installing)

uvx devbrief <github-url>

uv (install globally)

uv tool install devbrief

Prerequisites

An Anthropic API key is required.

export ANTHROPIC_API_KEY=sk-ant-...

Or place it in a .env file at your working directory:

ANTHROPIC_API_KEY=sk-ant-...

Usage

devbrief <github-url> [--output FILE]

Examples

# Print the brief to the terminal
devbrief https://github.com/anthropics/anthropic-sdk-python

# Save the brief as a markdown file
devbrief https://github.com/astral-sh/uv --output uv-brief.md

Options

Option Short Description
--output FILE -o Save the brief as a markdown file
--help Show usage and exit

Output sections

Each generated brief contains:

  • One-line description — a crisp summary of the project
  • Problem it solves — the core need being addressed
  • Tech stack — detected languages, frameworks, and tools
  • Getting started — steps extracted from the README
  • Who would find it useful — the target audience
  • Limitations / potential improvements — honest trade-offs

How it works

GitHub URL
    │
    ├── /repos/:owner/:repo        → name, description, stars, language, topics
    ├── /repos/:owner/:repo/readme → decoded README content (first 3000 chars)
    └── /repos/:owner/:repo/contents → top-level file tree
            │
            └── Structured prompt → Claude claude-opus-4-6 → Rich terminal output

Development

Requires uv.

git clone https://github.com/s3bc40/devbrief
cd devbrief
uv sync

Run locally

uv run devbrief https://github.com/s3bc40/devbrief

Run tests

uv run pytest

Tests cover URL parsing, GitHub API response mapping, edge cases (missing README, empty file tree), and Rich display output. No real API calls are made — all HTTP responses are mocked.

Project structure

src/devbrief/
├── main.py       # Click CLI entry point
├── github.py     # GitHub REST API fetchers
├── brief.py      # Prompt construction and Claude API call
└── display.py    # Rich terminal rendering
tests/
├── test_github.py
└── test_display.py

Contributing

  1. Fork the repository and create a branch from main.
  2. Make focused commits with explicit messages (one concern per commit).
  3. Add or update tests for any changed behaviour.
  4. Open a pull request — describe the problem and your solution.

Please do not open issues to ask for new AI providers or models; the project is intentionally scoped to the Anthropic API.


License

MIT — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devbrief-0.1.0.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devbrief-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file devbrief-0.1.0.tar.gz.

File metadata

  • Download URL: devbrief-0.1.0.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for devbrief-0.1.0.tar.gz
Algorithm Hash digest
SHA256 888568af1dc298b20582ad0a369bd2c135a6a83342840ff82ca338f67704580d
MD5 cb0c89aad3a85fabbff3db6cfc30c7e2
BLAKE2b-256 40467371644ce8898213719a47abab5bc13e05e72b21bee578936df20d55cff3

See more details on using hashes here.

File details

Details for the file devbrief-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: devbrief-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for devbrief-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec5aab55c9ef6356e6afba4ae03103c9c881df45cc58ed95c4e15e485642b628
MD5 7d248a778bbe8e392d10463859949b79
BLAKE2b-256 c7b204eb64ab28c2a6bfe77ed5bd893cc242734908cc23330ebd9ef0edb70dea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page