Initial commit
This commit is contained in:
533
commands/specweave-github-status.md
Normal file
533
commands/specweave-github-status.md
Normal file
@@ -0,0 +1,533 @@
|
||||
---
|
||||
name: specweave-github:status
|
||||
description: Check GitHub sync status for SpecWeave increment. Shows issue number, sync state, progress, last update, and any sync issues. Useful for troubleshooting and monitoring.
|
||||
---
|
||||
|
||||
# Check GitHub Sync Status
|
||||
|
||||
Display the current GitHub sync status for a SpecWeave increment.
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
/specweave:github:status [increment-id] [options]
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- `increment-id`: Increment ID (optional, defaults to current increment)
|
||||
|
||||
## Options
|
||||
|
||||
- `--all`: Show status for all increments
|
||||
- `--verbose`: Show detailed sync information
|
||||
- `--json`: Output in JSON format
|
||||
- `--check-health`: Run health check on sync connection
|
||||
|
||||
## Examples
|
||||
|
||||
```bash
|
||||
# Check current increment
|
||||
/specweave:github:status
|
||||
|
||||
# Check specific increment
|
||||
/specweave:github:status 0004
|
||||
|
||||
# Check all increments
|
||||
/specweave:github:status --all
|
||||
|
||||
# Verbose output with full details
|
||||
/specweave:github:status 0004 --verbose
|
||||
|
||||
# JSON output for scripting
|
||||
/specweave:github:status 0004 --json
|
||||
|
||||
# Health check
|
||||
/specweave:github:status --check-health
|
||||
```
|
||||
|
||||
## Output Format
|
||||
|
||||
### Basic Status
|
||||
|
||||
```
|
||||
📊 GitHub Sync Status: Increment 0004
|
||||
|
||||
Increment: 0004-plugin-architecture
|
||||
Status: In Progress
|
||||
Priority: P1
|
||||
|
||||
GitHub Issue: #130
|
||||
URL: https://github.com/owner/repo/issues/130
|
||||
State: Open
|
||||
Labels: specweave, increment, P1, in-progress
|
||||
|
||||
Sync Status: ✅ Up-to-date
|
||||
Last Synced: 5 minutes ago (2025-10-30 16:55:00)
|
||||
Sync Count: 7
|
||||
Auto-Sync: Enabled (every-task)
|
||||
|
||||
Progress:
|
||||
- Tasks: 7/48 completed (15%)
|
||||
- Week: 1 of 4 (Foundation)
|
||||
- Current Task: T-008 - Implement Cursor compiler
|
||||
|
||||
GitHub vs Local:
|
||||
✅ Progress matches
|
||||
✅ Labels match
|
||||
✅ Status matches
|
||||
✅ No conflicts detected
|
||||
```
|
||||
|
||||
### Verbose Status
|
||||
|
||||
```
|
||||
📊 GitHub Sync Status: Increment 0004 (Detailed)
|
||||
|
||||
═══════════════════════════════════════════
|
||||
BASIC INFO
|
||||
═══════════════════════════════════════════
|
||||
|
||||
Increment ID: 0004
|
||||
Full Name: 0004-plugin-architecture
|
||||
Title: Plugin Architecture
|
||||
Status: in_progress
|
||||
Priority: P1
|
||||
Created: 2025-10-01 10:00:00
|
||||
Duration: 29 days
|
||||
|
||||
═══════════════════════════════════════════
|
||||
GITHUB ISSUE
|
||||
═══════════════════════════════════════════
|
||||
|
||||
Issue Number: #130
|
||||
Issue URL: https://github.com/owner/repo/issues/130
|
||||
Issue State: open
|
||||
Issue Created: 2025-10-01 10:15:00
|
||||
Issue Updated: 2025-10-30 16:55:00
|
||||
|
||||
Labels:
|
||||
- specweave
|
||||
- increment
|
||||
- P1
|
||||
- in-progress
|
||||
|
||||
Milestone: v0.4.0 (due: 2025-11-30)
|
||||
Assignees: @developer1, @developer2
|
||||
|
||||
Comments: 12
|
||||
- 7 auto-sync comments
|
||||
- 5 manual comments
|
||||
|
||||
Last Comment:
|
||||
By: @developer2
|
||||
At: 2025-10-30 16:00:00
|
||||
Text: "Cursor adapter completed, moving to testing..."
|
||||
|
||||
═══════════════════════════════════════════
|
||||
SYNC STATUS
|
||||
═══════════════════════════════════════════
|
||||
|
||||
Sync State: ✅ Up-to-date
|
||||
Last Synced: 5 minutes ago (2025-10-30 16:55:00)
|
||||
Sync Method: Auto (post-task hook)
|
||||
Sync Count: 7
|
||||
Failed Syncs: 0
|
||||
|
||||
Auto-Sync Settings:
|
||||
- Enabled: Yes
|
||||
- Frequency: every-task
|
||||
- Post Comments: Yes
|
||||
- Update Checklist: Yes
|
||||
- Update Labels: Yes
|
||||
- Include Files: Yes
|
||||
- Include Time: Yes
|
||||
|
||||
═══════════════════════════════════════════
|
||||
PROGRESS
|
||||
═══════════════════════════════════════════
|
||||
|
||||
Tasks: 7/48 completed (15%)
|
||||
|
||||
Week 1: Foundation (7/12 tasks, 58%)
|
||||
✅ T-001: Plugin types
|
||||
✅ T-002: Manifest schema
|
||||
✅ T-003: PluginLoader
|
||||
✅ T-004: PluginManager
|
||||
✅ T-005: PluginDetector
|
||||
✅ T-006: Adapter interface
|
||||
✅ T-007: Claude installer
|
||||
⏳ T-008: Cursor compiler (in progress)
|
||||
⏸️ T-009: Copilot compiler
|
||||
⏸️ T-010: Generic compiler
|
||||
⏸️ T-011: Config schema
|
||||
⏸️ T-012: Update .gitignore
|
||||
|
||||
Week 2: GitHub Plugin (0/10 tasks, 0%)
|
||||
Week 3: Additional Plugins (0/15 tasks, 0%)
|
||||
Week 4: Documentation (0/11 tasks, 0%)
|
||||
|
||||
Current Task: T-008
|
||||
Estimated: 6 hours
|
||||
Started: 2025-10-30 15:00:00
|
||||
Duration: 2 hours (33% of estimate)
|
||||
|
||||
═══════════════════════════════════════════
|
||||
COMPARISON (GitHub vs Local)
|
||||
═══════════════════════════════════════════
|
||||
|
||||
✅ Progress: 7/48 (both sides match)
|
||||
✅ Labels: All 4 labels match
|
||||
✅ Status: in_progress (both sides)
|
||||
✅ Comments: All synced (no missing)
|
||||
|
||||
No conflicts detected.
|
||||
Last comparison: Just now
|
||||
|
||||
═══════════════════════════════════════════
|
||||
METADATA
|
||||
═══════════════════════════════════════════
|
||||
|
||||
Metadata File: .specweave/increments/0004/.metadata.yaml
|
||||
GitHub Section:
|
||||
issue_number: 130
|
||||
issue_url: https://github.com/owner/repo/issues/130
|
||||
created_at: 2025-10-01T10:15:00Z
|
||||
last_synced_at: 2025-10-30T16:55:00Z
|
||||
sync_count: 7
|
||||
closing_comment_ids: []
|
||||
|
||||
Repository: owner/repo
|
||||
Remote URL: https://github.com/owner/repo.git
|
||||
Branch: features/0004-plugin-architecture
|
||||
|
||||
═══════════════════════════════════════════
|
||||
HEALTH
|
||||
═══════════════════════════════════════════
|
||||
|
||||
✅ GitHub CLI: Authenticated
|
||||
✅ Repository Access: Write
|
||||
✅ Issue Exists: Yes
|
||||
✅ Network: Connected
|
||||
✅ Rate Limit: 4,823 / 5,000 remaining
|
||||
✅ Sync Hook: Installed and working
|
||||
|
||||
All systems operational.
|
||||
```
|
||||
|
||||
### Status for All Increments
|
||||
|
||||
```
|
||||
📊 GitHub Sync Status: All Increments
|
||||
|
||||
┌──────┬────────────────┬────────┬────────┬──────────┬─────────────┐
|
||||
│ ID │ Title │ Issue │ State │ Progress │ Last Synced │
|
||||
├──────┼────────────────┼────────┼────────┼──────────┼─────────────┤
|
||||
│ 0001 │ Core Framework │ #100 │ Closed │ 100% │ 30 days ago │
|
||||
│ 0002 │ Enhancements │ #110 │ Closed │ 100% │ 15 days ago │
|
||||
│ 0003 │ Model Select │ #120 │ Closed │ 100% │ 5 days ago │
|
||||
│ 0004 │ Plugins │ #130 │ Open │ 15% │ 5 mins ago │
|
||||
│ 0005 │ Auth │ #135 │ Open │ 0% │ Never │
|
||||
└──────┴────────────────┴────────┴────────┴──────────┴─────────────┘
|
||||
|
||||
Summary:
|
||||
- Total Increments: 5
|
||||
- Synced: 4
|
||||
- Not Synced: 1 (0005)
|
||||
- Open Issues: 2
|
||||
- Closed Issues: 2
|
||||
|
||||
Issues:
|
||||
⚠️ Increment 0005: Not synced to GitHub (run /specweave:github:create-issue 0005)
|
||||
```
|
||||
|
||||
### JSON Output
|
||||
|
||||
```json
|
||||
{
|
||||
"increment": {
|
||||
"id": "0004",
|
||||
"name": "0004-plugin-architecture",
|
||||
"title": "Plugin Architecture",
|
||||
"status": "in_progress",
|
||||
"priority": "P1",
|
||||
"created_at": "2025-10-01T10:00:00Z",
|
||||
"duration_days": 29
|
||||
},
|
||||
"github": {
|
||||
"issue_number": 130,
|
||||
"issue_url": "https://github.com/owner/repo/issues/130",
|
||||
"state": "open",
|
||||
"labels": ["specweave", "increment", "P1", "in-progress"],
|
||||
"milestone": "v0.4.0",
|
||||
"assignees": ["developer1", "developer2"],
|
||||
"comments_count": 12,
|
||||
"created_at": "2025-10-01T10:15:00Z",
|
||||
"updated_at": "2025-10-30T16:55:00Z"
|
||||
},
|
||||
"sync": {
|
||||
"status": "up-to-date",
|
||||
"last_synced_at": "2025-10-30T16:55:00Z",
|
||||
"sync_count": 7,
|
||||
"failed_syncs": 0,
|
||||
"auto_sync_enabled": true,
|
||||
"sync_frequency": "every-task",
|
||||
"conflicts": []
|
||||
},
|
||||
"progress": {
|
||||
"tasks_completed": 7,
|
||||
"tasks_total": 48,
|
||||
"percentage": 15,
|
||||
"current_task": "T-008",
|
||||
"current_week": 1
|
||||
},
|
||||
"health": {
|
||||
"github_cli_authenticated": true,
|
||||
"repository_access": "write",
|
||||
"issue_exists": true,
|
||||
"network_connected": true,
|
||||
"rate_limit_remaining": 4823,
|
||||
"rate_limit_total": 5000,
|
||||
"sync_hook_working": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Health Check
|
||||
|
||||
```
|
||||
🏥 GitHub Sync Health Check
|
||||
|
||||
Checking system components...
|
||||
|
||||
✅ GitHub CLI
|
||||
Version: 2.38.0
|
||||
Authenticated: Yes
|
||||
User: developer1
|
||||
|
||||
✅ Repository Access
|
||||
Repository: owner/repo
|
||||
Access Level: Write
|
||||
Remote: https://github.com/owner/repo.git
|
||||
|
||||
✅ Network Connectivity
|
||||
GitHub API: Reachable
|
||||
Latency: 45ms
|
||||
Status: All systems operational
|
||||
|
||||
✅ Rate Limits
|
||||
Remaining: 4,823 / 5,000
|
||||
Resets at: 2025-10-30 17:00:00 (5 minutes)
|
||||
Status: Healthy
|
||||
|
||||
✅ Sync Configuration
|
||||
Config file: .specweave/config.yaml
|
||||
Plugin enabled: Yes
|
||||
Auto-sync: Enabled
|
||||
Frequency: every-task
|
||||
|
||||
✅ Hooks
|
||||
Post-task hook: Installed
|
||||
Last fired: 5 minutes ago
|
||||
Status: Working
|
||||
|
||||
✅ Metadata Integrity
|
||||
Metadata file: Exists
|
||||
Issue number: 130 (valid)
|
||||
Timestamps: Consistent
|
||||
|
||||
All systems healthy! ✅
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Settings from `.specweave/config.yaml`:
|
||||
|
||||
```yaml
|
||||
plugins:
|
||||
settings:
|
||||
specweave-github:
|
||||
# Display settings
|
||||
status_display:
|
||||
default_format: "basic" # or "verbose", "json"
|
||||
show_health: true
|
||||
show_comparison: true
|
||||
```
|
||||
|
||||
## Use Cases
|
||||
|
||||
### 1. Quick Progress Check
|
||||
|
||||
```bash
|
||||
/specweave:github:status 0004
|
||||
```
|
||||
|
||||
See current sync state, progress, and last update time.
|
||||
|
||||
### 2. Troubleshooting Sync Issues
|
||||
|
||||
```bash
|
||||
/specweave:github:status 0004 --verbose
|
||||
```
|
||||
|
||||
Get detailed sync information to diagnose problems.
|
||||
|
||||
### 3. Monitoring All Increments
|
||||
|
||||
```bash
|
||||
/specweave:github:status --all
|
||||
```
|
||||
|
||||
Dashboard view of all increments and their sync state.
|
||||
|
||||
### 4. CI/CD Integration
|
||||
|
||||
```bash
|
||||
/specweave:github:status 0004 --json | jq '.sync.status'
|
||||
```
|
||||
|
||||
Check sync status in scripts/automation.
|
||||
|
||||
### 5. Health Monitoring
|
||||
|
||||
```bash
|
||||
/specweave:github:status --check-health
|
||||
```
|
||||
|
||||
Verify all sync components are working correctly.
|
||||
|
||||
## Interpreting Status
|
||||
|
||||
### Sync States
|
||||
|
||||
| State | Meaning |
|
||||
|-------|---------|
|
||||
| ✅ Up-to-date | Local and GitHub match |
|
||||
| ⚠️ Out of sync | Changes not yet synced |
|
||||
| 🔄 Syncing | Sync in progress |
|
||||
| ❌ Failed | Last sync failed |
|
||||
| ⏸️ Paused | Auto-sync disabled |
|
||||
| ❓ Unknown | Cannot determine state |
|
||||
|
||||
### Common Issues
|
||||
|
||||
**Out of Sync**:
|
||||
```
|
||||
⚠️ Sync Status: Out of sync (2 changes pending)
|
||||
|
||||
Local changes not synced to GitHub:
|
||||
- Task T-008 completed (1 hour ago)
|
||||
- Task T-009 started (30 minutes ago)
|
||||
|
||||
Action: Run /specweave:github:sync 0004
|
||||
```
|
||||
|
||||
**Sync Failed**:
|
||||
```
|
||||
❌ Sync Status: Failed (last attempt 10 minutes ago)
|
||||
|
||||
Error: Rate limit exceeded
|
||||
Rate limit resets at: 2025-10-30 17:00:00
|
||||
|
||||
Action: Wait for rate limit reset, then retry
|
||||
```
|
||||
|
||||
**No GitHub Issue**:
|
||||
```
|
||||
⚠️ Sync Status: Not synced
|
||||
|
||||
No GitHub issue found for increment 0004.
|
||||
|
||||
Action: Create issue first
|
||||
/specweave:github:create-issue 0004
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- GitHub CLI (`gh`) installed
|
||||
- Valid increment directory
|
||||
- Network connectivity (for GitHub API checks)
|
||||
|
||||
## Related Commands
|
||||
|
||||
- `/specweave:github:create-issue`: Create GitHub issue
|
||||
- `/specweave:github:sync`: Sync increment with GitHub
|
||||
- `/specweave:github:close-issue`: Close GitHub issue
|
||||
- `/specweave:progress`: Check increment progress (local only)
|
||||
|
||||
## Tips
|
||||
|
||||
1. **Quick Check**: Run `/specweave:github:status` before syncing to see if sync is needed
|
||||
|
||||
2. **Verbose Mode**: Use `--verbose` when troubleshooting sync issues
|
||||
|
||||
3. **JSON Output**: Use `--json` for automation and scripting
|
||||
|
||||
4. **Health Check**: Run `--check-health` if syncs are failing
|
||||
|
||||
5. **Monitor All**: Use `--all` to get a dashboard of all increments
|
||||
|
||||
## Advanced
|
||||
|
||||
### Watch Mode
|
||||
|
||||
Monitor sync status in real-time:
|
||||
|
||||
```bash
|
||||
# Refresh every 30 seconds
|
||||
watch -n 30 '/specweave:github:status 0004'
|
||||
```
|
||||
|
||||
### Custom Health Checks
|
||||
|
||||
Define custom health checks:
|
||||
|
||||
```yaml
|
||||
plugins:
|
||||
settings:
|
||||
specweave-github:
|
||||
health_checks:
|
||||
- name: "Rate Limit"
|
||||
threshold: 100 # Warn if < 100 remaining
|
||||
critical: 10 # Error if < 10
|
||||
|
||||
- name: "Sync Lag"
|
||||
threshold: 3600 # Warn if not synced in 1 hour
|
||||
critical: 86400 # Error if not synced in 24 hours
|
||||
```
|
||||
|
||||
### Status Notifications
|
||||
|
||||
Get notified of status changes:
|
||||
|
||||
```yaml
|
||||
plugins:
|
||||
settings:
|
||||
specweave-github:
|
||||
notifications:
|
||||
- event: "sync_failed"
|
||||
action: "slack"
|
||||
channel: "#dev-alerts"
|
||||
|
||||
- event: "rate_limit_low"
|
||||
threshold: 100
|
||||
action: "email"
|
||||
recipients: ["admin@example.com"]
|
||||
```
|
||||
|
||||
### Status Dashboard
|
||||
|
||||
Generate HTML dashboard:
|
||||
|
||||
```bash
|
||||
/specweave:github:status --all --format html > status.html
|
||||
open status.html
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Command**: `/specweave:github:status`
|
||||
**Plugin**: specweave-github
|
||||
**Agent**: github-manager
|
||||
**Version**: 1.0.0
|
||||
**Last Updated**: 2025-10-30
|
||||
Reference in New Issue
Block a user