diff --git a/wizard.sh b/wizard.sh index 237f228..0419b28 100755 --- a/wizard.sh +++ b/wizard.sh @@ -12,6 +12,18 @@ source "$WIZARD_DIR/lib/core.sh" source "$WIZARD_DIR/lib/project.sh" source "$WIZARD_DIR/lib/workflow.sh" +# ── Find existing projects base dir ─────────────────────────────────────── +find_projects_dir() { + local candidates=("Projects" "projects" "Project" "project" "Dev" "dev" "Workspace" "workspace" "Code" "code" "src" "Src") + for candidate in "${candidates[@]}"; do + if [[ -d "$HOME/$candidate" ]]; then + echo "$HOME/$candidate" + return + fi + done + echo "$HOME/Projects" +} + # ── Project info ─────────────────────────────────────────────────────────── collect_project_info() { header "Project Details" @@ -19,7 +31,9 @@ collect_project_info() { ask PROJECT_NAME "Project name" "" if [[ -z "$PROJECT_NAME" ]]; then die "Project name is required."; fi - local default_dir="$HOME/projects/$(slugify "$PROJECT_NAME")" + local projects_base + projects_base="$(find_projects_dir)" + local default_dir="$projects_base/$(slugify "$PROJECT_NAME")" ask PROJECT_DIR "Project location" "$default_dir" if [[ -z "$PROJECT_DIR" ]]; then die "Project location is required."; fi PROJECT_DIR="${PROJECT_DIR/#\~/$HOME}"