#!/bin/sh # Bill test build (v2): installs into ~/.bill and opens the Bill app in your browser. # Bill reads your AI logs on this Mac and nothing is uploaded. If Claude Code is logged in, Bill asks your own # Claude to write each bill's sign-off; that request carries the bill's lines, totals and session titles. set -e BASE="https://whitelabelplay.space/bill/v2" DIR="$HOME/.bill" command -v python3 >/dev/null 2>&1 || { echo "Bill needs Python 3. Run: xcode-select --install and then paste the Bill command again." exit 1 } mkdir -p "$DIR/assets/formats" for f in bill.py app.html assets/bill-render.jpg \ assets/formats/classic.png assets/formats/grocery.png assets/formats/laundry.png assets/formats/annual.png \ assets/formats/ticket.png assets/formats/swiss.png assets/formats/sticker.png; do curl -fsSL "$BASE/$f" -o "$DIR/$f" done if ! python3 -c "import PIL" 2>/dev/null; then echo "Installing Pillow (draws the receipts)…" python3 -m pip install --user --quiet --disable-pip-version-check pillow fi cat > "$DIR/bill" <<'EOF' #!/bin/sh [ $# -eq 0 ] && set -- app exec python3 "$HOME/.bill/bill.py" "$@" EOF chmod +x "$DIR/bill" echo "Bill is installed. Next time, open it with: ~/.bill/bill" exec python3 "$DIR/bill.py" app