69 lines
1.9 KiB
Bash
69 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
# Issue Reference Suggestion Script
|
|
# Suggests relevant Gitea issues to reference in commit messages
|
|
# This script is NON-BLOCKING and will never prevent commits
|
|
|
|
set -e
|
|
=======
|
|
|
|
# Configuration
|
|
GITEA_CLIENT=".vibe/skills/gitea-client/scripts/gitea-client.sh"
|
|
|
|
# Check if we have Gitea client available
|
|
if [ ! -f "$GITEA_CLIENT" ]; then
|
|
echo "Gitea client not found - issue reference suggestions disabled"
|
|
exit 0
|
|
fi
|
|
|
|
# Check if we can access Gitea API
|
|
if [ -z "${GITEA_API_TOKEN_FILE:-}" ] && [ -z "${GITEA_API_TOKEN:-}" ]; then
|
|
echo "Gitea API token not configured - issue reference suggestions disabled"
|
|
exit 0
|
|
fi
|
|
|
|
echo "🔍 Checking for relevant issues..."
|
|
|
|
# Get list of open issues
|
|
ISSUES_JSON=$($GITEA_CLIENT list-issues arcodange dance-lessons-coach open 2>/dev/null || echo "[]")
|
|
|
|
# Check if we got valid JSON
|
|
if [ "$ISSUES_JSON" = "[]" ] || [ -z "$ISSUES_JSON" ]; then
|
|
echo "✅ No open issues found (you can commit freely)"
|
|
exit 0
|
|
fi
|
|
|
|
# Extract issue numbers and titles
|
|
ISSUE_COUNT=$(echo "$ISSUES_JSON" | jq '. | length')
|
|
|
|
if [ "$ISSUE_COUNT" -eq 0 ]; then
|
|
echo "✅ No open issues found"
|
|
exit 0
|
|
fi
|
|
|
|
echo "📋 Found $ISSUE_COUNT open issue(s):"
|
|
echo ""
|
|
|
|
# Display issues with numbers and titles
|
|
for ((i=0; i<ISSUE_COUNT; i++)); do
|
|
ISSUE_NUMBER=$(echo "$ISSUES_JSON" | jq -r ".[$i].number")
|
|
ISSUE_TITLE=$(echo "$ISSUES_JSON" | jq -r ".[$i].title")
|
|
ISSUE_URL=$(echo "$ISSUES_JSON" | jq -r ".[$i].html_url")
|
|
|
|
echo " #$ISSUE_NUMBER: $ISSUE_TITLE"
|
|
echo " $ISSUE_URL"
|
|
done
|
|
|
|
echo ""
|
|
echo "💡 Suggested commit message formats:"
|
|
echo ""
|
|
echo " - closes #<number> (when issue is fully resolved)"
|
|
echo " - fixes #<number> (when fixing a bug)"
|
|
echo " - resolves #<number> (when resolving an issue)"
|
|
echo " - related to #<number> (when work is related)"
|
|
echo " - see #<number> (when referencing for context)"
|
|
echo ""
|
|
echo "Example: ✨ feat: implement workflow (closes #2)"
|
|
echo ""
|
|
|
|
exit 0 |