11#! /bin/sh
22# Lattice installer
33# Usage: curl -fsSL https://forkzero.ai/lattice/install.sh | sh
4+ #
5+ # Environment variables:
6+ # INSTALL_DIR Override install location (default: ~/.local/bin)
7+ # VERSION Install a specific version (default: latest)
48
59set -e
610
711REPO=" forkzero/lattice"
8- INSTALL_DIR=" ${INSTALL_DIR:-/ usr/ local/ bin} "
12+
13+ # Default to ~/.local/bin (user-writable, no sudo needed)
14+ if [ -z " $INSTALL_DIR " ]; then
15+ if [ -w " /usr/local/bin" ]; then
16+ INSTALL_DIR=" /usr/local/bin"
17+ else
18+ INSTALL_DIR=" ${HOME} /.local/bin"
19+ fi
20+ fi
921
1022# Detect OS
1123OS=" $( uname -s) "
6577echo " Extracting..."
6678tar -xzf " $ARCHIVE "
6779
80+ # Ensure install directory exists
81+ mkdir -p " $INSTALL_DIR "
82+
6883# Install
6984BINARY_DIR=" lattice-${VERSION} -${TARGET} "
7085if [ -w " $INSTALL_DIR " ]; then
7489 sudo mv " ${BINARY_DIR} /lattice" " $INSTALL_DIR /"
7590fi
7691
92+ # Check if install dir is in PATH
93+ case " :$PATH :" in
94+ * " :${INSTALL_DIR} :" * ) ;;
95+ * )
96+ echo " "
97+ echo " Add ${INSTALL_DIR} to your PATH:"
98+ SHELL_NAME=" $( basename " $SHELL " ) "
99+ case " $SHELL_NAME " in
100+ zsh) echo " echo 'export PATH=\" ${INSTALL_DIR} :\$ PATH\" ' >> ~/.zshrc && source ~/.zshrc" ;;
101+ bash) echo " echo 'export PATH=\" ${INSTALL_DIR} :\$ PATH\" ' >> ~/.bashrc && source ~/.bashrc" ;;
102+ fish) echo " fish_add_path ${INSTALL_DIR} " ;;
103+ * ) echo " export PATH=\" ${INSTALL_DIR} :\$ PATH\" " ;;
104+ esac
105+ echo " "
106+ ;;
107+ esac
108+
77109# Verify
78110if command -v lattice > /dev/null 2>&1 ; then
79111 echo " "
@@ -82,8 +114,9 @@ if command -v lattice > /dev/null 2>&1; then
82114 echo " Get started:"
83115 echo " lattice init # Initialize a lattice"
84116 echo " lattice --help # Show all commands"
117+ echo " lattice help concepts # Learn the domain model"
85118else
86119 echo " "
87120 echo " Installed to ${INSTALL_DIR} /lattice"
88- echo " Add ${INSTALL_DIR} to your PATH if not already present ."
121+ echo " Make sure ${INSTALL_DIR} is in your PATH."
89122fi
0 commit comments