#!/bin/bash
echo "๐ฌ Creating Demo Materials for Sentinel MCP"
echo "=========================================="
# Create demo directory structure
mkdir -p demo/{screenshots,gifs,videos,examples}
echo "๐ธ Screenshot Instructions"
echo "========================="
echo ""
echo "To create compelling demo materials, capture these scenarios:"
echo ""
echo "1. BEFORE/AFTER Comparison:"
echo " ๐ท Terminal showing Godot error"
echo " ๐ท AI assistant understanding the error"
echo " ๐ท Automatic fix being applied"
echo " ๐ท Tests passing after fix"
echo ""
echo "2. Live Development Session:"
echo " ๐ฅ GIF: File change โ Auto-fix โ Tests pass (30s loop)"
echo " ๐ฅ GIF: 'sentinel watch' in action"
echo ""
echo "3. MCP Integration Demo:"
echo " ๐ท Claude Code seeing project structure"
echo " ๐ท AI assistant reading error context"
echo " ๐ท Smart fix being proposed and applied"
echo ""
echo "4. CLI Usage Examples:"
echo " ๐ท 'sentinel test' output with errors"
echo " ๐ท 'sentinel ctx' showing code context"
echo " ๐ท 'sentinel moveset list' command"
echo ""
# Create example terminal sessions
cat > demo/examples/basic-usage.txt << 'EOF'
$ sentinel test
๐งช Running tests...
โ Tests failed
๐จ Error Details:
File: res://scripts/combat/fighter.gd:45
Type: script_error
Message: Invalid call. Nonexistent function 'get_damage' in base 'Node'.
$ # Ask Claude: "What's wrong with my Godot game?"
# Claude sees the error and responds:
# "I can see the error in fighter.gd:45. The function should be
# 'calculate_damage()' not 'get_damage()'. Let me fix that..."
$ # Claude applies the fix automatically
โ
Fixed function name in fighter.gd
โ
Tests now passing
โ
Created branch: ai/fix-20241210-143022
EOF
cat > demo/examples/watch-mode.txt << 'EOF'
$ sentinel watch
๐ Watching for file changes...
๐ Changed: scripts/player.gd
๐ง Auto-fixing...
๐ Gathering context...
๐ค AI found issue: Missing return statement
๐จ Applied patch on branch ai/fix-20241210-143055
โ
Tests now passing!
๐ Changed: scripts/enemy.gd
๐ง Auto-fixing...
โ
Applied 1 fix automatically
๐ฎ Game still running perfectly
EOF
cat > demo/examples/mcp-integration.txt << 'EOF'
# Claude Code with MCP access:
User: "What's the structure of my combat system?"
Claude: I can see your combat system has these components:
๐ Combat System Structure:
โโโ res://scripts/combat/fighter.gd (main Fighter class)
โโโ res://scripts/combat/state_machine.gd (state management)
โโโ res://scripts/combat/input_buffer.gd (input handling)
โโโ res://data/movesets/basic_attacks.json (3 moves)
โโโ res://data/movesets/special_moves.json (2 moves)
โโโ res://scenes/combat/battle_scene.tscn
๐ Current Status:
โ
8 tests passing
โ 2 tests failing in fighter.gd:89 and state_machine.gd:156
The errors are related to null reference checks. Would you like me to fix them?
EOF
echo "๐จ Demo Material Creation Guide"
echo "=============================="
echo ""
echo "To create the demo materials:"
echo ""
echo "1. Setup Terminal Recording:"
echo " โข Use 'asciinema' for terminal recordings"
echo " โข Or 'termtosvg' for SVG animations"
echo " โข Record in 80x24 terminal for best results"
echo ""
echo "2. Screenshot Settings:"
echo " โข Use clean terminal theme (dark with good contrast)"
echo " โข Ensure text is readable at GitHub thumbnail size"
echo " โข Include Sentinel branding/colors if possible"
echo ""
echo "3. GIF Creation:"
echo " โข Keep under 3MB for GitHub embedding"
echo " โข 15-30 seconds max duration"
echo " โข Focus on key value moments"
echo " โข Add text overlays if needed"
echo ""
echo "4. Recommended Tools:"
echo " โข asciinema (terminal recording)"
echo " โข ImageOptim (image compression)"
echo " โข LICEcap (GIF creation)"
echo " โข CleanShot X (screenshots with annotations)"
echo ""
# Create placeholder files for actual media
touch demo/screenshots/.gitkeep
touch demo/gifs/.gitkeep
touch demo/videos/.gitkeep
# Create a simple script to generate an ASCII art demo
cat > demo/create-ascii-demo.sh << 'EOF'
#!/bin/bash
echo "Creating ASCII art demo..."
# This would use tools like 'figlet' or 'toilet' to create nice terminal art
cat << 'ASCII'
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ค Godot Sentinel MCP โ
โ AI-Powered Terminal Game Development โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
$ sentinel test
๐งช Running Godot tests...
โ ERROR DETECTED:
๐ File: res://scripts/combat/fighter.gd:45
๐ Issue: Invalid function call 'get_damage()'
๐ก Should be: 'calculate_damage()'
$ # Ask your AI assistant: "Fix my Godot error"
๐ค AI RESPONSE:
"I can see the issue! Let me fix that function name..."
๐ง APPLYING FIX:
โ
Updated fighter.gd:45
โ
Created branch: ai/fix-20241210
โ
Running tests...
โ
All tests now passing!
$ sentinel run
๐ฎ Game launching...
๐ Perfect! No errors detected.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ From Error to Fix in 30 seconds - That's Sentinel MCP! โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ASCII
EOF
chmod +x demo/create-ascii-demo.sh
echo "๐ Demo Structure Created:"
echo "โโโ demo/"
echo "โ โโโ screenshots/ (for static images)"
echo "โ โโโ gifs/ (for animated demos)"
echo "โ โโโ videos/ (for longer demos)"
echo "โ โโโ examples/ (text-based examples)"
echo "โ โโโ create-ascii-demo.sh (ASCII art generator)"
echo ""
echo "๐ฏ Next Steps:"
echo "1. Run ./demo/create-ascii-demo.sh to see ASCII demo"
echo "2. Use the examples/ files as scripts for recordings"
echo "3. Capture actual terminal sessions using the workflows"
echo "4. Optimize images/GIFs for web (under 3MB each)"
echo "5. Add to README.md in ## Demo section"
echo ""
echo "๐ Pro Tips for Viral Content:"
echo "โข Show the 'wow moment' - error to fix in seconds"
echo "โข Include before/after comparisons"
echo "โข Make it relatable to common developer pain points"
echo "โข Use consistent branding and colors"
echo "โข Test on mobile - many people browse GitHub on phones"