#!/bin/bash # Install artifact-editor to ~/.local/bin set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" INSTALL_DIR="$HOME/.local/bin" SMARTTOOLS_DIR="$HOME/.smarttools" mkdir -p "$INSTALL_DIR" mkdir -p "$SMARTTOOLS_DIR" # Create wrapper script for artifact-editor GUI cat > "$INSTALL_DIR/artifact-editor" << 'WRAPPER' #!/bin/bash # artifact-editor wrapper - launches PyQt6 artifact editor SCRIPT_DIR="PLACEHOLDER_DIR" export PYTHONPATH="$SCRIPT_DIR/src:$PYTHONPATH" exec python3 -m artifact_editor.cli "$@" WRAPPER # Replace placeholder with actual path sed -i "s|PLACEHOLDER_DIR|$SCRIPT_DIR|g" "$INSTALL_DIR/artifact-editor" chmod +x "$INSTALL_DIR/artifact-editor" # Install SmartTools if [ -d "$SCRIPT_DIR/smarttools" ]; then echo "Installing SmartTools..." for tool in "$SCRIPT_DIR/smarttools"/*/; do tool_name=$(basename "$tool") cp -r "$tool" "$SMARTTOOLS_DIR/" # Create CLI wrapper cat > "$INSTALL_DIR/$tool_name" << WRAPPER #!/bin/bash # SmartTools wrapper for '$tool_name' # Auto-generated exec /usr/bin/python3 -m smarttools.runner $tool_name "\$@" WRAPPER chmod +x "$INSTALL_DIR/$tool_name" echo " Installed: $tool_name" done fi echo "" echo "Installed artifact-editor to $INSTALL_DIR/artifact-editor" echo "" echo "Usage:" echo " artifact-editor diagram.puml # Edit existing file" echo " artifact-editor -o new.puml # Create new file" echo "" echo "SmartTools:" echo " artifact-ai --format plantuml --instruction 'Create a class diagram'" echo " artifact-export --format plantuml --to output.svg" echo "" if [[ ":$PATH:" != *":$INSTALL_DIR:"* ]]; then echo "NOTE: Add $INSTALL_DIR to your PATH:" echo " export PATH=\"\$HOME/.local/bin:\$PATH\"" fi