The piper issues command provides comprehensive PM number management with automatic conflict detection and GitHub integration.
piper issues create - Create New IssueCreates a new GitHub issue with an auto-assigned PM number.
Syntax:
python -c "from cli.commands.issues import issues; issues(['create', '--title', 'TITLE', '--body', 'DESCRIPTION', '--labels', 'LABELS', '--dry-run'])"
Options:
--title TEXT (required): Issue title (max 200 characters)--body TEXT: Issue description (optional)--labels TEXT: Comma-separated labels (max 10 labels)--dry-run: Show what would be created without actually creatingExamples:
# Create a new issue
python -c "from cli.commands.issues import issues; issues(['create', '--title', 'Implement new feature', '--body', 'Add user authentication', '--labels', 'feature,enhancement'])"
# Dry run to preview
python -c "from cli.commands.issues import issues; issues(['create', '--title', 'Test issue', '--dry-run'])"
Features:
piper issues verify - Check System ConsistencyVerifies PM number consistency across GitHub, CSV, and backlog systems.
Syntax:
python -c "from cli.commands.issues import issues; issues(['verify'])"
Output:
Example Output:
π Verifying PM number consistency...
β PM number inconsistencies found!
Issues found: 103
- Duplicate PM number in CSV: PM-056
- PM number PM-006 exists in CSV but not found in GitHub issues
- PM number PM-124 in CSV missing GitHub issue number
π‘ Suggested actions:
- Run 'issues sync' to synchronize systems
- Check GitHub issues for missing PM numbers
- Verify CSV file format and completeness
piper issues sync - Synchronize SystemsSynchronizes PM numbers across all tracking systems.
Syntax:
python -c "from cli.commands.issues import issues; issues(['sync', '--dry-run'])"
Options:
--dry-run: Show what would be synced without making changesFeatures:
Empty Title:
β Error: Issue title cannot be empty
π‘ Please provide a meaningful title for the issue
Title Too Long:
β Error: Issue title too long (max 200 characters)
π‘ Current length: 250 characters
Too Many Labels:
β Error: Too many labels (max 10)
π‘ Current count: 15 labels
GitHub Authentication:
β Error: GitHub authentication failed
π‘ Please run: gh auth login
PM Number Conflicts:
β Error: PM number PM-140 validation failed
β οΈ PM number already exists in CSV
π‘ Try using: PM-141
# Step 1: Verify current system state
python -c "from cli.commands.issues import issues; issues(['verify'])"
# Step 2: Create issue with dry-run first
python -c "from cli.commands.issues import issues; issues(['create', '--title', 'My New Feature', '--dry-run'])"
# Step 3: Create actual issue
python -c "from cli.commands.issues import issues; issues(['create', '--title', 'My New Feature', '--body', 'Implementation details', '--labels', 'feature,enhancement'])"
# Step 1: Check for issues
python -c "from cli.commands.issues import issues; issues(['verify'])"
# Step 2: Sync systems
python -c "from cli.commands.issues import issues; issues(['sync'])"
# Step 3: Verify resolution
python -c "from cli.commands.issues import issues; issues(['verify'])"
# Check system status
python -c "from cli.commands.issues import issues; issues(['verify'])"
# Sync all systems
python -c "from cli.commands.issues import issues; issues(['sync'])"
# Create multiple issues
python -c "from cli.commands.issues import issues; issues(['create', '--title', 'Issue 1', '--labels', 'bug'])"
python -c "from cli.commands.issues import issues; issues(['create', '--title', 'Issue 2', '--labels', 'feature'])"
1. Module Import Errors
source venv/bin/activatePYTHONPATH=. python -c "..."2. GitHub Authentication Issues
gh auth statusgh auth logingh repo view mediajunkie/piper-morgan-product3. CSV File Issues
ls -la docs/planning/pm-issues-status.csvhead -5 docs/planning/pm-issues-status.csvchmod 644 docs/planning/pm-issues-status.csv4. PM Number Conflicts
python -c "from cli.commands.issues import issues; issues(['verify'])"The CLI integrates with:
All services are automatically initialized and configured through the CLI interface.