https://github.com/ryonakagami/github-issue-previewer
A lightweight tool to preview GitHub Issue templates from YAML in real-time with Jinja2 and Watchdog.
https://github.com/ryonakagami/github-issue-previewer
cli-tool command-line-tool github github-issues python uv uv-tool uvx yaml
Last synced: about 1 month ago
JSON representation
A lightweight tool to preview GitHub Issue templates from YAML in real-time with Jinja2 and Watchdog.
- Host: GitHub
- URL: https://github.com/ryonakagami/github-issue-previewer
- Owner: RyoNakagami
- License: mit
- Created: 2025-10-22T18:30:30.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-10-22T19:29:51.000Z (7 months ago)
- Last Synced: 2025-10-22T21:16:21.461Z (7 months ago)
- Topics: cli-tool, command-line-tool, github, github-issues, python, uv, uv-tool, uvx, yaml
- Language: HTML
- Size: 130 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GitHub Issue Previewer





A lightweight CLI tool that provides real-time preview of GitHub Issue templates (YAML) in your browser. Perfect for designing and testing issue templates before committing them to your repository.
## Features
- 🔄 Live preview with automatic reload when YAML changes
- 🎨 Authentic GitHub-style CSS theming
- 🌐 Local HTTP server with hot-reload capability
- ⚡ Fast and lightweight
- 🚀 Simple CLI interface
- 🔌 Custom browser support
## Installation
This project uses [uv](https://github.com/astral-sh/uv) for package management. Make sure you have uv installed first.
```bash
# Install using uv
uv tool install git+https://github.com/RyoNakagami/github-issue-previewer
# Uninstall if needed
uv tool uninstall github-issue-previewer
```
## Usage
Basic usage:
```bash
github-issue-previewer path/to/issue_template.yml [--port PORT] [--browser BROWSER_PATH]
```
### Arguments
- `yaml_file`: Path to your GitHub issue template YAML file (required)
- `--port`: Port number for the preview server (default: 8000)
- `--browser`: Custom browser path (optional)
### Example Usage
Given a feature request template like this:
```yaml
name: "Feature Request"
description: "Suggest a new feature or improvement"
title: "FEATURE: "
labels: [feature]
body:
- type: textarea
id: feature-goal
attributes:
label: "Feature Goal"
description: "Describe the new feature you want to see added."
validations:
required: true
```
Preview it with:
```bash
github-issue-previewer .github/ISSUE_TEMPLATE/feature_request.yml
```

This will:
1. Generate an HTML preview styled like GitHub
2. Open your default browser
3. Start watching for changes in the YAML file
4. Auto-refresh the preview whenever you edit the template
## How It Works
1. Reads your GitHub Issue template YAML file
2. Converts it to HTML using Jinja2 templates
3. Applies GitHub-style CSS theming
4. Serves the preview via a local HTTP server
5. Watches for file changes and triggers live reload
6. Updates the preview in real-time as you edit
## Requirements
- Python >=3.12
- [uv](https://github.com/astral-sh/uv) package manager
## Contributing
Contributions are welcome! For major changes:
1. Open an issue first to discuss proposed changes
2. Fork the repository
3. Create a feature branch
4. Submit a pull request
## License
MIT