-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·121 lines (105 loc) · 3.37 KB
/
setup.sh
File metadata and controls
executable file
·121 lines (105 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/bash
set -e
echo "============================================"
echo " sanzaru Setup"
echo "============================================"
echo ""
# Check if .env already exists
if [ -f .env ]; then
echo "⚠️ .env file already exists!"
read -p "Do you want to overwrite it? (y/N): " overwrite
if [[ ! $overwrite =~ ^[Yy]$ ]]; then
echo "Setup cancelled. Your existing .env file was not modified."
exit 0
fi
echo ""
fi
# Check for OPENAI_API_KEY in environment
if [ -n "$OPENAI_API_KEY" ]; then
echo "✓ Found OPENAI_API_KEY in environment"
DEFAULT_API_KEY="$OPENAI_API_KEY"
USE_ENV_KEY=true
else
echo "ℹ️ No OPENAI_API_KEY found in environment"
USE_ENV_KEY=false
fi
echo ""
echo "============================================"
echo " Configuration"
echo "============================================"
echo ""
# Get API Key
if [ "$USE_ENV_KEY" = true ]; then
read -p "Use existing OPENAI_API_KEY from environment? (Y/n): " use_existing
if [[ $use_existing =~ ^[Nn]$ ]]; then
read -s -p "Enter your OpenAI API key: " API_KEY
echo ""
else
API_KEY="$DEFAULT_API_KEY"
echo "Using API key from environment"
fi
else
read -s -p "Enter your OpenAI API key: " API_KEY
echo ""
fi
# Get the absolute path of the project directory
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Get media path
echo ""
echo "Default media path: $PROJECT_DIR/media"
read -p "Press Enter to accept, or type a custom path: " MEDIA_PATH
if [ -z "$MEDIA_PATH" ]; then
MEDIA_PATH="$PROJECT_DIR/media"
else
# Convert to absolute path if relative
if [[ "$MEDIA_PATH" != /* ]]; then
MEDIA_PATH="$(cd "$(dirname "$MEDIA_PATH")" 2>/dev/null && pwd)/$(basename "$MEDIA_PATH")" || MEDIA_PATH="$PROJECT_DIR/$MEDIA_PATH"
fi
fi
echo ""
echo "============================================"
echo " Creating directories..."
echo "============================================"
# Create media directory structure
mkdir -p "$MEDIA_PATH/videos" "$MEDIA_PATH/images" "$MEDIA_PATH/audio"
echo "✓ Created $MEDIA_PATH/videos"
echo "✓ Created $MEDIA_PATH/images"
echo "✓ Created $MEDIA_PATH/audio"
echo ""
echo "============================================"
echo " Writing .env file..."
echo "============================================"
# Write .env file
cat > .env << EOF
OPENAI_API_KEY="$API_KEY"
SANZARU_MEDIA_PATH="$MEDIA_PATH"
EOF
echo "✓ Created .env file"
echo ""
echo "============================================"
echo " Installing dependencies..."
echo "============================================"
# Run uv sync
if command -v uv &> /dev/null; then
uv sync --all-extras --dev
echo "✓ Dependencies installed"
else
echo "⚠️ 'uv' command not found. Please install uv and run 'uv sync --all-extras --dev' manually."
echo " Visit: https://github.com/astral-sh/uv"
fi
echo ""
echo "============================================"
echo " Setup Complete! 🎉"
echo "============================================"
echo ""
echo "Next steps:"
echo " 1. Run 'claude' to start Claude Code"
echo " 2. The sanzaru MCP server will connect automatically"
echo " 3. Start generating videos!"
echo ""
echo "Configuration saved to .env:"
echo " - Media root: $MEDIA_PATH"
echo " - Videos: $MEDIA_PATH/videos"
echo " - Images: $MEDIA_PATH/images"
echo " - Audio: $MEDIA_PATH/audio"
echo ""