Go to file
2025-08-27 16:08:39 -07:00
github_issues_md [add] Init 2025-08-27 16:08:39 -07:00
pyproject.toml [add] Init 2025-08-27 16:08:39 -07:00
README.md [add] Init 2025-08-27 16:08:39 -07:00

GitHub Issues to Markdown

A command-line tool that downloads all issues from a GitHub repository and compiles them into a single markdown file with token counting.

Prerequisites

  • Python 3.8 or higher
  • GitHub CLI (gh) installed and authenticated
  • Poetry (recommended) or pip

Installation

# Clone or download the project
cd github-issues-md

# Install dependencies
poetry install

# The script will be available as 'github-issues-md'

Using Pip

# From the repo
pip3 install git+https://git.laziness.rocks/PootisPenserHere/github-issues-md.git
# Clone or download the project
cd github-issues-md

# Install the package
pip3 install .

# Or install in development mode
pip3 install -e .

Setup GitHub CLI

Make sure GitHub CLI is installed and authenticated:

# Install GitHub CLI (if not already installed)
# On macOS: brew install gh
# On Ubuntu: sudo apt install gh
# On Windows: winget install GitHub.cli

# Authenticate with GitHub
gh auth login

Usage

# Basic usage with repository format
github-issues-md owner/repo

# Using full GitHub URL
github-issues-md https://github.com/owner/repo

# Filter by date range
github-issues-md owner/repo --after 2023-01-01 --before 2023-12-31

# Limit number of issues
github-issues-md owner/repo --limit 10

# Filter by state (open, closed, all)
github-issues-md owner/repo --state open

# Combine filters
github-issues-md owner/repo --after 2023-06-01 --limit 5 --state closed

# Save to file
github-issues-md owner/repo > issues.md

Options

  • repo: GitHub repository (required) - can be owner/repo format or full GitHub URL
  • --before DATE: Only issues created before this date (YYYY-MM-DD format)
  • --after DATE: Only issues created after this date (YYYY-MM-DD format)
  • --limit N: Maximum number of issues to fetch
  • --state STATE: Issue state to filter by (open, closed, all) - default: all

Output

The tool outputs a markdown file to stdout containing:

  • Repository information and generation metadata
  • Each issue with its title, author, state, dates, and description
  • All comments for each issue with author and timestamp
  • Token count at the end using tiktoken

Each issue and its discussions are clearly separated with markdown headers and horizontal rules.

Examples

# Get all issues from a popular repository
github-issues-md microsoft/vscode > vscode-issues.md

# Get only open issues from the last 30 days
github-issues-md facebook/react --after 2023-11-01 --state open

# Get the latest 20 issues
github-issues-md owner/repo --limit 20

Development

# Install in development mode
poetry install

# Run tests
poetry run pytest

# Format code
poetry run black .
poetry run isort .