-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·94 lines (78 loc) · 2.28 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·94 lines (78 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env bash
# dstack local installer.
# Copies skills, commands, and the knowledge engine into ~/.claude.
# Idempotent: re running it overwrites dstack's own files and touches nothing else.
set -euo pipefail
SRC="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
DEST="${HOME}/.claude"
SKILLS=(
dstack
design-review
design-improve
design-motion
design-system
design-ship
awwwards-animations
animated-component-libraries
apple-design
motion-designer
remotion-best-practices
remotion-render
explainer-video-guide
ffmpeg
)
COMMANDS=(
dstack
design-review
design-improve
design-motion
design-system
design-ship
)
echo "Installing dstack into ${DEST}"
if ! command -v python3 >/dev/null 2>&1; then
echo " ! python3 not found. The knowledge engine needs it." >&2
echo " Skills will install, but queries will fail until python3 is available." >&2
fi
# Engine
mkdir -p "${DEST}/dstack"
rm -rf "${DEST}/dstack/engine"
cp -R "${SRC}/engine" "${DEST}/dstack/engine"
echo " engine -> ${DEST}/dstack/engine"
# Skills
mkdir -p "${DEST}/skills"
for s in "${SKILLS[@]}"; do
if [ ! -d "${SRC}/.claude/skills/${s}" ]; then
echo " ! missing skill: ${s}" >&2
continue
fi
rm -rf "${DEST}/skills/${s}"
cp -R "${SRC}/.claude/skills/${s}" "${DEST}/skills/${s}"
echo " skill -> ${s}"
done
# Commands
mkdir -p "${DEST}/commands"
for c in "${COMMANDS[@]}"; do
cp "${SRC}/.claude/commands/${c}.md" "${DEST}/commands/${c}.md"
echo " command -> /${c}"
done
# Verify the engine actually runs
ENGINE="${DEST}/dstack/engine/dstack.py"
if command -v python3 >/dev/null 2>&1; then
STATIC=$(python3 "${ENGINE}" --categories 2>/dev/null | tail -1)
MOTION=$(python3 "${ENGINE}" --categories --motion 2>/dev/null | tail -1)
STYLES=$(python3 "${ENGINE}" --categories --styles 2>/dev/null | tail -1)
echo
echo "Engine check"
echo " practices ${STATIC}"
echo " motion ${MOTION}"
echo " styles ${STYLES}"
fi
cat <<'EOF'
Done. Start a new Claude Code session, then try:
/dstack route anything design shaped
/design-review audit an interface
/design-motion animation, transitions, video
Query the engine directly:
python3 ~/.claude/dstack/engine/dstack.py "modal feels sluggish" --motion
EOF