| name | generate-standup |
| description | Generates a professional standup from today's DailyPulse tasks. Use before your daily standup meeting. |
| trigger | /generate-standup |
| effort | low |
Generate Standup
Fetches your completed and pending tasks from DailyPulse and formats them as a professional standup report.
#!/bin/bash
set -e
API="http://localhost:8000"
echo ""
echo "📝 Generating your standup..."
echo ""
RESPONSE=$(curl -s "$API/standup")
STANDUP_TEXT=$(echo "$RESPONSE" | jq -r '.standup')
FORMATTED=""
FORMATTED+="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"
FORMATTED+="STANDUP REPORT — $(date '+%B %d, %Y')\n"
FORMATTED+="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"
FORMATTED+="\n"
FORMATTED+="$(echo -e "$STANDUP_TEXT" | sed 's/\*\*//g')\n"
FORMATTED+="\n"
FORMATTED+="🚧 ADDITIONAL BLOCKERS\n"
FORMATTED+="─────────────────────────────────────────────────────\n"
echo -e "$FORMATTED"
echo "Do you have any additional blockers? (Press Enter to skip)"
read -r BLOCKER
if [ -n "$BLOCKER" ]; then
FORMATTED+=" • $BLOCKER\n"
echo -e " • $BLOCKER\n"
else
FORMATTED+=" None.\n"
echo -e " None.\n"
fi
FORMATTED+="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "Copy to clipboard? (y/n)"
read -r COPY_CHOICE
if [[ "$COPY_CHOICE" =~ ^[Yy]$ ]]; then
CLEAN_STANDUP=$(echo -e "$FORMATTED" | sed 's/\\n/\n/g')
if command -v pbcopy &> /dev/null; then
echo -e "$CLEAN_STANDUP" | pbcopy
echo "✨ Copied to clipboard!"
elif command -v xclip &> /dev/null; then
echo -e "$CLEAN_STANDUP" | xclip -selection clipboard
echo "✨ Copied to clipboard!"
elif command -v clip &> /dev/null; then
echo -e "$CLEAN_STANDUP" | clip
echo "✨ Copied to clipboard!"
else
echo "❌ Clipboard command not found on this system."
fi
else
echo "Standup ready to share!"
fi
echo ""