remotion_project := "pyetool/resource/remotion/project"

# list all recipes
default:
    @just --list

# install every repo skill into ~/.claude/skills, overwriting existing
skills:
    #!/usr/bin/env bash
    set -euo pipefail
    src="{{justfile_directory()}}/skills"
    dst="$HOME/.claude/skills"
    mkdir -p "$dst"
    for d in "$src"/*/; do
        name="$(basename "$d")"
        rm -rf "$dst/$name"
        cp -R "$src/$name" "$dst/"
        echo "  ✓ $name"
    done
    echo "done → $dst"

# build the wheel and publish to PyPI
upload:
    #!/usr/bin/env bash
    set -euo pipefail
    source dev.env
    export TWINE_PASSWORD
    twine upload --non-interactive -u __token__ "$(uv build 2>&1 | tail -n 1 | gawk '{print $3}')"

# launch Remotion Studio on the shipped project (hot-reload authoring)
studio:
    #!/usr/bin/env bash
    set -euo pipefail
    cd {{remotion_project}}
    [ -d node_modules ] || npm install
    npm run studio

# do the cleaning
clean:
    #!/usr/bin/env bash
    set -euo pipefail
    uv run ruff check --fix
    uv run ruff format