#!/usr/bin/env bash set -euo pipefail MOSAIC_HOME="${MOSAIC_HOME:-$HOME/.config/mosaic}" TARGET_DIR="$(pwd)" TEMPLATE="" usage() { cat < [--target ] Apply Mosaic quality tools templates into a project. Templates: typescript-node typescript-nextjs monorepo Examples: $(basename "$0") --template typescript-node --target ~/src/my-project $(basename "$0") --template monorepo USAGE } while [[ $# -gt 0 ]]; do case "$1" in --template) TEMPLATE="${2:-}" shift 2 ;; --target) TARGET_DIR="${2:-}" shift 2 ;; -h|--help) usage exit 0 ;; *) echo "Unknown argument: $1" >&2 usage >&2 exit 1 ;; esac done if [[ -z "$TEMPLATE" ]]; then echo "[mosaic-quality] Missing required --template" >&2 usage >&2 exit 1 fi if [[ ! -d "$TARGET_DIR" ]]; then echo "[mosaic-quality] Target directory does not exist: $TARGET_DIR" >&2 exit 1 fi SCRIPT="$MOSAIC_HOME/tools/quality/scripts/install.sh" if [[ ! -x "$SCRIPT" ]]; then echo "[mosaic-quality] Missing install script: $SCRIPT" >&2 exit 1 fi echo "[mosaic-quality] Applying template '$TEMPLATE' to $TARGET_DIR" "$SCRIPT" --template "$TEMPLATE" --target "$TARGET_DIR"