-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup-warp.sh
More file actions
executable file
Β·183 lines (158 loc) Β· 5.77 KB
/
setup-warp.sh
File metadata and controls
executable file
Β·183 lines (158 loc) Β· 5.77 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
#!/bin/bash
# Sarva - Warp Integration Setup Script
# This script sets up Warp CLI configuration for the Sarva project
set -e # Exit on error
echo "π Setting up Warp CLI for Sarva..."
echo "===================================="
echo ""
# Color codes for output
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# Check if we're in the sarva project directory
if [ ! -f "package.json" ]; then
echo "${RED}β Error: Not in Sarva project root directory${NC}"
echo "Please run this script from the Sarva project root"
exit 1
fi
echo "${BLUE}Step 1: Creating directory structure...${NC}"
# Create .warp directory in project root
mkdir -p .warp
# Create docs directories for guides
mkdir -p docs/guides
mkdir -p docs/runbooks
echo "${GREEN}β Directories created${NC}"
echo ""
echo "${BLUE}Step 2: Moving Warp configuration files...${NC}"
# Check and move workflow file
if [ -f "warp-workflows.yaml" ]; then
mv warp-workflows.yaml .warp/workflows.yaml
echo "${GREEN}β Moved workflows.yaml${NC}"
else
echo "${YELLOW}β warp-workflows.yaml not found, skipping${NC}"
fi
# Check and move aliases file
if [ -f "warp-aliases.sh" ]; then
mv warp-aliases.sh .warp/aliases.sh
echo "${GREEN}β Moved aliases.sh${NC}"
else
echo "${YELLOW}β warp-aliases.sh not found, skipping${NC}"
fi
# Check and move AI workflows
if [ -f "warp-ai-workflows.md" ]; then
mv warp-ai-workflows.md .warp/ai-workflows.md
echo "${GREEN}β Moved ai-workflows.md${NC}"
else
echo "${YELLOW}β warp-ai-workflows.md not found, skipping${NC}"
fi
# Check and move quick start guide
if [ -f "WARP-QUICKSTART.md" ]; then
mv WARP-QUICKSTART.md docs/guides/WARP-QUICKSTART.md
echo "${GREEN}β Moved WARP-QUICKSTART.md${NC}"
else
echo "${YELLOW}β WARP-QUICKSTART.md not found, skipping${NC}"
fi
# Check and move deployment runbook
if [ -f "warp-deployment-runbook.md" ]; then
mv warp-deployment-runbook.md docs/runbooks/deployment.md
echo "${GREEN}β Moved deployment runbook${NC}"
else
echo "${YELLOW}β warp-deployment-runbook.md not found, skipping${NC}"
fi
echo ""
echo "${BLUE}Step 3: Setting up shell aliases...${NC}"
# Detect shell
SHELL_CONFIG=""
if [ -f "$HOME/.zshrc" ]; then
SHELL_CONFIG="$HOME/.zshrc"
SHELL_NAME="zsh"
elif [ -f "$HOME/.bashrc" ]; then
SHELL_CONFIG="$HOME/.bashrc"
SHELL_NAME="bash"
else
echo "${YELLOW}β No .zshrc or .bashrc found${NC}"
echo "Please manually add aliases from .warp/aliases.sh to your shell config"
fi
if [ -n "$SHELL_CONFIG" ] && [ -f ".warp/aliases.sh" ]; then
# Check if aliases already added
if grep -q "# Sarva - Warp Aliases" "$SHELL_CONFIG" 2>/dev/null; then
echo "${YELLOW}β Aliases already added to $SHELL_CONFIG${NC}"
else
echo "" >> "$SHELL_CONFIG"
cat .warp/aliases.sh >> "$SHELL_CONFIG"
echo "${GREEN}β Added aliases to $SHELL_CONFIG${NC}"
echo "${BLUE} Run: source $SHELL_CONFIG${NC}"
fi
fi
echo ""
echo "${BLUE}Step 4: Setting up Warp workflows...${NC}"
# Create user's .warp directory if it doesn't exist
mkdir -p "$HOME/.warp"
# Copy or symlink workflows
if [ -f ".warp/workflows.yaml" ]; then
read -p "Link workflows (l) or copy (c)? [l/c] (default: l): " link_or_copy
link_or_copy=${link_or_copy:-l}
if [ "$link_or_copy" = "l" ]; then
# Create symlink (will update automatically when repo changes)
ln -sf "$(pwd)/.warp/workflows.yaml" "$HOME/.warp/workflows-sarva.yaml"
echo "${GREEN}β Linked workflows to ~/.warp/workflows-sarva.yaml${NC}"
echo "${BLUE} (Changes to repo will sync automatically)${NC}"
else
# Copy file
cp .warp/workflows.yaml "$HOME/.warp/workflows-sarva.yaml"
echo "${GREEN}β Copied workflows to ~/.warp/workflows-sarva.yaml${NC}"
fi
else
echo "${YELLOW}β No workflows.yaml found to set up${NC}"
fi
echo ""
echo "${BLUE}Step 5: Creating .gitignore entry...${NC}"
# Add .warp to gitignore if not already there
if [ -f ".gitignore" ]; then
if grep -q "^\.warp/" .gitignore 2>/dev/null; then
echo "${YELLOW}β .warp already in .gitignore${NC}"
else
# Don't ignore .warp directory itself, we want to commit config
echo "" >> .gitignore
echo "# Warp - keep config, ignore user-specific files" >> .gitignore
echo ".warp/.warp_log" >> .gitignore
echo "${GREEN}β Updated .gitignore${NC}"
fi
fi
echo ""
echo "${GREEN}================================${NC}"
echo "${GREEN}β
Warp setup complete!${NC}"
echo "${GREEN}================================${NC}"
echo ""
echo "${BLUE}π Created structure:${NC}"
echo " sarva/"
echo " βββ .warp/"
echo " β βββ workflows.yaml (30+ pre-built workflows)"
echo " β βββ aliases.sh (Shell shortcuts)"
echo " β βββ ai-workflows.md (AI templates)"
echo " βββ docs/"
echo " βββ guides/"
echo " β βββ WARP-QUICKSTART.md"
echo " βββ runbooks/"
echo " βββ deployment.md"
echo ""
echo "${BLUE}π― Next steps:${NC}"
echo " 1. Reload shell: ${YELLOW}source $SHELL_CONFIG${NC}"
echo " 2. Open Warp terminal"
echo " 3. Press ${YELLOW}β+Shift+R${NC} to access workflows"
echo " 4. Try: ${YELLOW}sdev${NC} or ${YELLOW}sdup${NC}"
echo " 5. Read: ${YELLOW}cat docs/guides/WARP-QUICKSTART.md${NC}"
echo ""
echo "${BLUE}π Quick test:${NC}"
echo " ${YELLOW}cd $(pwd)${NC}"
echo " ${YELLOW}sdup${NC} # Start infrastructure"
echo " ${YELLOW}sdev${NC} # Start all services"
echo ""
echo "${BLUE}π Documentation:${NC}"
echo " β’ Quick Start: docs/guides/WARP-QUICKSTART.md"
echo " β’ Deployment: docs/runbooks/deployment.md"
echo " β’ AI Workflows: .warp/ai-workflows.md"
echo ""
echo "Happy coding! π"