60 lines
1.9 KiB
Bash
Executable File
60 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
KUGETSU_DIR="${KUGETSU_DIR:-$HOME/.kugetsu}"
|
|
BIN_DIR="$KUGETSU_DIR/bin"
|
|
|
|
echo "Installing kugetsu to $KUGETSU_DIR..."
|
|
|
|
mkdir -p "$BIN_DIR"
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
cp "$SCRIPT_DIR/kugetsu" "$BIN_DIR/kugetsu"
|
|
chmod +x "$BIN_DIR/kugetsu"
|
|
|
|
add_to_shell() {
|
|
local rc_file="$1"
|
|
local export_line="export PATH=\"\$HOME/.kugetsu/bin:\$PATH\""
|
|
|
|
if [ -f "$rc_file" ]; then
|
|
if grep -q "$export_line" "$rc_file" 2>/dev/null; then
|
|
echo "$rc_file already has kugetsu in PATH"
|
|
else
|
|
echo "" >> "$rc_file"
|
|
echo "# kugetsu - opencode session manager" >> "$rc_file"
|
|
echo "$export_line" >> "$rc_file"
|
|
echo "Added to $rc_file"
|
|
fi
|
|
else
|
|
echo "" >> "$rc_file"
|
|
echo "# kugetsu - opencode session manager" >> "$rc_file"
|
|
echo "$export_line" >> "$rc_file"
|
|
echo "Created $rc_file with kugetsu PATH"
|
|
fi
|
|
}
|
|
|
|
add_to_shell "$HOME/.bashrc"
|
|
add_to_shell "$HOME/.zshrc"
|
|
|
|
echo ""
|
|
echo "Installation complete!"
|
|
echo ""
|
|
echo "Run this to start using kugetsu immediately:"
|
|
echo " export PATH=\"\$HOME/.kugetsu/bin:\$PATH\""
|
|
echo ""
|
|
echo "Or start a new shell."
|
|
echo ""
|
|
echo "Usage:"
|
|
echo " kugetsu init Initialize base session (requires TTY)"
|
|
echo " kugetsu start <issue-ref> <message> Start task for issue"
|
|
echo " kugetsu continue <issue-ref> [msg] Continue existing task"
|
|
echo " kugetsu list List all sessions"
|
|
echo " kugetsu prune [--force] Remove orphaned sessions"
|
|
echo " kugetsu destroy <issue-ref> [-y] Delete session for issue"
|
|
echo " kugetsu destroy --base [-y] Delete base session"
|
|
echo " kugetsu help Show help"
|
|
echo ""
|
|
echo "Issue ref format: instance/user/repo#number"
|
|
echo "Example: github.com/shoko/kugetsu#14"
|