#!/usr/bin/env sh usage="usage: init " year=${1?$usage} day=${2?$usage} # get directory of this script script=$(readlink -f "$0") script_path=$(dirname "$script") aoc_path=$script_path/$year/$day mkdir --parents $aoc_path # Data directory if [ ! -d $aoc_path/data ]; then mkdir --parents $aoc_path/data for f in "test" "aoc"; do touch "$aoc_path/puzzle.txt" touch "$aoc_path/data/$f.txt" echo "silver: ???\ngold: ???" >"$aoc_path/data/$f.ans" done fi # Python if [ ! -d $aoc_path/python ]; then uv init \ --vcs none \ --name "aoc_$year-$day" \ --no-pin-python \ --no-readme \ --description "advent of code $year-$day" \ "$aoc_path/python" cp "$script_path/template/main.py" "$aoc_path/python/main.py" echo "*" >"$aoc_path/python/.gitignore" fi # Rust if [ ! -d $aoc_path/rust ]; then cargo new \ --vcs none \ --name "aoc_$year-$day" \ "$aoc_path/rust" cp "$script_path/template/main.rs" "$aoc_path/rust/src/main.rs" echo "*" >"$aoc_path/rust/.gitignore" fi