feat: Adds hpa-create helper script.

This commit is contained in:
2025-11-05 19:56:35 -05:00
parent ba81c53054
commit ba06819221
2 changed files with 43 additions and 13 deletions

View File

@@ -88,8 +88,17 @@ create() {
[[ -z $project ]] && echoerr "Must supply a project name." && exit 1
project_container_name="$(run create --quiet "/consults/$(date '+%Y.%m.%d').$project")"
dir_name="$(basename "$project_container_name")"
echo "$CONSULTS_DIR/$dir_name"
dir_name="$CONSULTS_DIR/$(basename "$project_container_name")"
# Initialize git repo in the project and the initial commit.
pushd "$(echo "$dir_name" | tr -d '\r' | head -1)" &>/dev/null || exit 1
(
git init
git add .
git commit --all --message="Initial commit"
) &>/dev/null
popd &>/dev/null
echo "$dir_name"
}
############################## MAIN ##############################
@@ -101,17 +110,7 @@ if [[ $first_arg == "init" ]]; then
init "$@"
elif [[ $first_arg == "create" ]]; then
shift
dir=$(create "$@")
# Initialize project as a git repo.
pushd "$(echo "$dir" | tr -d '\r' | head -1)" &>/dev/null || exit 1
(
git init
git add .
git commit --all --message="Initial commit"
) >&/dev/null
popd &>/dev/null
# Echo the project directory.
echo "$dir"
echo "$(create "$@")"
else
run "$@"
fi

31
env/.local/scripts/hpa-create vendored Executable file
View File

@@ -0,0 +1,31 @@
#!/usr/bin/env bash
# NB: This wrapper script is required for the spinner to work, otherwise if declared in
# the 'hpa' (container wrapper script) then it doesn't work.
# https://github.com/charmbracelet/gum/issues/419
usage() {
cat <<'EOF'
Create a home performance assesment project directory. This handles creating the project using
the preferred directory name (example '25.11.05.McTestface').
It show's a spinner while the project is being created and supresses all output except for the
generated directory. This allows the command to be called using `cd $(hpa-create McTestface)` to
cd into the directory once it's created and get to work!
USAGE:
$ hpa-create <FLAGS> <CUSTOMER>
FLAGS:
-h | --help: Show this help page.
EOF
}
first_arg=${1:-""}
if [[ $first_arg == "-h" ]] || [[ $first_arg == "--help" ]]; then
usage && exit 0
else
gum spin --show-output --title "Creating project..." -- bash -c "hpa create $*" | tr -d '\r' | head -1
fi