artifact-editor/install.sh

60 lines
1.7 KiB
Bash
Executable File

#!/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