diff --git a/branding%2Fprogress-templates.-.md b/branding%2Fprogress-templates.-.md new file mode 100644 index 0000000..f1b49a4 --- /dev/null +++ b/branding%2Fprogress-templates.-.md @@ -0,0 +1,191 @@ +# Progress Block Templates + +Templates for sprint progress visualization during execution. + +**Version:** 1.0.0 +**Created:** 2026-01-28 + +--- + +## Sprint Progress Block + +Display during sprint-start and sprint-status commands: + +``` +┌─ Sprint Progress ────────────────────────────────────────────────┐ +│ Sprint [N]: [Title] │ +│ ████████████░░░░░░░░░░░░░░░░░░ [XX]% complete │ +│ │ +│ ✅ Done: [n] ⏳ Active: [n] ⬚ Pending: [n] │ +│ │ +│ Current: │ +│ #[num] ⏳ [Issue title truncated to fit...] │ +│ #[num] ⏳ [Issue title truncated to fit...] │ +└──────────────────────────────────────────────────────────────────┘ +``` + +--- + +## Progress Bar Calculation + +**Width:** 30 characters + +```python +def render_progress_bar(completed: int, total: int) -> str: + if total == 0: + percentage = 0 + else: + percentage = (completed / total) * 100 + + filled = round(percentage * 30 / 100) + empty = 30 - filled + + bar = '█' * filled + '░' * empty + return f"{bar} {percentage:.0f}% complete" +``` + +**Examples:** + +| Completed | Total | Percentage | Bar | +|-----------|-------|------------|-----| +| 0 | 10 | 0% | `░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0%` | +| 3 | 10 | 30% | `█████████░░░░░░░░░░░░░░░░░░░░░ 30%` | +| 5 | 10 | 50% | `███████████████░░░░░░░░░░░░░░░ 50%` | +| 8 | 10 | 80% | `████████████████████████░░░░░░ 80%` | +| 10 | 10 | 100% | `██████████████████████████████ 100%` | + +--- + +## Full Progress Block Example + +``` +┌─ Sprint Progress ────────────────────────────────────────────────┐ +│ Sprint 6: Visual Branding Overhaul │ +│ ████████████░░░░░░░░░░░░░░░░░░ 40% complete │ +│ │ +│ ✅ Done: 4 ⏳ Active: 2 ⬚ Pending: 4 │ +│ │ +│ Current: │ +│ #271 ⏳ Implement header component │ +│ #272 ⏳ Update agent instructions │ +└──────────────────────────────────────────────────────────────────┘ +``` + +--- + +## When to Display Progress Block + +| Event | Display Progress Block | +|-------|------------------------| +| `/sprint-start` begins | Yes - initial state | +| Issue completed | Yes - updated counts | +| `/sprint-status` called | Yes - current state | +| Before execution prompt | Yes - show what's active | +| Batch complete | Yes - show batch transition | +| `/sprint-close` | Yes - final summary | + +--- + +## Batch Progress Display + +During parallel execution, show batch progress: + +``` +┌─ Sprint Progress ────────────────────────────────────────────────┐ +│ Sprint 6: Visual Branding Overhaul │ +│ ████████████████████░░░░░░░░░░ 67% complete │ +│ │ +│ ✅ Done: 4 ⏳ Active: 2 ⬚ Pending: 0 │ +│ │ +│ Batch 2 of 3: │ +│ #273 ⏳ Update projman commands (75%) │ +│ #274 ⏳ Add progress block to orchestrator (50%) │ +│ │ +│ ✅ Batch 1 complete | ⬚ Batch 3 waiting │ +└──────────────────────────────────────────────────────────────────┘ +``` + +--- + +## Compact Progress (For Inline Updates) + +When space is limited or for inline status: + +``` +Sprint 6: ████████████░░░░░░░░░░░░░░░░░░ 40% (4/10) | ⏳ #271, #272 +``` + +--- + +## Issue Status Line Format + +For current/active issues in progress block: + +``` +#[issue_number] [status_icon] [title (max 50 chars)] +``` + +**Status icons:** +- `⏳` - In progress +- `🚫` - Blocked +- `⬚` - Pending (waiting in queue) + +**Title truncation:** Truncate at 50 characters with `...` if longer. + +--- + +## Integration with Orchestrator Agent + +Add this section to `plugins/projman/agents/orchestrator.md`: + +```markdown +### Sprint Progress Block + +**Display progress block after header during sprint execution.** + +**When to Display:** +- At start of sprint-start command +- After each issue completion +- Before generating next execution prompt +- When user requests status +- In final sprint summary + +**Data Sources:** +- `list_issues(milestone=current)` - Get all sprint issues +- `get_milestone(milestone_id)` - Get sprint metadata +- Issue labels for status (Status/In-Progress, etc.) + +**Calculation:** +- Total: Count all issues in milestone +- Done: Count closed issues +- Active: Count issues with Status/In-Progress label +- Pending: Total - Done - Active + +See: [[branding/progress-templates]] for format specification. +``` + +--- + +## Integration with sprint-status Command + +Add this section to `plugins/projman/commands/sprint-status.md`: + +```markdown +## Visual Output + +Display header followed by progress block: + +[Header from branding/header-templates] + +[Progress block from branding/progress-templates] + +Then show detailed breakdown (existing format). +``` + +--- + +## Related Pages + +- [[branding/visual-spec]] - Central visual specification +- [[branding/plugin-registry]] - Plugin icons and display names +- [[branding/header-templates]] - Copy-paste header templates