--- description: Import open Gitea issues as beads, skipping already-imported ones --- # Import Gitea Issues as Beads This skill imports open Gitea issues as beads, checking for duplicates to avoid re-importing already tracked issues. ## Prerequisites - `tea` CLI must be installed and configured for the repository - `bd` (beads) CLI must be installed - Must be in a git repository with a Gitea/Forgejo remote ## Workflow ### Step 1: Get open Gitea issues List all open issues using `tea`: ```bash tea issues ``` This returns a table with columns: INDEX, TITLE, LABELS, MILESTONE ### Step 2: Get existing beads List all current beads to check what's already imported: ```bash bd list ``` Also check bead notes for issue URLs to identify imports: ```bash bd list --json | jq -r '.[] | select(.notes != null) | .notes' | grep -oP 'issues/\K\d+' ``` ### Step 3: Check for already-linked PRs Check if any open PRs reference beads (skip these issues as they're being worked on): ```bash tea pr list ``` Look for PRs with: - Bead ID in title: `[nixos-configs-xxx]` - Bead reference in body: `Implements bead:` or `Bead ID:` ### Step 4: For each untracked issue, create a bead For each issue not already tracked: 1. **Get full issue details**: ```bash tea issue [ISSUE_NUMBER] ``` 2. **Determine bead type** based on issue content: - "bug" - if issue mentions bug, error, broken, fix, crash - "feature" - if issue mentions feature, add, new, enhancement - "task" - default for other issues 3. **Create the bead**: ```bash bd add "[ISSUE_TITLE]" \ --type=[TYPE] \ --priority=P2 \ --notes="Gitea issue: [ISSUE_URL] Original issue description: [ISSUE_BODY]" ``` Note: The `--notes` flag accepts multi-line content. ### Step 5: Report results Present a summary: ``` ## Gitea Issues Import Summary ### Imported as Beads | Issue | Title | Bead ID | Type | |-------|-------|---------|------| | #5 | Add dark mode | nixos-configs-abc | feature | | #3 | Config broken on reboot | nixos-configs-def | bug | ### Skipped (Already Tracked) | Issue | Title | Reason | |-------|-------|--------| | #4 | Update flake | Existing bead: nixos-configs-xyz | | #2 | Refactor roles | PR #7 references bead | ### Skipped (Other) | Issue | Title | Reason | |-------|-------|--------| | #1 | Discussion: future plans | No actionable work | ``` ## Type Detection Heuristics Keywords to detect issue type: **Bug indicators** (case-insensitive): - bug, error, broken, fix, crash, fail, issue, problem, wrong, not working **Feature indicators** (case-insensitive): - feature, add, new, enhancement, implement, support, request, want, would be nice **Task** (default): - Anything not matching bug or feature patterns ## Error Handling - **tea not configured**: Report error and exit - **bd not available**: Report error and exit - **Issue already has bead**: Skip and report in summary - **Issue is a PR**: Skip (tea shows PRs and issues separately) ## Notes - Default priority is P2; adjust manually after import if needed - Issue labels from Gitea are not automatically mapped to bead tags - Run this periodically to catch new issues - After import, use `bd ready` to see which beads can be worked on