codebakers 2.3.0 → 2.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +331 -208
- package/installers/CodeBakers-Install.bat +207 -0
- package/installers/CodeBakers-Install.command +232 -0
- package/installers/README.md +157 -0
- package/installers/mac/assets/README.txt +31 -0
- package/installers/mac/build-mac-installer.sh +240 -0
- package/installers/windows/CodeBakers.iss +256 -0
- package/installers/windows/assets/README.txt +16 -0
- package/installers/windows/scripts/post-install.bat +15 -0
- package/package.json +1 -1
- package/src/commands/setup.ts +307 -169
- package/src/index.ts +92 -52
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
@echo off
|
|
2
|
+
setlocal EnableDelayedExpansion
|
|
3
|
+
title CodeBakers Installer
|
|
4
|
+
color 0B
|
|
5
|
+
|
|
6
|
+
:: ============================================================================
|
|
7
|
+
:: CODEBAKERS INSTALLER FOR WINDOWS
|
|
8
|
+
:: ============================================================================
|
|
9
|
+
|
|
10
|
+
echo.
|
|
11
|
+
echo ================================================================
|
|
12
|
+
echo.
|
|
13
|
+
echo WELCOME TO CODEBAKERS
|
|
14
|
+
echo.
|
|
15
|
+
echo Build apps 10x faster with AI that follows YOUR rules
|
|
16
|
+
echo.
|
|
17
|
+
echo ================================================================
|
|
18
|
+
echo.
|
|
19
|
+
echo What you're getting:
|
|
20
|
+
echo.
|
|
21
|
+
echo * AI Coding Agent - Claude builds features for you
|
|
22
|
+
echo * Website Builder - Describe it, AI creates it
|
|
23
|
+
echo * One-Click Deploy - Push to production instantly
|
|
24
|
+
echo * 50+ Integrations - Stripe, Supabase, Twilio and more
|
|
25
|
+
echo.
|
|
26
|
+
echo ================================================================
|
|
27
|
+
echo.
|
|
28
|
+
echo Press any key to install...
|
|
29
|
+
pause >nul
|
|
30
|
+
|
|
31
|
+
:: ============================================================================
|
|
32
|
+
:: STEP 1: Check for Node.js
|
|
33
|
+
:: ============================================================================
|
|
34
|
+
|
|
35
|
+
echo.
|
|
36
|
+
echo ----------------------------------------------------------------
|
|
37
|
+
echo STEP 1: Checking for Node.js...
|
|
38
|
+
echo ----------------------------------------------------------------
|
|
39
|
+
echo.
|
|
40
|
+
|
|
41
|
+
node --version >nul 2>&1
|
|
42
|
+
if %errorlevel% neq 0 (
|
|
43
|
+
echo [!] Node.js is not installed.
|
|
44
|
+
echo.
|
|
45
|
+
echo CodeBakers requires Node.js to run.
|
|
46
|
+
echo.
|
|
47
|
+
echo Opening Node.js download page...
|
|
48
|
+
echo Install Node.js LTS, then run this installer again.
|
|
49
|
+
echo.
|
|
50
|
+
start https://nodejs.org/
|
|
51
|
+
echo Press any key to exit...
|
|
52
|
+
pause >nul
|
|
53
|
+
exit /b 1
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
for /f "tokens=*" %%i in ('node --version') do set NODE_VERSION=%%i
|
|
57
|
+
echo [OK] Node.js %NODE_VERSION% found
|
|
58
|
+
echo.
|
|
59
|
+
|
|
60
|
+
:: ============================================================================
|
|
61
|
+
:: STEP 2: Install CodeBakers (Silent - no npm output)
|
|
62
|
+
:: ============================================================================
|
|
63
|
+
|
|
64
|
+
echo ----------------------------------------------------------------
|
|
65
|
+
echo STEP 2: Installing CodeBakers...
|
|
66
|
+
echo ----------------------------------------------------------------
|
|
67
|
+
echo.
|
|
68
|
+
|
|
69
|
+
:: Always do silent install/update - npm handles versioning
|
|
70
|
+
call npm install -g codebakers@latest >nul 2>&1
|
|
71
|
+
|
|
72
|
+
:: Verify it worked
|
|
73
|
+
where codebakers >nul 2>&1
|
|
74
|
+
if %errorlevel% neq 0 (
|
|
75
|
+
echo [!] Installation failed. Retrying...
|
|
76
|
+
call npm install -g codebakers@latest
|
|
77
|
+
echo.
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
echo [OK] CodeBakers is ready!
|
|
81
|
+
echo.
|
|
82
|
+
|
|
83
|
+
:: ============================================================================
|
|
84
|
+
:: STEP 3: Choose Editor
|
|
85
|
+
:: ============================================================================
|
|
86
|
+
|
|
87
|
+
echo ----------------------------------------------------------------
|
|
88
|
+
echo STEP 3: Choose your code editor
|
|
89
|
+
echo ----------------------------------------------------------------
|
|
90
|
+
echo.
|
|
91
|
+
|
|
92
|
+
:: Detect installed editors
|
|
93
|
+
set CURSOR_INSTALLED=0
|
|
94
|
+
set VSCODE_INSTALLED=0
|
|
95
|
+
set WINDSURF_INSTALLED=0
|
|
96
|
+
|
|
97
|
+
where cursor >nul 2>&1 && set CURSOR_INSTALLED=1
|
|
98
|
+
where code >nul 2>&1 && set VSCODE_INSTALLED=1
|
|
99
|
+
where windsurf >nul 2>&1 && set WINDSURF_INSTALLED=1
|
|
100
|
+
|
|
101
|
+
echo Select your preferred editor:
|
|
102
|
+
echo.
|
|
103
|
+
|
|
104
|
+
set OPTION_NUM=0
|
|
105
|
+
|
|
106
|
+
if %CURSOR_INSTALLED%==1 (
|
|
107
|
+
set /a OPTION_NUM+=1
|
|
108
|
+
set "OPTION_!OPTION_NUM!=cursor"
|
|
109
|
+
echo [!OPTION_NUM!] Cursor
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
if %VSCODE_INSTALLED%==1 (
|
|
113
|
+
set /a OPTION_NUM+=1
|
|
114
|
+
set "OPTION_!OPTION_NUM!=vscode"
|
|
115
|
+
echo [!OPTION_NUM!] VS Code
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
if %WINDSURF_INSTALLED%==1 (
|
|
119
|
+
set /a OPTION_NUM+=1
|
|
120
|
+
set "OPTION_!OPTION_NUM!=windsurf"
|
|
121
|
+
echo [!OPTION_NUM!] Windsurf
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
set /a OPTION_NUM+=1
|
|
125
|
+
set "OPTION_!OPTION_NUM!=manual"
|
|
126
|
+
echo [!OPTION_NUM!] Other / I'll do it myself
|
|
127
|
+
|
|
128
|
+
echo.
|
|
129
|
+
set /p CHOICE=" Enter your choice (1-!OPTION_NUM!): "
|
|
130
|
+
|
|
131
|
+
:: Validate choice
|
|
132
|
+
if "!CHOICE!"=="" set CHOICE=1
|
|
133
|
+
if !CHOICE! gtr !OPTION_NUM! set CHOICE=!OPTION_NUM!
|
|
134
|
+
if !CHOICE! lss 1 set CHOICE=1
|
|
135
|
+
|
|
136
|
+
:: Get the selected option
|
|
137
|
+
set "SELECTED=!OPTION_%CHOICE%!"
|
|
138
|
+
|
|
139
|
+
:: ============================================================================
|
|
140
|
+
:: FINAL: Show instructions and optionally open editor
|
|
141
|
+
:: ============================================================================
|
|
142
|
+
|
|
143
|
+
echo.
|
|
144
|
+
echo ================================================================
|
|
145
|
+
echo.
|
|
146
|
+
echo [OK] CodeBakers installed successfully!
|
|
147
|
+
echo.
|
|
148
|
+
echo ================================================================
|
|
149
|
+
echo.
|
|
150
|
+
echo HERE'S WHAT TO DO NEXT:
|
|
151
|
+
echo.
|
|
152
|
+
echo 1. Open !SELECTED!
|
|
153
|
+
echo.
|
|
154
|
+
echo 2. Click "File" then "Open Folder"
|
|
155
|
+
echo Select ANY folder where you want to build
|
|
156
|
+
echo (Example: C:\dev\my-project)
|
|
157
|
+
echo.
|
|
158
|
+
echo 3. Open the terminal inside your editor
|
|
159
|
+
echo Press: Ctrl + ` (the key above Tab)
|
|
160
|
+
echo.
|
|
161
|
+
echo 4. Type this command and press Enter:
|
|
162
|
+
echo.
|
|
163
|
+
echo codebakers
|
|
164
|
+
echo.
|
|
165
|
+
echo ================================================================
|
|
166
|
+
echo.
|
|
167
|
+
echo That's it! CodeBakers will guide you from there.
|
|
168
|
+
echo.
|
|
169
|
+
echo ================================================================
|
|
170
|
+
echo.
|
|
171
|
+
|
|
172
|
+
if "!SELECTED!"=="manual" (
|
|
173
|
+
echo Press any key to exit...
|
|
174
|
+
pause >nul
|
|
175
|
+
exit /b 0
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
set /p OPEN_EDITOR=" Would you like to open !SELECTED! now? (Y/n): "
|
|
179
|
+
|
|
180
|
+
if /i "!OPEN_EDITOR!"=="n" (
|
|
181
|
+
echo.
|
|
182
|
+
echo No problem! Open !SELECTED! whenever you're ready.
|
|
183
|
+
echo.
|
|
184
|
+
echo Press any key to exit...
|
|
185
|
+
pause >nul
|
|
186
|
+
exit /b 0
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
echo.
|
|
190
|
+
echo Opening !SELECTED!...
|
|
191
|
+
echo.
|
|
192
|
+
echo Remember: Open a folder, then open terminal, then type 'codebakers'
|
|
193
|
+
echo.
|
|
194
|
+
|
|
195
|
+
if "!SELECTED!"=="cursor" (
|
|
196
|
+
start "" cursor
|
|
197
|
+
)
|
|
198
|
+
if "!SELECTED!"=="vscode" (
|
|
199
|
+
start "" code
|
|
200
|
+
)
|
|
201
|
+
if "!SELECTED!"=="windsurf" (
|
|
202
|
+
start "" windsurf
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
echo This window will close in 10 seconds...
|
|
206
|
+
timeout /t 10 >nul
|
|
207
|
+
exit /b 0
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# ============================================================================
|
|
4
|
+
# CODEBAKERS INSTALLER FOR MAC
|
|
5
|
+
# ============================================================================
|
|
6
|
+
|
|
7
|
+
chmod +x "$0" 2>/dev/null
|
|
8
|
+
|
|
9
|
+
# Colors
|
|
10
|
+
GREEN='\033[0;32m'
|
|
11
|
+
CYAN='\033[0;36m'
|
|
12
|
+
YELLOW='\033[1;33m'
|
|
13
|
+
NC='\033[0m'
|
|
14
|
+
|
|
15
|
+
clear
|
|
16
|
+
|
|
17
|
+
echo ""
|
|
18
|
+
echo -e "${CYAN} ================================================================${NC}"
|
|
19
|
+
echo ""
|
|
20
|
+
echo -e "${CYAN} WELCOME TO CODEBAKERS${NC}"
|
|
21
|
+
echo ""
|
|
22
|
+
echo -e "${CYAN} Build apps 10x faster with AI that follows YOUR rules${NC}"
|
|
23
|
+
echo ""
|
|
24
|
+
echo -e "${CYAN} ================================================================${NC}"
|
|
25
|
+
echo ""
|
|
26
|
+
echo " What you're getting:"
|
|
27
|
+
echo ""
|
|
28
|
+
echo " * AI Coding Agent - Claude builds features for you"
|
|
29
|
+
echo " * Website Builder - Describe it, AI creates it"
|
|
30
|
+
echo " * One-Click Deploy - Push to production instantly"
|
|
31
|
+
echo " * 50+ Integrations - Stripe, Supabase, Twilio and more"
|
|
32
|
+
echo ""
|
|
33
|
+
echo -e "${CYAN} ================================================================${NC}"
|
|
34
|
+
echo ""
|
|
35
|
+
read -p " Press Enter to install..."
|
|
36
|
+
|
|
37
|
+
# ============================================================================
|
|
38
|
+
# STEP 1: Check for Node.js
|
|
39
|
+
# ============================================================================
|
|
40
|
+
|
|
41
|
+
echo ""
|
|
42
|
+
echo -e "${CYAN} ----------------------------------------------------------------${NC}"
|
|
43
|
+
echo -e "${CYAN} STEP 1: Checking for Node.js...${NC}"
|
|
44
|
+
echo -e "${CYAN} ----------------------------------------------------------------${NC}"
|
|
45
|
+
echo ""
|
|
46
|
+
|
|
47
|
+
if ! command -v node &> /dev/null; then
|
|
48
|
+
echo -e " ${YELLOW}[!] Node.js is not installed.${NC}"
|
|
49
|
+
echo ""
|
|
50
|
+
echo " CodeBakers requires Node.js to run."
|
|
51
|
+
echo ""
|
|
52
|
+
echo " Would you like to install Node.js using Homebrew?"
|
|
53
|
+
echo ""
|
|
54
|
+
echo " [1] Yes, install with Homebrew"
|
|
55
|
+
echo " [2] No, I'll install it manually"
|
|
56
|
+
echo ""
|
|
57
|
+
read -p " Enter choice (1-2): " node_choice
|
|
58
|
+
|
|
59
|
+
if [ "$node_choice" == "1" ]; then
|
|
60
|
+
if ! command -v brew &> /dev/null; then
|
|
61
|
+
echo ""
|
|
62
|
+
echo " Installing Homebrew first..."
|
|
63
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
echo ""
|
|
67
|
+
echo " Installing Node.js..."
|
|
68
|
+
brew install node
|
|
69
|
+
else
|
|
70
|
+
echo ""
|
|
71
|
+
echo " Opening Node.js download page..."
|
|
72
|
+
open https://nodejs.org/
|
|
73
|
+
echo ""
|
|
74
|
+
echo " Please install Node.js, then run this installer again."
|
|
75
|
+
read -p " Press Enter to exit..."
|
|
76
|
+
exit 1
|
|
77
|
+
fi
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
NODE_VERSION=$(node --version)
|
|
81
|
+
echo -e " ${GREEN}[OK] Node.js ${NODE_VERSION} found${NC}"
|
|
82
|
+
echo ""
|
|
83
|
+
|
|
84
|
+
# ============================================================================
|
|
85
|
+
# STEP 2: Install CodeBakers (Silent - no npm output)
|
|
86
|
+
# ============================================================================
|
|
87
|
+
|
|
88
|
+
echo -e "${CYAN} ----------------------------------------------------------------${NC}"
|
|
89
|
+
echo -e "${CYAN} STEP 2: Installing CodeBakers...${NC}"
|
|
90
|
+
echo -e "${CYAN} ----------------------------------------------------------------${NC}"
|
|
91
|
+
echo ""
|
|
92
|
+
|
|
93
|
+
# Silent install - npm handles versioning automatically
|
|
94
|
+
npm install -g codebakers@latest > /dev/null 2>&1
|
|
95
|
+
|
|
96
|
+
if [ $? -ne 0 ]; then
|
|
97
|
+
echo -e " ${YELLOW}[!] Retrying with sudo...${NC}"
|
|
98
|
+
sudo npm install -g codebakers@latest > /dev/null 2>&1
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
echo -e " ${GREEN}[OK] CodeBakers is ready!${NC}"
|
|
102
|
+
echo ""
|
|
103
|
+
|
|
104
|
+
# ============================================================================
|
|
105
|
+
# STEP 3: Choose Editor
|
|
106
|
+
# ============================================================================
|
|
107
|
+
|
|
108
|
+
echo -e "${CYAN} ----------------------------------------------------------------${NC}"
|
|
109
|
+
echo -e "${CYAN} STEP 3: Choose your code editor${NC}"
|
|
110
|
+
echo -e "${CYAN} ----------------------------------------------------------------${NC}"
|
|
111
|
+
echo ""
|
|
112
|
+
|
|
113
|
+
# Detect installed editors
|
|
114
|
+
EDITORS=()
|
|
115
|
+
EDITOR_NAMES=()
|
|
116
|
+
|
|
117
|
+
if command -v cursor &> /dev/null; then
|
|
118
|
+
EDITORS+=("Cursor")
|
|
119
|
+
EDITOR_NAMES+=("Cursor")
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
if command -v code &> /dev/null; then
|
|
123
|
+
EDITORS+=("VS Code")
|
|
124
|
+
EDITOR_NAMES+=("VS Code")
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
if command -v windsurf &> /dev/null; then
|
|
128
|
+
EDITORS+=("Windsurf")
|
|
129
|
+
EDITOR_NAMES+=("Windsurf")
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
if command -v zed &> /dev/null; then
|
|
133
|
+
EDITORS+=("Zed")
|
|
134
|
+
EDITOR_NAMES+=("Zed")
|
|
135
|
+
fi
|
|
136
|
+
|
|
137
|
+
EDITORS+=("Other")
|
|
138
|
+
EDITOR_NAMES+=("Other / I'll do it myself")
|
|
139
|
+
|
|
140
|
+
echo " Select your preferred editor:"
|
|
141
|
+
echo ""
|
|
142
|
+
|
|
143
|
+
for i in "${!EDITOR_NAMES[@]}"; do
|
|
144
|
+
echo " [$((i+1))] ${EDITOR_NAMES[$i]}"
|
|
145
|
+
done
|
|
146
|
+
|
|
147
|
+
echo ""
|
|
148
|
+
read -p " Enter your choice (1-${#EDITORS[@]}): " CHOICE
|
|
149
|
+
|
|
150
|
+
# Default to 1 if empty
|
|
151
|
+
if [ -z "$CHOICE" ]; then
|
|
152
|
+
CHOICE=1
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
# Validate choice
|
|
156
|
+
if [ "$CHOICE" -gt "${#EDITORS[@]}" ] || [ "$CHOICE" -lt 1 ]; then
|
|
157
|
+
CHOICE=${#EDITORS[@]}
|
|
158
|
+
fi
|
|
159
|
+
|
|
160
|
+
SELECTED="${EDITORS[$((CHOICE-1))]}"
|
|
161
|
+
|
|
162
|
+
# ============================================================================
|
|
163
|
+
# FINAL: Show instructions and optionally open editor
|
|
164
|
+
# ============================================================================
|
|
165
|
+
|
|
166
|
+
echo ""
|
|
167
|
+
echo -e "${CYAN} ================================================================${NC}"
|
|
168
|
+
echo ""
|
|
169
|
+
echo -e " ${GREEN}[OK] CodeBakers installed successfully!${NC}"
|
|
170
|
+
echo ""
|
|
171
|
+
echo -e "${CYAN} ================================================================${NC}"
|
|
172
|
+
echo ""
|
|
173
|
+
echo " HERE'S WHAT TO DO NEXT:"
|
|
174
|
+
echo ""
|
|
175
|
+
echo " 1. Open ${SELECTED}"
|
|
176
|
+
echo ""
|
|
177
|
+
echo " 2. Click \"File\" then \"Open Folder\""
|
|
178
|
+
echo " Select ANY folder where you want to build"
|
|
179
|
+
echo " (Example: ~/Projects/my-app)"
|
|
180
|
+
echo ""
|
|
181
|
+
echo " 3. Open the terminal inside your editor"
|
|
182
|
+
echo " Press: Cmd + \` (the key above Tab)"
|
|
183
|
+
echo ""
|
|
184
|
+
echo " 4. Type this command and press Enter:"
|
|
185
|
+
echo ""
|
|
186
|
+
echo " codebakers"
|
|
187
|
+
echo ""
|
|
188
|
+
echo -e "${CYAN} ================================================================${NC}"
|
|
189
|
+
echo ""
|
|
190
|
+
echo " That's it! CodeBakers will guide you from there."
|
|
191
|
+
echo ""
|
|
192
|
+
echo -e "${CYAN} ================================================================${NC}"
|
|
193
|
+
echo ""
|
|
194
|
+
|
|
195
|
+
if [ "$SELECTED" == "Other" ]; then
|
|
196
|
+
read -p " Press Enter to exit..."
|
|
197
|
+
exit 0
|
|
198
|
+
fi
|
|
199
|
+
|
|
200
|
+
read -p " Would you like to open ${SELECTED} now? (Y/n): " OPEN_EDITOR
|
|
201
|
+
|
|
202
|
+
if [ "$OPEN_EDITOR" == "n" ] || [ "$OPEN_EDITOR" == "N" ]; then
|
|
203
|
+
echo ""
|
|
204
|
+
echo " No problem! Open ${SELECTED} whenever you're ready."
|
|
205
|
+
echo ""
|
|
206
|
+
read -p " Press Enter to exit..."
|
|
207
|
+
exit 0
|
|
208
|
+
fi
|
|
209
|
+
|
|
210
|
+
echo ""
|
|
211
|
+
echo " Opening ${SELECTED}..."
|
|
212
|
+
echo ""
|
|
213
|
+
echo " Remember: Open a folder, then open terminal, then type 'codebakers'"
|
|
214
|
+
echo ""
|
|
215
|
+
|
|
216
|
+
case "$SELECTED" in
|
|
217
|
+
"Cursor")
|
|
218
|
+
cursor &
|
|
219
|
+
;;
|
|
220
|
+
"VS Code")
|
|
221
|
+
code &
|
|
222
|
+
;;
|
|
223
|
+
"Windsurf")
|
|
224
|
+
windsurf &
|
|
225
|
+
;;
|
|
226
|
+
"Zed")
|
|
227
|
+
zed &
|
|
228
|
+
;;
|
|
229
|
+
esac
|
|
230
|
+
|
|
231
|
+
echo " This window will close in 10 seconds..."
|
|
232
|
+
sleep 10
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# CodeBakers Installers
|
|
2
|
+
|
|
3
|
+
This folder contains everything needed to build professional installers for Windows and Mac.
|
|
4
|
+
|
|
5
|
+
## Quick Start (No Signing)
|
|
6
|
+
|
|
7
|
+
### Windows
|
|
8
|
+
1. Download [Inno Setup](https://jrsoftware.org/isdl.php)
|
|
9
|
+
2. Open `windows/CodeBakers.iss`
|
|
10
|
+
3. Add your icon to `windows/assets/icon.ico`
|
|
11
|
+
4. Click Build > Compile
|
|
12
|
+
5. Output: `windows/Output/CodeBakers-Setup-X.X.X.exe`
|
|
13
|
+
|
|
14
|
+
### Mac
|
|
15
|
+
1. Open Terminal in `mac/` folder
|
|
16
|
+
2. Run: `chmod +x build-mac-installer.sh && ./build-mac-installer.sh`
|
|
17
|
+
3. Output: `mac/build/CodeBakers-Setup-X.X.X.dmg`
|
|
18
|
+
|
|
19
|
+
⚠️ **Without signing, users will see security warnings.**
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Production Build (With Signing)
|
|
24
|
+
|
|
25
|
+
### Windows Code Signing
|
|
26
|
+
|
|
27
|
+
**Step 1: Get a certificate (~$200-400/year)**
|
|
28
|
+
- [DigiCert](https://www.digicert.com/signing/code-signing-certificates)
|
|
29
|
+
- [Sectigo](https://sectigo.com/ssl-certificates-tls/code-signing)
|
|
30
|
+
- [GlobalSign](https://www.globalsign.com/en/code-signing-certificate)
|
|
31
|
+
|
|
32
|
+
**Step 2: Build the installer**
|
|
33
|
+
```batch
|
|
34
|
+
# Using Inno Setup GUI or command line:
|
|
35
|
+
iscc "windows/CodeBakers.iss"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Step 3: Sign the installer**
|
|
39
|
+
```batch
|
|
40
|
+
signtool sign /f certificate.pfx /p YOUR_PASSWORD /tr http://timestamp.digicert.com /td sha256 "windows/Output/CodeBakers-Setup-2.3.3.exe"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Step 4: Verify signature**
|
|
44
|
+
```batch
|
|
45
|
+
signtool verify /pa "windows/Output/CodeBakers-Setup-2.3.3.exe"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Mac Code Signing & Notarization
|
|
49
|
+
|
|
50
|
+
**Step 1: Get Apple Developer account ($99/year)**
|
|
51
|
+
- Sign up at [developer.apple.com](https://developer.apple.com)
|
|
52
|
+
|
|
53
|
+
**Step 2: Create certificates in Xcode**
|
|
54
|
+
1. Open Xcode > Preferences > Accounts
|
|
55
|
+
2. Select your team > Manage Certificates
|
|
56
|
+
3. Click + > Developer ID Application
|
|
57
|
+
|
|
58
|
+
**Step 3: Create app-specific password**
|
|
59
|
+
1. Go to [appleid.apple.com](https://appleid.apple.com)
|
|
60
|
+
2. Security > App-Specific Passwords > Generate
|
|
61
|
+
|
|
62
|
+
**Step 4: Set environment variables**
|
|
63
|
+
```bash
|
|
64
|
+
export DEVELOPER_ID="Developer ID Application: BotMakers Inc. (XXXXXXXXXX)"
|
|
65
|
+
export APPLE_ID="your@email.com"
|
|
66
|
+
export TEAM_ID="XXXXXXXXXX"
|
|
67
|
+
export APP_PASSWORD="xxxx-xxxx-xxxx-xxxx"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Step 5: Build signed & notarized DMG**
|
|
71
|
+
```bash
|
|
72
|
+
cd mac
|
|
73
|
+
./build-mac-installer.sh
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## File Structure
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
installers/
|
|
82
|
+
├── README.md # This file
|
|
83
|
+
├── CodeBakers-Install.bat # Simple batch installer (Windows)
|
|
84
|
+
├── CodeBakers-Install.command # Simple shell installer (Mac)
|
|
85
|
+
│
|
|
86
|
+
├── windows/
|
|
87
|
+
│ ├── CodeBakers.iss # Inno Setup script
|
|
88
|
+
│ ├── assets/
|
|
89
|
+
│ │ └── icon.ico # Windows icon (you create this)
|
|
90
|
+
│ ├── scripts/
|
|
91
|
+
│ │ └── post-install.bat # Runs after install
|
|
92
|
+
│ └── Output/ # Built installers appear here
|
|
93
|
+
│
|
|
94
|
+
└── mac/
|
|
95
|
+
├── build-mac-installer.sh # Build script
|
|
96
|
+
├── assets/
|
|
97
|
+
│ └── icon.icns # Mac icon (you create this)
|
|
98
|
+
└── build/ # Built installers appear here
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Creating Icons
|
|
104
|
+
|
|
105
|
+
### Windows (icon.ico)
|
|
106
|
+
1. Start with a 256x256 PNG logo
|
|
107
|
+
2. Go to [convertio.co/png-ico](https://convertio.co/png-ico/)
|
|
108
|
+
3. Upload and convert
|
|
109
|
+
4. Save as `windows/assets/icon.ico`
|
|
110
|
+
|
|
111
|
+
### Mac (icon.icns)
|
|
112
|
+
1. Start with a 1024x1024 PNG logo
|
|
113
|
+
2. Go to [cloudconvert.com/png-to-icns](https://cloudconvert.com/png-to-icns)
|
|
114
|
+
3. Upload and convert
|
|
115
|
+
4. Save as `mac/assets/icon.icns`
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Cost Summary
|
|
120
|
+
|
|
121
|
+
| Item | Cost | Required? |
|
|
122
|
+
|------|------|-----------|
|
|
123
|
+
| Inno Setup | Free | Yes (Windows) |
|
|
124
|
+
| Windows Code Signing Cert | $200-400/year | Recommended |
|
|
125
|
+
| Apple Developer Account | $99/year | Recommended |
|
|
126
|
+
|
|
127
|
+
**Without signing:** Users see "Unknown Publisher" / "Cannot verify developer" warnings
|
|
128
|
+
**With signing:** Clean install experience, no warnings
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Distribution
|
|
133
|
+
|
|
134
|
+
### Your Website
|
|
135
|
+
```html
|
|
136
|
+
<a href="/downloads/CodeBakers-Setup-2.3.3.exe">Download for Windows</a>
|
|
137
|
+
<a href="/downloads/CodeBakers-Setup-2.3.3.dmg">Download for Mac</a>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Homebrew (Mac/Linux) - Future
|
|
141
|
+
```ruby
|
|
142
|
+
# Formula for homebrew-core
|
|
143
|
+
class Codebakers < Formula
|
|
144
|
+
desc "AI dev team that follows the rules"
|
|
145
|
+
homepage "https://codebakers.dev"
|
|
146
|
+
url "https://registry.npmjs.org/codebakers/-/codebakers-2.3.3.tgz"
|
|
147
|
+
|
|
148
|
+
depends_on "node"
|
|
149
|
+
|
|
150
|
+
def install
|
|
151
|
+
system "npm", "install", "-g", "codebakers@#{version}"
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Microsoft Store - Future
|
|
157
|
+
Package as MSIX and submit to Microsoft Store for zero-warning installs.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
ICON FILE PLACEHOLDER
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Place your icon.icns file here.
|
|
5
|
+
|
|
6
|
+
Requirements:
|
|
7
|
+
- Format: ICNS (Mac icon format)
|
|
8
|
+
- Sizes: 16x16, 32x32, 128x128, 256x256, 512x512, 1024x1024
|
|
9
|
+
|
|
10
|
+
To create from your logo:
|
|
11
|
+
|
|
12
|
+
Option 1 - Online converter:
|
|
13
|
+
1. Go to https://cloudconvert.com/png-to-icns
|
|
14
|
+
2. Upload your PNG logo (at least 1024x1024)
|
|
15
|
+
3. Download the .icns file
|
|
16
|
+
|
|
17
|
+
Option 2 - Using iconutil (Mac):
|
|
18
|
+
1. Create an iconset folder: mkdir icon.iconset
|
|
19
|
+
2. Add PNGs at different sizes:
|
|
20
|
+
- icon_16x16.png
|
|
21
|
+
- icon_16x16@2x.png (32x32)
|
|
22
|
+
- icon_32x32.png
|
|
23
|
+
- icon_32x32@2x.png (64x64)
|
|
24
|
+
- icon_128x128.png
|
|
25
|
+
- icon_128x128@2x.png (256x256)
|
|
26
|
+
- icon_256x256.png
|
|
27
|
+
- icon_256x256@2x.png (512x512)
|
|
28
|
+
- icon_512x512.png
|
|
29
|
+
- icon_512x512@2x.png (1024x1024)
|
|
30
|
+
3. Run: iconutil -c icns icon.iconset
|
|
31
|
+
4. Move the resulting icon.icns to this folder
|