feat(cli): integrate managed install workflows

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-07-22 19:38:47 +00:00
1 parent 550a0fe29c
commit fb260f0ed7
14 files changed
+757 -12

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
PC_TEST_ROOT="${PC_TEST_ROOT:-$(mktemp -d "${TMPDIR:-/tmp}/paperclip-clean-install-git.XXXXXX")}"
PC_HOME="${PC_HOME:-$PC_TEST_ROOT/home}"
PC_CACHE="${PC_CACHE:-$PC_TEST_ROOT/npm-cache}"
KEEP_TEMP="${KEEP_TEMP:-0}"
cleanup() {
if [ "$KEEP_TEMP" != "1" ]; then
rm -rf "$PC_TEST_ROOT"
fi
}
trap cleanup EXIT
mkdir -p "$PC_HOME" "$PC_CACHE"
echo "REPO_ROOT: $REPO_ROOT"
echo "PC_TEST_ROOT: $PC_TEST_ROOT"
echo "PC_HOME: $PC_HOME"
env \
HOME="$PC_HOME" \
PAPERCLIP_HOME="$PC_HOME/.paperclip" \
npm_config_cache="$PC_CACHE" \
npm_config_userconfig="$PC_HOME/.npmrc" \
PATH="$PC_HOME/.local/bin:$PATH" \
pnpm --dir "$REPO_ROOT" paperclipai install --yes
test -x "$PC_HOME/.local/bin/paperclipai"
test -L "$PC_HOME/.paperclip/cli/current"
test -f "$PC_HOME/.paperclip/cli/install.json"
env HOME="$PC_HOME" PAPERCLIP_HOME="$PC_HOME/.paperclip" PATH="$PC_HOME/.local/bin:$PATH" paperclipai --version
env HOME="$PC_HOME" PAPERCLIP_HOME="$PC_HOME/.paperclip" PATH="$PC_HOME/.local/bin:$PATH" paperclipai doctor \
--config "$PC_TEST_ROOT/missing-config.json" >/dev/null || true
env \
HOME="$PC_HOME" \
PAPERCLIP_HOME="$PC_HOME/.paperclip" \
PATH="$PC_HOME/.local/bin:$PATH" \
pnpm --dir "$REPO_ROOT" paperclipai uninstall
test ! -e "$PC_HOME/.paperclip/cli"
test ! -e "$PC_HOME/.local/bin/paperclipai"
+7 -6
View File
@@ -8,6 +8,7 @@ mkdir -p "$PC_HOME" "$PC_CACHE"
trap 'rm -rf "$PC_TEST_ROOT"' EXIT
export HOME="$PC_HOME"
export PAPERCLIP_HOME="$PC_HOME/.paperclip"
export npm_config_cache="$PC_CACHE"
export npm_config_userconfig="$PC_HOME/.npmrc"
export PATH="$PC_HOME/.local/bin:$PATH"
@@ -16,14 +17,14 @@ cd "$PC_TEST_ROOT"
npx --yes --registry https://registry.npmjs.org paperclipai install
test -x "$PC_HOME/.local/bin/paperclipai"
test -L "$PC_HOME/.paperclip/cli/current"
test -f "$PC_HOME/.paperclip/cli/install.json"
test -L "$PAPERCLIP_HOME/cli/current"
test -f "$PAPERCLIP_HOME/cli/install.json"
paperclipai --version
mkdir -p "$PC_HOME/.paperclip/instances/default"
touch "$PC_HOME/.paperclip/instances/default/user-data-marker"
mkdir -p "$PAPERCLIP_HOME/instances/default"
touch "$PAPERCLIP_HOME/instances/default/user-data-marker"
paperclipai uninstall
test ! -e "$PC_HOME/.paperclip/cli"
test ! -e "$PAPERCLIP_HOME/cli"
test ! -e "$PC_HOME/.local/bin/paperclipai"
test -f "$PC_HOME/.paperclip/instances/default/user-data-marker"
test -f "$PAPERCLIP_HOME/instances/default/user-data-marker"