set shell := ["zsh", "-cu"]

python := ".venv/bin/python"
aesop := ".venv/bin/aesop"

# Setup

default:
    @just --list

install:
    python3 -m venv .venv
    {{python}} -m pip install -e .

install-browser:
    {{python}} -m pip install -e ".[browser]"
    {{python}} -m playwright install chromium

setup:
    {{aesop}} setup

dashboard:
    {{aesop}} dashboard

open:
    {{aesop}} open

check:
    {{aesop}} check --json

init:
    {{aesop}} init

ui:
    {{aesop}} ui

# Data Collection, Parsing, and Verification

doctor:
    {{aesop}} doctor --json

dry-run:
    {{aesop}} run --dry-run

collect:
    {{aesop}} run

parse:
    {{aesop}} parse

rebuild-parsed:
    {{aesop}} parse --rebuild

verify:
    {{aesop}} verify

test:
    {{python}} -m unittest discover -s tests -v

# macOS Service

install-service:
    {{aesop}} service install

service-status:
    {{aesop}} service status

run-now:
    {{aesop}} service run-now

uninstall-service:
    {{aesop}} service uninstall

# Desktop and Browser Interfaces

build-web:
    npm --prefix frontend ci
    npm --prefix frontend run build

build-desktop: build-web
    .venv/bin/python scripts/build_desktop.py

install-desktop: build-desktop
    {{aesop}} service install

desktop:
    {{aesop}} desktop

browser:
    {{aesop}} browser

serve:
    {{aesop}} serve

open-warp:
    {{aesop}} open --terminal Warp
