# GitHub Issue Template: General Purpose

Use this template to create a structured set of GitHub issues for any project or phase.

---

## **Parent Issue: [Phase/Project Name]**

**Title**: `[Type(scope)]: [Phase/Project Title]`
**Labels**: `[Label1,Label2]`
**Description**:
[Brief description of the phase/project and its goals.]

**Acceptance Criteria**:

- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
- [ ] All sub-issues completed

**Sub-Issues**:

- [ ] **X.X.1**: [Sub-Issue 1]
- [ ] **X.X.2**: [Sub-Issue 2]
- [ ] **X.X.3**: [Sub-Issue 3]

---

## **Sub-Issues for [Phase/Project Name]**

### **Issue #X.X.1: [Sub-Issue Title]**

**Title**: `[Type(scope)]: [Sub-Issue Title]`
**Labels**: `[Label1,Label2,sub-issue]`
**Description**:
[Detailed description of the sub-issue.]

**Acceptance Criteria**:

- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3

---

### **Issue #X.X.2: [Sub-Issue Title]**

**Title**: `[Type(scope)]: [Sub-Issue Title]`
**Labels**: `[Label1,Label2,sub-issue]`
**Description**:
[Detailed description of the sub-issue.]

**Acceptance Criteria**:

- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3

---

## **GitHub CLI Commands for Bulk Creation**

### **Create Milestones**

```bash
gh api repos/[owner]/[repo]/milestones -f title="[Milestone Name]" -f description="[Milestone Description]"
```

### **Create Labels**

```bash
gh label create "[Label Name]" --color "[Hex Color]" --description "[Label Description]"
```

### **Create Issues**

```bash
gh issue create --repo [owner]/[repo] --title "[Issue Title]" --label "[Label1,Label2]" --body "$(cat <<'EOF'
[Issue Description]

**Acceptance Criteria**:
- [ ] Criterion 1
- [ ] Criterion 2
EOF
)"
```

---

## **Notes**

- Replace placeholders (e.g., `[Phase Name]`, `[Sub-Issue Title]`, `[owner]`, `[repo]`) with actual values.
- Use the `gh` CLI commands to create issues in bulk.
- Customize labels, milestones, and issue types (`feat`, `fix`, `docs`, etc.) as needed.
