generated from VLADIMIR/template
add юрист
This commit is contained in:
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Устанавливает агента-пресет «Юрист по ПО» в пользовательский корень
|
||||
# пресетов DeepSeek Harness ($DSH_HOME/.agent-presets/software-lawyer).
|
||||
#
|
||||
# Использование:
|
||||
# ./agents/software-lawyer/install.sh # установка (идемпотентно)
|
||||
# ./agents/software-lawyer/install.sh --force # перезаписать существующий пресет
|
||||
#
|
||||
# После установки пресет «Юрист по ПО» появляется в списке агентов при
|
||||
# создании новой сессии (обнаружение пресетов читает каталог при каждом
|
||||
# вызове, перезапуск не требуется).
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SOURCE_DIR="$SCRIPT_DIR"
|
||||
DSH_HOME="${DSH_HOME:-$HOME/.dsh}"
|
||||
TARGET_DIR="$DSH_HOME/.agent-presets/software-lawyer"
|
||||
|
||||
FORCE=0
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--force|-f) FORCE=1 ;;
|
||||
-h|--help)
|
||||
sed -n '2,14p' "$0" | sed 's/^# \{0,1\}//'
|
||||
exit 0
|
||||
;;
|
||||
*) echo "Неизвестный аргумент: $arg" >&2; exit 2 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -d "$TARGET_DIR" && "$FORCE" -ne 1 ]]; then
|
||||
echo "Пресет уже установлен: $TARGET_DIR"
|
||||
echo "Для перезаписи запустите с --force."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mkdir -p "$DSH_HOME/.agent-presets"
|
||||
|
||||
if [[ -d "$TARGET_DIR" ]]; then
|
||||
rm -rf "$TARGET_DIR"
|
||||
fi
|
||||
|
||||
mkdir -p "$TARGET_DIR"
|
||||
# Копируем содержимое пресета, исключая сам скрипт установки.
|
||||
shopt -s dotglob
|
||||
for entry in "$SOURCE_DIR"/*; do
|
||||
[[ "$(basename "$entry")" == "install.sh" ]] && continue
|
||||
cp -R "$entry" "$TARGET_DIR"/
|
||||
done
|
||||
shopt -u dotglob
|
||||
# Пресет-каталоги в DSH создаются с правами владельца (0o700/0o600); копия
|
||||
# наследует umask — приведём к аналогичному виду.
|
||||
chmod -R u+rwX,go-rwx "$TARGET_DIR"
|
||||
|
||||
echo "Установлено: $TARGET_DIR"
|
||||
echo "Пресет «Юрист по ПО» доступен при создании новой сессии."
|
||||
Reference in New Issue
Block a user