Convert roadmaps to GitHub issues
Project description
Gitscaffold – Roadmaps to GitHub Issues
Gitscaffold is a command-line tool and GitHub Action that converts structured roadmap files (YAML/JSON) into GitHub issues and milestones.
Installation:
pip install gitscaffold
CLI Usage
As an installed package
After installing, the gitscaffold command is available:
# Create GitHub issues from a roadmap file
gitscaffold create ROADMAP.yml --repo owner/repo --token $GITHUB_TOKEN
# Validate without creating issues (dry run)
gitscaffold create ROADMAP.yml --repo owner/repo --token $GITHUB_TOKEN --dry-run
Initialize a roadmap template
# Generate an example roadmap file
gitscaffold init example-roadmap.yml
From the source checkout
You can also clone this repository and use the top-level gitscaffold.py script for additional commands:
# Setup GitHub labels, milestones, and (optionally) a project board
./gitscaffold.py setup owner/repo --phase phase-1 --create-project
# Delete all closed issues in a repository
./gitscaffold.py delete-closed owner/repo
# Use GraphQL API for deletion
./gitscaffold.py delete-closed owner/repo --api
# Enrich a single issue or batch enrich via LLM
./gitscaffold.py enrich owner/repo --issue 123 --path ROADMAP.md --apply
./gitscaffold.py enrich owner/repo --batch --path ROADMAP.md --csv output.csv --interactive
# Initialize a new roadmap YAML template
./gitscaffold.py init ROADMAP.yml
# Import issues from an unstructured markdown file (requires OpenAI key)
# Dry-run with inline enrichment
OPENAI_API_KEY=<your-openai-key> gitscaffold import-md owner/repo path/to/file.md --heading 2 --dry-run
# Create enriched issues
OPENAI_API_KEY=<your-openai-key> gitscaffold import-md owner/repo path/to/file.md --heading 2
For detailed documentation and examples, see the project repository or run:
gitscaffold --help
GitHub Action Usage
Use Gitscaffold as a GitHub Action in your workflow (e.g., .github/workflows/sync-roadmap.yml):
name: Sync Roadmap to Issues
on:
workflow_dispatch:
jobs:
scaffold:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run Scaffold
uses: your-org/gitscaffold-action@v0.1.0
with:
roadmap-file: roadmap.yml
repo: ${{ github.repository }}
github-token: ${{ secrets.GITHUB_TOKEN }}
dry-run: 'false'
See docs/integration_test.md for a quick sandbox recipe for CLI and GitHub Action integration tests.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitscaffold-0.1.2.tar.gz.
File metadata
- Download URL: gitscaffold-0.1.2.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f95e86eefe7363a582d8f1b7c34366f062fcb8d746eb15d5e9c3337d01f921ba
|
|
| MD5 |
374a4e01b05aa6ce89a904533d7bc3b7
|
|
| BLAKE2b-256 |
4aa647e539fb955ce94f141ba5f1311a38fd55d74dd09d08e2a2303d6261672d
|
File details
Details for the file gitscaffold-0.1.2-py3-none-any.whl.
File metadata
- Download URL: gitscaffold-0.1.2-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe9157c530ff0acad004f91e7b956b4ad0bd222e8baaab5f951bce78afdfd2c2
|
|
| MD5 |
74dbb65c20422ce432e81e95b69c229a
|
|
| BLAKE2b-256 |
b27014de9fe995fa5ae577699674fbcc40c26ed917907998e20dcf4c20693270
|