#!/bin/sh set -e APPDIR="/AppDir" OUTDIR="/out" mkdir -p "$APPDIR/usr/bin" "$APPDIR/usr/lib" "$APPDIR/opt/kilocode" "$OUTDIR" cp -a /opt/assets/dark-reader.xpi /tmp/dark-reader.xpi cp -a /opt/assets/ublock_origin.xpi /tmp/ublock_origin.xpi cp -a /build/src "$APPDIR/opt/kilocode/src" mkdir -p "$APPDIR/opt/kilocode/extras/extensions" cp -a /tmp/dark-reader.xpi "$APPDIR/opt/kilocode/extras/extensions/dark-reader.xpi" cp -a /tmp/ublock_origin.xpi "$APPDIR/opt/kilocode/extras/extensions/ublock_origin.xpi" export UV_CACHE_DIR="/opt/uv-cache" export UV_PYTHON_DOWNLOADS=auto export UV_PYTHON_PREFERENCE=managed /opt/uv-bootstrap/bin/uv venv --python 3.14 "$APPDIR/opt/kilocode/.venv" cd /build UV_PROJECT_ENVIRONMENT="$APPDIR/opt/kilocode/.venv" /opt/uv-bootstrap/bin/uv sync --frozen --no-dev mkdir -p "$APPDIR/opt/patchright-browsers" cp -a /opt/patchright-browsers/* "$APPDIR/opt/patchright-browsers/" || true mkdir -p "$APPDIR/opt/google" cp -a /opt/google/chrome "$APPDIR/opt/google/" || { echo "ERROR: Chrome not found at /opt/google/chrome"; exit 1; } if [ -d "/root/.local/share/uv/python" ]; then mkdir -p "$APPDIR/root/.local/share/uv" cp -a /root/.local/share/uv/python "$APPDIR/root/.local/share/uv/" fi cp /build/appimage/AppRun "$APPDIR/AppRun" cp /build/appimage/kilocode.desktop "$APPDIR/kilocode.desktop" cp /build/appimage/kilocode.svg "$APPDIR/kilocode.svg" chmod +x "$APPDIR/AppRun" rm -f "$OUTDIR/megacode.appimage" ARCH=x86_64 /opt/appimagetool.AppImage --appimage-extract-and-run \ "$APPDIR" "$OUTDIR/megacode.appimage" echo "AppImage built at $OUTDIR/megacode.appimage"