Files
Charon/docs/issues/README.md
GitHub Actions 0196385345 feat: add docs-to-issues workflow for automated GitHub issue creation
- Add .github/workflows/docs-to-issues.yml to convert docs/issues/*.md to GitHub Issues
- Support YAML frontmatter for title, labels, priority, assignees, milestone
- Auto-create missing labels with predefined color scheme
- Support sub-issue creation from H2 sections (create_sub_issues: true)
- Move processed files to docs/issues/created/ to prevent duplicates
- Add dry-run and manual file selection workflow inputs
- Add _TEMPLATE.md with frontmatter documentation
- Add README.md with usage instructions
- Add implementation plan at docs/plans/docs_to_issues_workflow.md
2025-12-13 02:08:57 +00:00

86 lines
2.1 KiB
Markdown

# docs/issues - Issue Specification Files
This directory contains markdown files that are automatically converted to GitHub Issues when merged to `main` or `development`.
## How It Works
1. **Create a markdown file** in this directory using the template format
2. **Add YAML frontmatter** with issue metadata (title, labels, priority, etc.)
3. **Merge to main/development** - the `docs-to-issues.yml` workflow runs
4. **GitHub Issue is created** with your specified metadata
5. **File is moved** to `docs/issues/created/` to prevent duplicates
## Quick Start
Copy `_TEMPLATE.md` and fill in your issue details:
```yaml
---
title: "My New Issue"
labels:
- feature
- backend
priority: medium
---
# My New Issue
Description of the issue...
```
## Frontmatter Fields
| Field | Required | Description |
|-------|----------|-------------|
| `title` | Yes* | Issue title (*or uses first H1 as fallback) |
| `labels` | No | Array of labels to apply |
| `priority` | No | `critical`, `high`, `medium`, `low` |
| `milestone` | No | Milestone name |
| `assignees` | No | Array of GitHub usernames |
| `parent_issue` | No | Parent issue number for linking |
| `create_sub_issues` | No | If `true`, each `## Section` becomes a sub-issue |
## Sub-Issues
To create multiple related issues from one file, set `create_sub_issues: true`:
```yaml
---
title: "Main Testing Issue"
labels: [testing]
create_sub_issues: true
---
# Main Testing Issue
Overview content for the parent issue.
## Unit Testing
This section becomes a separate issue.
## Integration Testing
This section becomes another separate issue.
```
## Manual Trigger
You can manually run the workflow with:
```bash
# Dry run (no issues created)
gh workflow run docs-to-issues.yml -f dry_run=true
# Process specific file
gh workflow run docs-to-issues.yml -f file_path=docs/issues/my-issue.md
```
## Labels
Labels are automatically created if they don't exist. Common labels:
- **Priority**: `critical`, `high`, `medium`, `low`
- **Type**: `feature`, `bug`, `enhancement`, `testing`, `documentation`
- **Component**: `backend`, `frontend`, `ui`, `security`, `caddy`, `database`