42 lines
1.0 KiB
Bash
Executable File
42 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SessionStart hook for ArcheFlow plugin.
|
|
# Injects the using-archeflow skill as additional context.
|
|
|
|
PLUGIN_ROOT="$(cd "$(dirname "$0")/.." 2>/dev/null && pwd)" || {
|
|
echo '{}'
|
|
exit 0
|
|
}
|
|
|
|
SKILL_FILE="${PLUGIN_ROOT}/skills/using-archeflow/SKILL.md"
|
|
|
|
if [ ! -f "$SKILL_FILE" ]; then
|
|
echo '{}'
|
|
exit 0
|
|
fi
|
|
|
|
# Strip YAML frontmatter (everything between first two --- lines)
|
|
CONTENT=$(awk 'BEGIN{skip=0} /^---$/{skip++; next} skip>=2{print}' "$SKILL_FILE" 2>/dev/null) || {
|
|
echo '{}'
|
|
exit 0
|
|
}
|
|
|
|
if [ -z "$CONTENT" ]; then
|
|
echo '{}'
|
|
exit 0
|
|
fi
|
|
|
|
# JSON-escape and output
|
|
if command -v node &>/dev/null; then
|
|
node -e '
|
|
const content = require("fs").readFileSync(0, "utf8");
|
|
console.log(JSON.stringify({ hookSpecificOutput: { additionalContext: content } }));
|
|
' <<< "$CONTENT"
|
|
else
|
|
# Portable fallback
|
|
ESCAPED=$(printf '%s' "$CONTENT" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e ':a;N;$!ba;s/\n/\\n/g' 2>/dev/null) || {
|
|
echo '{}'
|
|
exit 0
|
|
}
|
|
printf '{"hookSpecificOutput":{"additionalContext":"%s"}}' "$ESCAPED"
|
|
fi
|