Final rebrand: rename remaining Rust source file to complete the gsd → forge transition. All parser references already use forge_parser after earlier commits. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
# GitHub Sync
|
|
|
|
SF can auto-sync milestones, slices, and tasks to GitHub Issues, PRs, and Milestones.
|
|
|
|
## Setup
|
|
|
|
1. Install and authenticate the `gh` CLI:
|
|
```bash
|
|
gh auth login
|
|
```
|
|
|
|
2. Enable in preferences:
|
|
```yaml
|
|
github:
|
|
enabled: true
|
|
repo: "owner/repo" # auto-detected from git remote if omitted
|
|
labels: [sf, auto-generated] # labels for created items
|
|
```
|
|
|
|
## Commands
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `/github-sync bootstrap` | Initial setup — creates GitHub Milestones, Issues, and draft PRs from current `.sf/` state |
|
|
| `/github-sync status` | Show sync mapping counts (milestones, slices, tasks) |
|
|
|
|
## How It Works
|
|
|
|
- Milestones → GitHub Milestones
|
|
- Slices → GitHub Issues (linked to milestone)
|
|
- Tasks → GitHub Issue checklists
|
|
- Completed slices → Draft PRs
|
|
|
|
Sync mapping is persisted in `.sf/.github-sync.json`. The sync is rate-limit aware — it skips when the GitHub API rate limit is low.
|
|
|
|
## Configuration
|
|
|
|
```yaml
|
|
github:
|
|
enabled: true
|
|
repo: "owner/repo"
|
|
labels: [sf, auto-generated]
|
|
project: "Project ID" # optional: GitHub Project board
|
|
```
|