#!/usr/bin/env bash set -euo pipefail # mosaic-init — Interactive agent identity, user profile, and tool config generator # # Usage: # mosaic-init # Interactive mode # mosaic-init --name "Jarvis" --style direct # Flag overrides # mosaic-init --name "Jarvis" --role "memory steward" --style direct \ # --accessibility "ADHD-friendly chunking" --guardrails "Never auto-commit" MOSAIC_HOME="${MOSAIC_HOME:-$HOME/.config/mosaic}" SOUL_TEMPLATE="$MOSAIC_HOME/templates/SOUL.md.template" USER_TEMPLATE="$MOSAIC_HOME/templates/USER.md.template" TOOLS_TEMPLATE="$MOSAIC_HOME/templates/TOOLS.md.template" SOUL_OUTPUT="$MOSAIC_HOME/SOUL.md" USER_OUTPUT="$MOSAIC_HOME/USER.md" TOOLS_OUTPUT="$MOSAIC_HOME/TOOLS.md" # Defaults AGENT_NAME="" ROLE_DESCRIPTION="" STYLE="" ACCESSIBILITY="" CUSTOM_GUARDRAILS="" # USER.md defaults USER_NAME="" PRONOUNS="" TIMEZONE="" BACKGROUND="" COMMUNICATION_PREFS="" PERSONAL_BOUNDARIES="" PROJECTS_TABLE="" # TOOLS.md defaults GIT_PROVIDERS_TABLE="" CREDENTIALS_LOCATION="" CUSTOM_TOOLS_SECTION="" usage() { cat < Agent name (e.g., "Jarvis", "Assistant") --role Role description (e.g., "memory steward, execution partner") --style