#!/usr/bin/env bash
set -euo pipefail

# Bootstrap docs/governance baseline into a target project directory.
# Usage:
#   ./starter-kit/init-new-project.sh /absolute/path/to/new-project

if [[ $# -ne 1 ]]; then
  echo "Usage: $0 /absolute/path/to/new-project"
  exit 1
fi

TARGET_DIR="$1"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
BASE_DIR="$SCRIPT_DIR/base"

if [[ ! -d "$TARGET_DIR" ]]; then
  echo "Target directory does not exist: $TARGET_DIR"
  exit 1
fi

mkdir -p "$TARGET_DIR/docs"

copy_if_missing() {
  local src="$1"
  local dst="$2"

  if [[ -e "$dst" ]]; then
    echo "Skip existing: $dst"
  else
    cp "$src" "$dst"
    echo "Created: $dst"
  fi
}

# Root-level policy docs
copy_if_missing "$BASE_DIR/CONTRIBUTING.md" "$TARGET_DIR/CONTRIBUTING.md"
copy_if_missing "$BASE_DIR/SECURITY.md" "$TARGET_DIR/SECURITY.md"
copy_if_missing "$BASE_DIR/docs.html" "$TARGET_DIR/docs.html"

# docs/ directory baseline
for f in "$BASE_DIR"/docs/*.md; do
  name="$(basename "$f")"
  copy_if_missing "$f" "$TARGET_DIR/docs/$name"
done

echo

echo "Bootstrap complete."
echo "Next steps:"
echo "1) Open docs.html in your new project"
echo "2) Update docs/REQUIREMENTS.md for project-specific scope"
echo "3) Keep CONTRIBUTING.md and SECURITY.md at project root for tooling discovery"
